Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Smalltalk ist eine dynamisch typisierte objektorientierte Programmiersprache und zugleich eine vollständige Entwicklungsumgebung die in den 70er Jahren am Xerox PARC Forschungszentrum durch Alan Kay Dan Ingalls Adele Goldberg und andere wurde. Sie wurde allgemein unter dem Namen freigegeben und hat die Entwicklung vieler späterer Programmiersprachen beeinflusst (z.B. Java ). Smalltalk basiert stark auf den ersten Konzepten die bei der Entwicklung von Simula gewonnen wurden; das erste Smalltalk-System wurde Simula geschrieben.
Die Smalltalk-Entwicklungsumgebung enthielt viele Ideen die mit der Macintosh- und dann Windows- Benutzeroberfläche verbreitet wurden. Verwendet wurde ein Grafikbildschirm verschiebbaren Fenstern Aufklappmenüs und Schriften von verschiedener Größe. Maus mit drei Tasten - rot blau gelb - diente erstmals als zusätzliches Eingabegerät.
Objekte werden dadurch aktiviert dass man Nachrichten (Messages) schickt. Dies führt dazu dass entsprechende Methode (Funktion) des Objekts ausgeführt wird.
Der gesamte Quelltext ist i.d.R. offen und kann somit werden. Nur sehr wenige Methoden greifen auf 'Primitives' der VM (virtuellen Maschine) zurück.
Dynamische Typisierung - erst zur Laufzeit Programms wird ermittelt welche Funktion - in 'Methode' genannt - tatsächlich aufgerufen wird. In anderen objektorientierten Programmiersprachen (z.B. C++ ) muss man dieses Verhalten explizit vorher
Vererbung : Jede Klasse (außer der Wurzelklasse Object ) ist von genau einer Oberklasse abgeleitet Verhalten sie erbt und beliebig erweitern kann Mehrfachvererbung).
Automatische Speicherbereinigung (engl. garbage collection = Mülleinsammeln) die nicht durch den beeinflusst werden muss. Ein Objekt 'lebt' solange es von anderen Objekten referenziert wird.
Smalltalkprogramme werden in Bytecode übersetzt der eine virtuelle Maschine ausgeführt wird. Dadurch laufen Smalltalk-Programme ohne Änderung auf jedem System für das eine Maschine existiert. Ursprünglich wurde der Bytecode interpretiert; kommerzielle Umgebungen arbeiten inzwischen fast mit dynamischer Übersetzung.
Üblicherweise hat man eine Programmierumgebung (selbst Smalltalk geschrieben) in der man Quelltext am Objekt ändern und dann auch direkt in geänderten Form (weiter)ausführen kann. "Smalltalkprogramme" kann man während sie laufen.
Die Quelltexteingabe erfolgt üblicherweise im sog. Browser .
HTML-Code zum Verweis auf diese Seite: <a href="http://www.uni-protokolle.de/Lexikon/Smalltalk_(Programmiersprache).html">Smalltalk (Programmiersprache) </a>