Jabbering with someone about “turtles all the way down,” I came across Avi Bryant’s blog entry on language implementations. Acknowledging someone else’s comment that Ruby and Python are at approximately the same level, he asserts that Smalltalk is a level up, because it’s mostly written in Smalltalk.
“Who cares?” I started, but once he went into discussion of tools, I got it. My Smalltalk work is (unfortunately) limited to about 20 months in 1997-98, but it was a singular experience. Among other things, it was the first time I could surf the implementation of my own environment, learning about things like thread schedulers, and finding bugs in the CORBA implementation (David Bell, I miss those days).
Avi appears to work at cincom which I’ve just learned is where ParcPlace-Digitalk Smalltalk ended up. I imagine him (based on 10 minutes surfing his blog; I’m feeling reckless today) to be a wistful Smalltalk guru, and he’s probably right to be: Smalltalk strangely never made it the way it maybe should have. A quick surf for the old products I used (VisualWorks, ENVY, DST, GemStone) is a bumpy ride over a lot of web rubble.
[ed. 2005.03.29: Avi is neither chez cincom nor wistful]
Avi closes:
But really what I’m talking about is a philosophical difference, not a technical one: to Smalltalkers, it’s essential that as much of a system as possible be implemented in Smalltalk, whereas this simply isn’t a priority for the scripting language community, and it’s the priorities rather than the individual implementations that draw me to Smalltalk.
There are currently three comments on that post: Ruby in Ruby is coming, Python in Python is coming, and the current, C-heavy implementations of these languages are already dead slow according to a set of OO benchmarks showing 70X compared to Smalltalk–itself only 3X the benchmark leader C#.NET.