I’ve often referred to Smalltalk as the ‘Latin’ of modern OO languages. Most owe a tremendous debt to Smalltalk but the language itself has been relegated to a small niche of technology elites for several years now.
Here a simply equation. In terms of mental fortitude…
1 Smalltalk developer = 2.5 C++ developers
1 C++ Developer = 1.5 Java developers
in other words…
Smalltalk is a meal with a fine Bordeaux and a petite filet mignon
Java is a meal with a cold beer and t-bone
So Yeah.. I said it. Smalltalk is making a comeback.
(pausing to wait for reader to regain consciousness)
There are few reasons for this but a couple come immediately to mind…
Smalltalk was ahead of its time — not only in developer skills and techniques but also in hardware support. Many early Smalltalk systems simply didn’t scale well. Today Moore’s law has fixed the hardware issue and developers have (in general) finally gotten their heads around OO concepts.
Smalltalk tools and platforms had a heavy lock-in factor. Lock-in related to tools and technology supporting the Smalltalk language pushed many towards things like C++ and eventually Java. Today open source Smalltalk projects have significantly reduced the perspective and reality of Smalltalk vendor lock-in.
It’s been said that a “rising tide lifts all ships”. I can see this clearly in the relationship between Smalltalk and hot topic languages such as Ruby and Python (to some degree PHP here as well). The significant growth that we see among these languages is also causing a few to take a second look at Smalltalk as well.
Its somewhat funny to consider that a new generation of developers (post C++) consider the features in Ruby to be bleeding edge when in fact they are mostly retro features of things that Smalltalk has done for decades. The challenge of course is that languages like Python and Ruby have the heat needed to create a strong momentum. Smalltalk enjoys the benefit of association but not enough to transfer that heat in large volume — at least not yet.
So I’m not suggesting that we are going to see a massive renaissance in Smalltalk use in the near future. Today I still have a hard time recommending most mainstream IT organizations invest heavily in new strategic initiatives with Smalltalk. However I *am* seeing an up tick in the role that Smalltalk is having among certain communities of developers.
There is a chicken and egg problem here no doubt. But as an analyst I have to balance the “what is happening” with the what “should happen”. Yes its a fine line.
Put it this way. I see *enough* momentum in the small spark of the developer universe that is the Smalltalk niche to suggest that we might see some smoke and maybe even a small flame in the near future.
1) If you have investments in Smalltalk consider the risk of the language to be lower over the next 3 years than the last 3 years. Smalltalk is cool again. Is it the start of a long term trend or a fad? Yet to been seen.
2) If you are BIG fan of dynamics languages (closures, meta programming, and all that cool stuff) then consider giving Smalltalk a look. You might like what you see. Its like Ruby but with bigger muscles. You think Rails is cool? Check out seaside.
In the end we’ll see a up tick in Smalltalk momentum over the next few years. I’m not entirely sure it will be enough to change the long term trend of a declining developer base but I does my heart good to see a “members only” jacket come back into style nonetheless.