The Smalltalk Programming Language

Smalltalk is one of the greatest programming languages ever created. It was the first language to popularize object-oriented programming, the most widely used paradigm in the software industry. It pioneered many of the software innovations that we enjoy today, including the language virtual machine, JIT compilation, the modern IDE (integrated development environment), the MVC architectural pattern (model-view-controller), TDD (test-driven development), GUI (graphical user interface) and WYSIWYG (what you see is what you get).

Smalltalk broke onto the world stage with the August 1981 cover of BYTE magazine:

August 1981 BYTE cover

It subsequently inspired a great number of object-oriented languages, including Objective-C (used for Apple programming), Ruby, Java, PHP, Perl, Python, Groovy, Scala, Dart, and so on.

Alan Kay wrote the seminal document for Smalltalk, The Early History of Smalltalk.

Dan Ingalls, one of Smalltalk’s originators, wrote an excellent piece on “The Evolution of Smalltalk”:

Learning resources for Smalltalk can be found here.

Smalltalk’s Heyday

Smalltalk’s adoption reached its zenith in the 1990s. IBM chose Smalltalk as the centrepiece of their VisualAge enterprise initiative in 1993:

According to a 1995 IDC report, Smalltalk had the second largest object-oriented market share in the world:

  1. C++ — 71.3%
  2. Smalltalk — 15.1%
  3. Objective-C — 5.7%
  4. Object Pascal — 4.2%
  5. CLOS — 2.5%
  6. Eiffel — 1.1%
  7. Others — 0.2%

Smalltalk was overshadowed by C++ (1985) but it was far ahead of Objective-C (1984) and Object Pascal (1986).

Here’s a 1995 Computerworld article that highlighted the battle between C++ and Smalltalk:

That same year, Sun Microsystems released Java and it began to displace Smalltalk because Java was: a) free; b) web-ready; c) well-marketed. A year later, open source Squeak was released (along with Aida/Web), but by then it was too late. (In 2002, Seaside was released and eventually became the premier web framework for Smalltalk.)

What are Smalltalk’s special qualities?

First, Smalltalk is supremely simple and easy to learn. Its entire syntax fits on a post card!

You can actually learn the complete syntax within 15 minutes: Learn Smalltalk with Prof Stef.

Second, Smalltalk is the purest of object-oriented languages. Alan Kay created Smalltalk to be endlessly scalable and extensible; he called Smalltalk a “software internet.”

Third, Smalltalk is the most productive programming language in the world, thanks to its powerful live coding environment. It is common to write a Smalltalk application in a fraction of the time it would take in other languages such as Python, JavaScript, and Java.

Fourth, Smalltalk has a powerful metaprogramming capability on equal footing with Lisp’s. The difference is that Smalltalk’s capability is much easier to use.

Published by smalltalkrenaissance

A non-profit advocacy organization whose mission is to promote and popularize Smalltalk.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create your website with WordPress.com
Get started
%d bloggers like this: