Why Smalltalk Failed to Dominate the World
Quite simply, unfortunate historical happenstance.
In the 1990s, Smalltalk was poised to become a dominant programming language for the enterprise, thanks to IBM. Its VisualAge Smalltalk was a major strategic play for the company. Unfortunately, Java arose in 1995. Sun Microsystems made it free. IBM saw it as a huge threat and allowed itself to be faked out. It switched from Smalltalk to Java and a vital opportunity was lost.
Then there were the political shenanigans from the major Smalltalk vendors of the day. They simply couldn’t get their act together and work to unite the Smalltalk industry. The merger of ParcPlace and Digitalk proved disastrous. They also underestimated the importance of the nascent Internet and did not take it into account.
Smalltalk also predated the Open Source movement. Loosely translated, that means in the early days, there was no free Smalltalk and commercial Smalltalk products were far too expensive. Of course, today we do have free Smalltalk…Squeak, Pharo, Amber, GNU Smalltalk, and very recently, Dolphin Smalltalk. All thanks to Open Source. The historical timing, however, was a bit off.
Also, it must be noted that in the early 1990s, affordable computer hardware was not up to the task of running Smalltalk well. Today, there is no performance issue, as Smalltalk will run well in just about any hardware environment, including mobile. In fact, I write mobile apps for Android and iOS.
Today, there is no real obstacle to using Smalltalk, except for ignorance. That’s why I advocated for Smalltalk last year. Modern Smalltalk is fresh and exciting, unencumbered by the crap surrounding language theory and the pursuit of every shiny new feature that comes along. It shares the same principle with other modern languages such as Go and Clojure and Groovy, that of being simple and pragmatic. (Read about Go in The Little Language That Could.)
This is an extension of a conversation begun at “It is only for the vicissitudes of history that Smalltalk failed to gain prominence today (but this is a whole other topic for another day).”