Smalltalk – The Language

Smalltalk – The Language

Smalltalk is a general-purpose, object-oriented, programming language. Objects are entities consisting of data (numbers, strings, collections, and programmer-defined classes of objects) that are encapsulated by the methods (i.e., functions) defined by the class of the object. No other objects can affect its encapsulated data unless the class provides accessor methods for that data. This description is abstract, but Smalltalk code written according to “best practices” is reliable and easily maintained. Of course, it can be badly written, too, as I have seen during my career as a Smalltalk programmer.

Smalltalk is supported by an Interactive Development Environment (IDE) with frameworks for developing graphical user interfaces, dynamic coding and debugging, reflection, refactoring, unit testing, garbage collection, working with external files and databases, and much more. In fact, most of these programming tools were initially developed in Smalltalk. Further, Smalltalk runs on a virtual machine so that Smalltalk programs are portable to other hardware platforms.

One of the key benefits of Smalltalk is that Smalltalk programs are easily modified (when carefully written) to meet changing business requirements. Does your accounting system often need to be changed because, for example, union contracts change? Does your hedge fund need to change how it calculates derivatives? Smalltalk makes those changes easier and faster.

Wikipedia has a comprehensive article on Smalltalk’s history and features. Cincom Smalltalk, Inc.—the largest vendor of commercial Smalltalk products—has several Smalltalk tutorials on YouTube and supports a library of Smalltalk resources. It also has a Personal Use License, so you can test drive Smalltalk. There are numerous other providers of Smalltalk.

Warning, once you start programming in Smalltalk, you may never want to go back to other languages. That’s what happened to me!

Questions

In addition to its Interactive Development Environment (IDE), why isn’t there a scripting version of Smalltalk (à la JavaScript) that can run on Personal Computers? And why not a compiled version of Smalltalk (à la Java) that can run on mainframe computers and servers?

Share this post

Comments (2)

  • Lois Demers Reply

    Hey man, you’ve been retired from Smalltalk programming for more than 20 years. What’s with your obsession with a programming language?

    November 10, 2022 at 5:57 pm
    • Lois Demers Reply

      At least you’re not spending money on it!!

      November 10, 2022 at 5:58 pm

Leave a Reply

Your email address will not be published. Required fields are marked *