Ruby is not as "pure" as Smalltalk. I'm far from an expert, but Ruby strikes me as a language made by someone who said, "Wow, Smalltalk is cool. So simple. Look, even loops and branches are done with objects. Ew. Let's make a Smalltalk where the loops and branches are done the usual way. Also, let's drop the image concept."
I think the image concept could be improved on, but as far as making traditional loops you add both the complexity and rob yourself of a new way of thinking, which is really where Smalltalk excels.
As for the ascendancy of C# and Java over Smalltalk, this was entirely commercial (and to a degree, condescending). Someone willing to pour a few billion into Smalltalk could easily make it a competitor against those langauges. I know Sun dissected Smalltalk pretty thoroughly prior to inventing Java, but why not make it look like C++ so as not to threaten "the masses"? Same with C# which is, in fact, Delphi in C-style dressing.
They could've used Smalltalk. Hell, they could've used the P-code system. But Sun and MS wanted control. For better or worse.
Perhaps more interesting, and the reason I keep coming back to Smalltalk, is that what was envisioned for it in the beginning still hasn't been reached. Computer languages rise and fall with the ephemeralities of the business world, and Smalltalk chugs along....
squeak-dev@lists.squeakfoundation.org