strong/weak typing and pointers

Steven Bethard steven.bethard at gmail.com
Thu Nov 4 11:55:48 EST 2004


Alex Martelli <aleaxit <at> yahoo.com> writes:
> 
> Suppose for example that you would like your OS to be able to load
> executable code from disk into memory and execute it.  Suppose you would
> like it to be able to read some configuration parameters from disk and
> set its own internal data structures accordingly.  At one level, as it
> goes to disk or comes back from there, you have arrays of bytes.  But in
> memory, you want functions that can be called appropriately (a device
> driver residing in a module) or data structures which, differently from
> an array of byte, DO have structure -- for example, a partition table
> for a disk, with information to specific filesystem drivers as to what
> partition is to be treated in what way.

I'm sorry, I guess I still don't understand this example.  It sounds like you're
just going between untyped (array of bytes) and typed (functions, data
structures, etc.)  I'm not seeing how you're, for example, casting a function to
a data structure, or a data structure of one type to a data structure of another
type.

Anything can (and sometimes should) be treated just as an array of bytes, in an
analogous method to how in an OO language with a base class Object, sometimes
it's appropriate to treat a given instance of a class as an Object, rather than
it's particular subclass of Object.  I wouldn't consider treating function, data
structures, etc. as arrays of bytes (or vice versa) as something that takes
advantage of "weak-typing", but rather something that takes advantage of the
ability to treat data as untyped.

Hopefully this clarified my confusion and when you get a chance, you can try to
explain it to me again?  Thanks,

Steve




More information about the Python-list mailing list