Smalltalk Dynabook
Smalltalk was created in the early seventies by the Learning Research Group at the Xerox Palo Alto Research Center (Parc).  Smalltalk was designed and created as part of the "Dynabook" project, a vision for an inexpensive notebook-sized personal computer.  The team at Xerox Parc led by Alan Kay included Dan Ingalls, Adele Goldberg, Ted Kaehler, Scott Wallace, and others.  Kay had a grand vision that the Dynabooks would bring computers within everybody's reach and that it would actually replace books, a vision which has proven to be far ahead of it's time.  From a computer hardware point of view, back in 1968, the desktop or personal computer hadn't been popularized yet and laptops, e-books or slates did not even exist.  The Dynabook was designed to have a flat touch-screen touch screen, which only just now, 40 years later, with devices like the Apple iPad and HP Slate is really starting to emerge.  From a software point of view users with limited programming skills would need to be able to interact and customize their system, and this is how Smalltalk transpired.


In an attempt for non-technical people to be able to manage their own Smalltalk system, the whole system was designed using small building blocks called objects.  Smalltalk also introduced the now widely used term "Object Oriented Programming".  Smalltalk could

Smalltalk IDE
probably also have coined it "Message Oriented Programming" because the functionality of the whole system is based around messages being sent between objects.  The object receiving the message would know what to do as objects were built around the now very common concepts of encapsulation and inheritance.  Smalltalk is also known to have innovated the graphical user interface with overlapping windows and popularized the use of a computer mouse.  To interact with the system, Smalltalk also introduced the integrated development environment or IDE.  Apple computers - among others - had a very strong interest in Smalltalk. In the early eighties a number of the original members of the Learning Research Group joined Apple to design what eventually became the Apple MacIntosh microcomputers . Many of the Smalltalk ideas therefore appeared in the MacIntosh user interface which in turn later made it to Mircosoft's Windows operating system.


The Smalltalk software system can be divided into two major parts, the Virtual Machine and the Virtual Image.  The Virtual Machine (VM) is the machine dependent part whereas the Virtual Image contains a collection of all the objects of the entire Smalltalk system.  Most programming systems separate the program code from the program state, in which case the program logic is written and stored in text files and the program state and data is stored in a database.  Smalltalk combines the data (objects), code (classes) and Integrated Development Environment (ide), and stores everything in the Virtual Image file.  Whenever a Virtual Image is loaded by a Virtual Machine, it will resume the state it was in when the image was saved.  As a programming language, the Smalltalk syntax is - as the name suggests - very minimal.  Smalltalk only has 6 reserved keywords and the syntax is designed to resemble the normal English language rather than common coding languages, making it relatively easy to learn.  Smalltalk was probably one of the first to move away from the mainframe accessed by computer terminals or "centralized computing" to embrace the then still very much in its infancy "personal computing".  In recent years software has become more centralized again through web applications, because systems need to be available from anywhere at anytime from any device.  Smalltalk with web frameworks like Seaside, AIDA/Web and Iliad seems to have re-gained some of the spotlight it lost since the 70's.


If you want to find out more, have a look at Wikipedia's description of Smalltalk, browse this site for books, discussion forumsuser groups or simply try one (or more) Smalltalk implementations!


ANSI Smalltalk was ratified in 1998 and represents the standard version of Smalltalk (download a draft of the ANSI standard document)


Other Smalltalk links: smalltalk.orggoodstart.com, wikibooks.org