Smalltalk ist eine objekt-orientierte Sprache die in den 70er-Jahren am Xerox PARC Forschungszentrum durch Adele Goldberg, Dan Ingalls, Alan Kay und andere entwickelt wurde. Sie wurde allgemein unter dem Namen Smalltalk-80 freigegeben und hat die Entwicklung vieler späterer Programmiersprachen beinflusst (z.B. Java).
Die Smalltalk-Entwicklungsumgebung enhielt viele Ideen, die später mit der Macintosh- und dann Windows-Benutzeroberfläche verbreitet wurden. Verwendet wurde ein Grafikbildschirm mit verschiebbaren Fenstern, Aufklappmenüs und Schriften von verschiedener Grösse. Eine Maus mit drei Tasten - rot, blau und gelb - diente erstmals als zusätzliches Eingabegerät.
Wichtige Eigenschaften von Smalltalk
- Alles ist ein Objekt, auch Zeichenketten, Integer, Boolsche Werte, Klassendefinitionen, ausführbarer Code, Stack-frames, der Speicher etc.
- Der ganze Quelltext ist offen und kann verändert werden.
- Dynamische Typisierung
- Automatische Speicherbereinigung (engl. garbage collection = Mülleinsammeln)
- Smalltalkprogramme werden in Bytecode übersetzt, der durch eine virtuelle Maschine interpretiert wird.