The August 1978 issue of BYTE magazine had a language feature that included a small picture of the "Land Of Small Talk," perched on a tower amid Fortran Ocean, to the south of Pascal's Triangle, North of Lisp Jungle, and East of the Basic Sea. The following text, associated with a description of the language, uncannily describes the state of Smalltalk both past and present.
"Traveling upward through heavy seas, we come to pinnacle, a snow white island rising like an ivory tower out of the surrounding shark infested waters. Here we find the fantastic kingdom of Smalltalk, where great and magical things happen. But alas...the craggy aloofness of the kingdom of Smalltalk keeps it out of the mainstream of things."
Carl Helmers, BYTE Magazine, August 1978.
At the recent Smalltalk Solutions Conference, Georg Heeg organized a talk around what he termed "The Smalltalk Paradox," as enumerated in the quotation above. Nostalgic as always for the full-force return of Smalltalk to the fore of modern object-oriented software development, I listened attentively.
He began with a short history of the language. Object-oriented theories such as encapsulation and dynamic dispatch first came to the fore in 1976, which coincided with the first modern implementation of Smalltalk Smalltalk-76. A series of 11 articles about Smalltalk were published in BYTE in 1981.
However, it was the landmark publication of Smalltalk-80: The Language and its Implementation by Adele Goldberg and David Robson in 1983 and the subsequent release of the Digitalk graphical Smalltalk environment in the same year that heralded the beginning of an illustrious history of mainstream Smalltalk development. The ParcPlace, VisualAge, and Dolphin implementations followed on in 1988, 1994, and 1996, respectively. For perspective, the first two editions of the Kernighan and Ritchie bible The C Programming Language, appeared in 1978 and 1988.
Heeg described what he considers the three main time periods of Smalltalk in industry:
- 1990-1995, "Small Hype I"; Many successful projects are started in Banks, Insurance, Car manufacturing, Chip Manufacturing, Railways. Most are very complex systems requiring an expressive and dynamic language.
- 1996-2002, "Slow down." Java Pops up with a promise of modernization and less "craggy aloofness" providing a syntax to which a majority of developers could easily transition. During this time frame, many Java and Smalltalk projects are successfully deployed. Numerous Smalltalk-to-Java migrations fail.
- 2002-present, "Second Spring"; new customers adopt Smalltalk; enthusiasts reappear; large corporations detect Smalltalk as a potential solution for stagnating projects.
Though I can't confirm the resurgence, I can attest to the timing and content of the first two periods (I concede that my relative distance from the community over the last seven years or so may be the reason). Still, I've yet to detect an appetite for Smalltalk from any of our company's customer requests, most of whom have standardized on Java for the enterprise.