Andreas Raab wrote: > [Stuff] Expanding on my previous reply.
The Squeak team may find this project of casual this experiment I started a couple months ago: http://sourceforge.net/projects/patapata It is an experiment in bringing some Squeak (and Self) related ideas to the Python framework in a Pythonic way. For example, you will see here a little sketch of a microworld where you plant dandelions, http://svn.sourceforge.net/viewcvs.cgi/patapata/trunk/PataPata/WorldDandelionGardenTK.py?view=markup and the thing of interest is how the code is separate from the rest of the system so only a 4K file (though images are left out) and that world can be edited by the end user, either textually or using an interactive environment. Now granted, Squeak has its own approach towards modules and change streams etc., but I guess I'm trying to say that this is an example of what is possible. A key thing here is that that file was written out from the "PataPata" system directly, so living objects were converted to this textual form as a valid Python program, and they are read back in (using Python itself) and made to breathe again, and not stored in binary format like a Squeak image. Note -- this is more than saving code -- the objects state is saved in a human editable form too. And, while I haven't done it yet, that approach should easily work with Jython and Swing, as so would allow one to deliver either a Java applet or a Java web start application with full open-ended live editing of the application by the end user. Interesting to see Alan Kay and other Squeakers taking an interest in Python. Coming from a Smalltalk background before Python, and no offense to Guido, I feel that Smalltalk still has a better syntax IMHO for making clear readable programs once so you learn to read it; while I prefer Python's indentation to blocks, Smalltalk's keywords are more descriptive than parenthetical functions with arbitrary parameters. Smalltalk and Self have solved many difficult problems in various versions languages like Python are just starting to think about (i.e. generational garbage collection). Many inconveniences in Python (e.g. iteration) required language level changes to improve whereas in Smalltalk they would just be library level changes because of the block syntax. And the tools generally available in any Smalltalk (e.g. the browser, inspector, etc.) make managing a complex program far easier than what is usually used in Python (a text editor, though maybe with some navigation support). I still can't easily change programs while they are running in Python in a systematic way, or modify running code and restart it in a debugger that is commonly available. And I preferred many aspect of the underlying technology (such as identical cross-platform behavior) to Python. And, these are all frustrations any Squeakers will have approaching Python. :-) I've tried to address some of them somewhat in my experiment referenced above. But Python wins in a few areas that turn out to also be very important. It has a clearer license history, and because of a different syntax, it has less issues of copyright-related "contamination" from contributors exposed to a commercial version like Smalltalk has. In no small part due to Guido's technical and project management skills, the internal complexity of the base Python implementation has been managed well versus Squeak is still wrestling with that years later. A big user community has grown up around Python from the similarity to Algol-style or C-style languages (with Occam style indentation and some Lisp-like features as enhancements). Also, the Python module approach from the start has led to a different tone to the user community in that regard, and I think it is a better one, and similarly the transport of modules as typically-editable text form has made them more accessible to managing across versions (I'm not doing this last point justice; I know Squeak has tools, etc.). In the end, I personally moved away from the Squeak community mainly because I thought the licensing issue made it problematical how much investment I wanted to make in fixing the unmanaged internal complexity problems of Squeak. I thought the user community was fine though, and actually more suited to education in some way than Python. Python has also had the advantage (to me) of being useful for both commercial work and educational work, something Smalltalk also has had (e.g. using VisualWorks has made me a lot of money), but not really Squeak. Anyway, having written a Smalltalk-like parser in Python, I also don't think it will be that hard to eventually get Smalltalk syntax on top of Python, although that is never going to be that popular an option for a lot of people using Python any time soon, for good or bad. So anyway, once again, welcome onboard edusig and I'll be curious where this all leads. --Paul Fernhout _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
