Ian Bicking: the old part of his blog


You shouldn't start language arguments if you don't want to get essays from me ;-)

I think the main point why you didn't get a "Smalltalks flaws isn't X, it's Y". Smalltalk isn't that flawed in large scale. Sure, there are some smaller problems in the language itself (for example the missing operator precedence - but then, you get used to that, in the same way you get used to significant whitespace in Python or big loads of braces in Perl). It's quite a complete language whose implementations usually carray around quite a complete environment with most tools a programmer will need. They have some centuries of experience in building development environments, not like the make-compile-link-debug-segfault programmers with their centuries of not-development-environments ;-)

The reason why Smalltalk didn't take off in larger scale? Timing. Marketing. Mostly the same reasons as there are for the acceptance problems of Lisp. Ok, one special Lisp problem is missing: the "teached-to-death" symptom. Don't know how many people got driven away from Lisp or Scheme just because stupid courses at their university. :-(

Smalltalk had it's high time in the 90s. Then came Java and people jumped that language after failing with C++. Had there been better marketing for Smalltalk, I am sure that it would have taken over then. But the market wasn't reacting to the opportunities. There was a very interesting discussion in the Smalltalk panel at OOP in 98 or so - when the guy who wrote Smalltalk/X talked to the panel and explicitely accused them (the panel was boarded with people from the Smalltalk companies and from Universities) of making Smalltalk bad with their way to do stuff, especially with their closed-shop-mentality. Not enough public visibility. Cincom does the right thing: giving their environment away for free (as in beer) to allow programmers to play with it. Back then there were only very few freely available Smalltalk versions around: Smalltalk/X (a commandline compiler for Smalltalk to C), Squeak (in a much simpler version than today) and GNU Smalltalk (commandline interpreter). The rest (Tiny Smalltalk and lot's of other projects) were mostly toy implementations or specialized university projects. Yes, I know, Self was already there, but Self is it's own category, even if it shares a lot with Smalltalk.

So I think it's not the language fault that it didn't take off in larger scale. It's mostly a problem of people. As allways ...
Comment on What does "ahead of your time" mean?
by Georg Bauer