I’m pleased to report that this year’s OOPSLA will include several tutorials with a Smalltalk theme. First is “Back to the Future: Programming in Smalltalk,” tentatively scheduled for Monday morning, October 26, 2009 (the official schedule is not yet available, but you can get more information on the conference at http://www.oopsla.org/oopsla2009/). 

If you’ve been hanging around OOPSLA for a while you’ve probably heard some curmudgeon respond to a “new” idea with, “we had that in Lisp 50 years ago” or “we had that in Smalltalk 30 years ago.” Truth be told, there are a number of elegant ideas that were generally regarded as impractical when they were introduced decades ago, but have become popular over time. These include a GUI, automatic garbage collection, dynamic (“duck”) typing, and (especially) Object Oriented Programming. 

Alan Kay coined the term “object-oriented” and gave us a language (Smalltalk) that is still extremely influential on subsequent languages (for example, Ruby has been described as “Smalltalk with a Perl syntax”). Yet, Smalltalk is “different” in a number of respects:

  • All values are objects, even integers, booleans, and characters (no boxing/unboxing);
  • Classes and methods are objects (supporting reflection);
  • The language has only five reserved words;
  • All control flow (looping and conditional branching) is done through message sends;
  • Programming is done by sending messages to existing objects; and
  • The base class library can be modified.

Come learn more! The tutorial exercises can be done on a variety of Smalltalks, including a free open source one.