Python vs. Io

Daniel Ehrenberg LittleDanEhren at
Sun Feb 1 20:26:44 CET 2004

> I've always presumed that if I wanted an ultra-pure OO language I would 
> use Smalltalk. Obviously IO's big difference is prototype rather than 
> class-based inheritance. But that's a difference, not (necessarily) a 
> benefit. Could you please describe what would attract one to IO over 
> Smalltalk?
>   Paul Prescod

In short, Io isn't as "ultra-pure" as Smalltalk. Here are some things
that Io supports and Smalltalk doesn't:
*Standard operator precedence
*Normal function syntax
*Standalone functions
*Everything is public (like Python)
*Interpreted and no monolithic system image like Smalltalk
*Better block syntax (no cryptic square brackets or variable symbols)
*Prototypes (which *is* a benefit, not just a difference)
*Not obsessively object oriented (for stuff like flow control)
*Growing, not shrinking community
*Inplace mathematical operations
*Much smaller implimentation and good for embedding
*More flexible for syntax extension
*Everything is anonymous (yet there is still some introspection for
*Functions are first class objects, not merely messages
*The ability to change what it inherets from
*More flexible scoping
*Writing self can be left out when sending messages to the current
*Speed on par with Python
*Optionally non-strict functions (but usually strict anyway)

Note that Python lacks some of these things too.

Daniel Ehrenberg

More information about the Python-list mailing list