Smalltalk and Python

Chris Ryland cpr at
Wed Dec 13 08:03:27 CET 2000


Overall, good show! Some questions/observations.

"Russell E. Owen" <owen at> wrote in message
news:915qlh$89fa$1 at
> [...]
> On the other hand, it is not as powerful, clean and regular as
> smalltalk. Limitations include:
> - The language is somewhat cluttered and irregular because it has
> procedures, functions and methods. Hence arbitrary decisions had to be
> made in some areas as to how to implement things, which can lead to some
> hunting through the manuals.

But, as we all know, languages that give you an "on ramp" from other more
familiar paradigms often succeed against "more clean/powerful" languages.
(E.g., Java was an easy "reach" for many C++ programmers.)

I.e., Smalltalk's fierce O-O cleanliness may work against it for general
acceptance. (That, and the fact that every Smalltalk vendor in the world
(all 2 of them ;-) fell down and played dead at the first appearance of the
(apparent) Java juggernaut.)

Python's familar procedures and functions make it easier for newbies, and
they're a very small step from methods ("just put them in a class, and add a
self parameter").

> [...]
> - Collection classes are good, but no match for Smalltalk. (But then
> what language comes close to ST in this area?). It does have
> dictionaries and lists, both of which are great. But that's about it. It
> also has "tuple", a minor and annoying (to me) variant of a list that is
> immutable (more or less) and so can be used as a key in dictionaries.

But surely someone could add all the ST collection classes to Python, or is
it that without blocks, they wouldn't be nearly as powerful?

> [...]
> - Rather ugly implementation of "package" (multi-file modules). This is
> one of the few areas where I find the implementation to be ugly and
> hastily done; generally it's a very clean language.
> - Like most languages, it uses text files to contain sets of code. I
> really miss Smalltalk's more integrated approach.

Or, rather, maybe this is one of the most tasteful choices in a language
implementation whose code objects must live in a traditional file system.
(See "on ramp" argument above.)

But I've often mused that it would be lovely to see a ST-like development
environment for Python (Zope, other than the fact that it has a very clunky
UI, comes close).
Chris Ryland, President * Em Software, Inc. *

More information about the Python-list mailing list