Thursday, November 20, 2003
squeak

Ian Bicking talks a bit about Squeak and Morphic.

I have to say that my experience echoes his. Squeak is a lot of fun to play with, but when it comes to taking your idea to the next level and putting it in a form that the rest of the world can play with, it falls short. If your entire environment is Squeak, you're fine. But as soon as you want to cross the boundary into the rest of the world in your computer, it starts to get very frustrating. I'm not talking about using OS services like networking and files, one of my personal frustrations is that Squeak's UI is its own. It doesn't even attempt to use native stuff. I suspect that Ian and I are talking about different issues here, but he never really clarifies what he means when he says that he "found it extremely difficult to achieve that last 5% of the development process -- great for making toys, but hard to make real tools."

I guess my frustration with Squeak goes beyond its lack of native widgets. It's more of the Squeak attitude. Anyone who has read my stuff here for a length of time knows that I hold Smalltalk in high regard. It's my touchstone for programming languages and environments. (Side note -- Squeak is one of the few direct descendants of Smalltalk-80, even closer than the Parcplace Smalltalks that came out in the 80's and 90's) But Smalltalk-80 wants to be it's own universe. Smalltalk works best when talking to Smalltalk. Smalltalk imposes an entire environment on you if you want to play with it. Running Smalltalk without a GUI is possible, but it just doesn't feel right, whereas with Python (and Perl and Java and pretty much all other common programming languages and libraries) operates just fine without imposing a particular GUI or even a GUI at all.

I'm not doing a good job of explaining this. I guess what I'm saying is that Smalltalk requires more of a commitment to its way of doing things than other languages. That could also be why it inspires such fervor in its disciples.

If anything, Smalltalk serves as a source of inspiration. It leaves you with a glimpse of what is possible, if you just lived in a different world for a while. It makes you want to expand that world to be all-encompassing. It makes you WANT to be a zealot.

It certainly drives me to bring some of that ability to Python, or at least to tools that make developing Python code a similar experience.

I should add Ian to my side links -- I read his stuff enough.

9:07:23 AM    comments ()  trackback []