Channels ▼


Smalltalk: Requiem or Resurgence?

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.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.