Es war einmal vor langer Zeit, da hatten Mäuse (wissenschaftlich: »Mus musculus«) noch vier Beine unter dem Bauch, waren aus Fleisch und Blut und labten sich an den Vorräten der Menschen. Im Kampf mit ihren samtpfötigen Widersachern, den Katzen, kam ihnen auch ein dünner Fortsatz am graubepelzten Hinterteil nicht in die verhängnisvolle Quere, da sie selbst dieser sogenannte Schwanz an flinker Flucht kaum hindern konnte.
Eine heute weitverbreitete Abart jenes niedlichen Nagetiers (»Mus computus Palo Altus«, im deutschen Sprachraum auch kurz und treffend »Maus« genannt) ist das Ergebnis einer geradezu explosionsartigen Evolution. Die Beine sind zu vier kurzen gleitfähigen Plastikstummeln verkümmert, die Beweglichkeit wird durch eine schwere Gummikugel im Bauch gewährleistet, auf der sie über (vornehmlich glatten) Untergrund gleitet.
Der frühere Schwanz hat sich erheblich verlängert und ist zum Zwecke der symbiotischen Lebensgemeinschaft fest mit einem siliconhaltigen Würfelwesen (»Computer«) verbunden. Zur Abwehr ihres Freßfeindes Katze hat sich »Mus computus« eines hinterhältigen Tricks bedient und ihren zarten, weichen Körper durch hartes Plastikmaterial ersetzt.
Vielfach bestätigten Gerüchten zufolge stammt die moderne »Maus« aus einem PARC im sonnigen Kalifornien. Allerdings handelt es sich hierbei weniger um ein begrüntes Naherholungsgebiet für gestreßte Manager und übernächtigte Programmierer aus dem Silicon Valley, sondern um eine der berüchtigten »Streßmühlen« der amerikanischen Computerindustrie. Diese spezielle Streßmühle gehört jedoch zu den legendären Institutionen der Computerwelt. Die Initialen PARC stehen nämlich für das »Palo Alto Research Center« der Firma Xerox. Hier begann eine Arbeitsgruppe unter dem zungenbrecherischen Namen »Palo Alto Research Center Learning Research Group« schon im Jahre 1970 mit einem Projekt, das die Arbeit mit Computern revolutionieren wollte. Das angestrebte Entwicklungsziel war ein Computersystem, das der Benutzer vollständig verstehen und auch in internen System-Details kontrollieren kann.
Bereits in der Namensgebung des Projektes kamen diese Absichten deutlich zum Ausdruck: Das künftige Wunderkind wurde »Smalltalk« getauft. Der englische Begriff »Smalltalk« läßt sich recht treffend mit »Plauderei« übersetzen, jene Form der zwischenmenschlichen Kommunikation also, bei der man »frei von der Leber weg« (oder sarkastischer ausgedrückt »ohne von Sachkenntnis getrübt zu sein«) über Gott und die Welt redet. Die Vorstellung, daß auf einem Smalltalk-System jedermann mit seinem Computer »plaudern« könnte, ohne über die bis dato eifersüchtig gehüteten und in dicken Wälzern versteckten Zauberformeln der Computergurus verfügen zu müssen, trug damals geradezu sensationelle Züge in sich. (Ein paar Grundinformationen über die Smalltalk-Philosophie können Sie dem Begleitartikel auf Seite 38 in dieser Ausgabe des ST-Magazins entnehmen.)
Bis 1980 (die »Learning Research Group« des PARC hatte sich inzwischen in bescheidener Würdigung ihrer visionären Forschungsarbeiten in »SCG« für »Software Concepts Group« umbenannt) war man nach erfolgreichen Gehversuchen auf Großcomputer-Anlagen bereits bei der fünften Generation dieses neuartigen Computer-Konzeptes angelangt. Im Jahre 1981 schlug dann endlich die große Stunde: Die erste Smalltalk-Version erblickte das Licht der großen Computer-Welt.
Smalltalk-80, wie der letzte Zögling aus dem PARC getauft wurde, war seit 1977 für transportable Computer ohne jeden Kompromiß an die Grenzen der verfügbaren Hardware entwickelt worden. Seine Schöpfer durften konsequent die Visionen des ursprünglichen Konzeptes in die Software-Wirklichkeit umsetzen. Zum Zeitpunkt der Präsentation gab es lediglich zwei einzelne Exemplare eines Computers, auf dem Smalltalk-80 mit brauchbarer Geschwindigkeit arbeitete. Weitere Implementationen zwischen 1981 und 1985 bewiesen zwar die grundsätzliche Gebrauchsfähigkeit des Konzeptes, waren aber wegen einiger Unzulänglichkeiten der Hardware nur bedingt fähig, die von der Smalltalk-Vision ausgehende Faszination in vollem Maße entsprechend zur Geltung zu bringen.
Dennoch stellte schon das Smalltalk-80 von 1981 ein fertiges Computer-System dar. Warum auch sollte sich ein Ingenieur für Computersoftware von so unbedeutenden Kleinigkeiten wie einem realen (Hardware-) Computer in seinem Schaffensdrang bremsen lassen (sofern man ihn ungebremst schaffen läßt!)? Ist die wirkliche Hardware-Maschine nicht vorhanden, erfindet man sie ganz einfach in Software. Genauso sind auch die PARC/SCG-Programmierer vorgegangen.
Smalltalk-80 basiert nämlich auf dem Prinzip der »virtuellen Maschine«. Diese virtuelle Smalltalk-Maschine realisiert softwaremäßig die benötigten Elemente eines Smalltalk-Computers und versteht eine besondere Art von Maschinensprache, die im Falle Smalltalk »Byte-Code« genannt wird. Das eigentliche Smalltalk-System, das »virtuelle Image«, setzt also die »Plauderei« mit dem Benutzer in diesen Byte-Code um und übermittelt die nun gar nicht mehr menschengerechten Codesequenzen an die virtuelle Maschine, die ihrerseits dafür Sorge zu tragen hat, eine Hardware-Maschine im Sinne der Konversation zwischen Mensch und Smalltalk-System zu steuern.
Die virtuelle Maschine befreit Smalltalk nicht nur von den Hardware-Problemen, sondern gewährleistet gleichzeitig ein hohes Maß an Portabilität auf verschiedene Hardwareumgebungen. Allerdings ist Smalltalk-80 nicht gerade anspruchslos bei der Wahl eines geeigneten Hardware-Partners. Ein heißes (weil schnell schlagendes) Herz und einen dicken Speicherbauch mit megabyte-großem Umfang sollte unbedingt als Mitgift in die Ehe eingebracht werden. Außerdem darf wegen der besonderen Kommunikationsweise mit dem Benutzer (wir kommen noch darauf zu sprechen) eine Bitmap-orientierte grafische Ausgabeeinheit nicht fehlen. Demzufolge begann der wirkliche Durchbruch des (inzwischen weiterentwickelten) virtuellen Image von Smalltalk-80 erst ab 1986 auf den leistungsfähigen Grafik-Workstations, vornehmlich mit schnellgetakteten Mikroprozessoren der 68000er-Reihe, meist dem 68020.
Mit der Verfügbarkeit solcher Hardware-Maschinen begann gleichzeitig die Implementierung wirklich effizienter virtueller Smalltalk-Maschinen. Im Idealfall sollte das virtuelle Smalltalk-Image zwischen den verschiedenen virtuellen Maschinen übertragbar sein, für Entwickler von Anwendungssoftware eine geradezu paradiesische Vorstellung.
Die Implementierung von virtuellen Smalltalk-Maschinen auf verschiedenen Hardware-Systemen ist inzwischen zu einer Art Wettbewerb geraten. Als Meßlatte für Neubewerber um den Titel des schnellsten Smalltalk-Computers gilt die Abarbeitungsgeschwindigkeit eines Satzes von Benchmark-Programmen auf einem Dorado-Computer von Xerox PARC. Der Dorado-Wert ist willkürlich auf 100 festgelegt. Der derzeitige Weltrekordhalter stammt aus Deutschland. Eine nordrheinwestfälisch-bayerische Koproduktion, die virtuelle Smalltalk-Maschine der Firma Georg Heeg aus Dortmund auf einer PCS-Cadmus-Workstation MWS/5 mit 68020-Prozessor, erreicht den Rekordwert 250.
Nicht ganz so schnell »small-talked« der Atari Mega ST4 mit einer Heeg’schen virtuellen Maschine. Sein vergleichsweise bescheidener Benchmark-Wert 37 liegt aber immerhin um neun Punkte über einer IBM-AT-Implementation. (Quelle der Benchmarkwerte: Ganzinger, Heeg, Baumeister und Rüger, Smalltalk-80, Informationstechnik 29 (1987), Heft 4). Andererseits stellt der Mega ST4 zu einem Preis von knapp 5300 Mark für die Hardware (Computer und Festplattenstation) und gut 2260 Mark für virtuelle Maschine und virtuelles Image das wohl derzeit preiswerteste Smalltalk-Computersystem dar. Für die Cadmus-Workstations kostet allein die (Weltrekord-)Software vom gleichen Hersteller stolze 9110 Mark.
Das Smalltalk-80-System für die beiden Atari-Mega STs wird in zwei Versionen angeboten. Die abgemagerte CE-Version (Preis: ca. 1700 Mark) enthält die virtuelle Maschine und ein virtuelles Smalltalk-Image mit Programmiersprache und Programmierumgebung. Unsere Testversion Smalltalk-80 DE (Preis ca. 2260 Mark) bietet zusätzlich Zugriff auf Betriebssystem- und Hardware-Komponenten des ST wie zum Beispiel auf die serielle und parallele Schnittstelle. Vorgefertigte Systemprogramme erlauben die Druckerausgabe über Postscript oder direkt auf einen Drucker. Der Atari-Laser SLM804 läßt sich ohne Probleme über Ataris grafikfähigen Druckeremulator (ehemals DMC-LaserBrain) ansprechen. Die Kommunikation mit der Außenwelt besorgt das in die Benutzeroberfläche integrierte Terminal-Fenster. Das 350seitige englischsprachige Handbuch (Einzelpreis: 107 Mark, gehört bei den oben erwähnten Systempreisen zum Lieferumfang) in einem DIN-A4-Ringordner führt knapp, aber umfassend in das virtuelle Image VI 2.2 des Smalltalk-80-Systems und in die spezielle ST-Implementierung der virtuellen Smalltalk-80-Maschine VM 1.1 ein. Für erste Gehversuche in Smalltalk reicht dieses Handbuch sicherlich aus, die zusätzliche Lektüre der beiden Smalltalk-Bibeln (»The Orange Book« und »The Blue Book«) aus den Federn der Smalltalk-Erfinder sei allen interessierten Smalltalk-Novizen jedoch dringend angeraten.
Die Smalltalk-Implementation für den Atari ST benötigt als minimale Hardware-Ausstattung einen Mega ST2 mit Festplattenstation. Auf einer solchen »Minimalkonfiguration« wird es selbst für das nackte Smalltalk-System ohne irgendein Applikationsprogramm schon recht eng. Liegt die Größe der virtuellen Maschine mit gut 130 KByte noch im Rahmen eines üblichen ST-Programmes, benötigt das virtuelle System-Image mehr als 1,4 MByte Speicher. Wer Smalltalk professionell einsetzen will, sollte seinen Mega ST lieber gleich eine Nummer größer kaufen.
Ein spezielles Kopierprogramm auf einer der sechs mitgelieferten doppelseitig bespielten Disketten installiert das Komplettsystem, zu dem noch der 1,6 MByte lange Quelltext des Smalltalk-80-Systems gehört. Kleine Beispielprogramme, einige Utilities und (bei der DE-Version) der Postscript-Druckertreiber vervollständigen das Systempaket.
Alle Bestandteile des Smalltalk-80-Systems auf dem ST sind in normalen TOS-Dateien gespeichert, man kann es also durchaus als gewöhnliche TOS-Applikation betrachten und in gewohnter Art und Weise starten. Smalltalk setzt auf dem ST-Betriebssystem auf und benutzt ohne jede Spezialanpassung das Datei-System des TOS einschließlich der hierarchischen Ordnerstruktur. Daher findet man unter Smalltalk erzeugte Dateien nach dem Ausstieg aus Smalltalk im TOS-Inhaltsverzeichnis der Festplatte wieder.
Neben der (wie bereits angeführt) nicht allzu hohen, aber dennoch ausreichenden Arbeitsgeschwindigkeit des Smalltalk-ST muß ein weiteres Manko in Kauf genommen werden. Die grafische Smalltalk-Systemoberfläche mit ihren vielen Fenstern und Pop-Up-Menüs ist auf die großen Ganzseitenbildschirme der Workstations zugeschnitten, deren Pixelauflösung die ST-Auflösung von 640 x 400 Pixeln weit übertreffen. Auf dem Monochrommonitor des ST geht es unter Smalltalk sehr bald recht eng zu. Mit Hilfe eines kleinen Kniffes fällt Smalltalk jedoch sozusagen aus dem (zu engen) ST-Rahmen. Die virtuelle Maschine für den ST verwaltet nämlich einen genauso virtuellen Bildschirm, der ohne Probleme die Größe eines Ganzseitenbildschirms einnehmen kann.
Natürlich gibt der physikalische Bildschirm des ST jeweils nur einen 640 x 400 Pixel großen Ausschnitt dieses virtuellen Ganzseitenbildschirmes wieder. Stößt man mit dem Mauszeiger an einen der vier Bildschirmränder, so scrollt das Bild weiter und blendet die vorher verborgenen Bereiche ein. Das Bildschirmscrollen funktioniert sowohl vertikal als auch horizontal gleichermaßen flink und fließend.
Die Smalltalk-Maus arbeitet mit drei Tasten, traditionsgemäß als Rot, Gelb und Blau bezeichnet. Die mittlere (gelbe) Taste wird auf Ataris Zwei-Tasten-Maus durch gleichzeitiges Drücken der beiden Maustasten ersetzt. Mit ein wenig Übung hat man das nötige Maß der Gleichzeitigkeit bald in den Fingern.
Leider waren während unseres Tests noch keine Anwendungsprogramme für den Smalltalk-ST verfügbar. Bei der Herstellerfirma Georg Heeg in Dortmund, die auch Smalltalk-80-Systeme für Workstations und Apple-Macintosh-Computer anbietet, konnten wir jedoch an einer Cadmus-Workstation einen kurzen Blick auf die fantastischen Fähigkeiten des Anwendungspaketes »The Analyst« werfen.
Dieses Programm-System (ein spezielles Smalltalk-Image von gut 2 MByte Umfang) integriert fast alle vorstellbaren Funktionen der Büroanwendung wie Textverarbeitung mit DTP-Appeal, Tabellenkalkulation und Datenbankverwaltung. Darüber hinaus weiß »The Analyst« durch einige Smalltalktypische Schmankerln besonders zu faszinieren. So kann man zum Beispiel mit Mausklick ein hochauflösendes Pixelbild in eine Zelle des Kalkulationsblattes einblenden. Die Datenbank läßt sich über eine grafisch dargestellte Weltkarte bedienen. Unter beliebigen geographischen Koordinaten (beispielsweise der genaue Ort einer Stadt in Deutschland) sind nach Anwenderwünschen strukturierte und modifizierbare Datenbanken zugänglich.
Das Smalltalk-Image »The Analyst« kann von der Cadmus-Workstation ohne jede Modifikation direkt auf den Smalltalk-ST übertragen werden. Kurz vor Redaktionsschluß teilte uns der Hersteller mit, daß die Verhandlungen über die deutschen Vertriebsrechte an diesem Programm bald abgeschlossen sein werden. Als preisliche Zielvorstellung hat man bei der Firma Georg Heeg einen Betrag von knapp über 2000 Mark ins Auge gefaßt. Wir hoffen, in einer der nächsten Ausgaben des ST-Magazins über die Verwendbarkeit einer so großen Smalltalk-Anwendung auf dem ST berichten zu können.
Bis dahin müssen sich unsere Tester mit Systemoberfläche und Programmiersprache von Smalltalk-80 begnügen. Aber gerade in diesen Bereichen gibt es noch viel Gutes zu entdecken. Erste Berichte über die Anfänge unserer Entdeckungsreise in die Grafikwelt der Smalltalk-Plauderei finden Sie in den folgenden Abschnitten. Lassen Sie sich von der Smalltalk-Vision anstecken und »plaudern« Sie »smalltalkisch« mit Ihrem ST.
Was ist Smalltalk? Smalltalk ist der Urahn aller grafischen Benutzeroberflächen! Richtig! Smalltalk ist also eine grafische Computer-Benutzeroberfläche wie GEM, Windows oder Finder? Falsch! Smalltalk stellt eine Synthese aus Computersystem, Programmiersprache und grafischer Benutzeroberfläche dar. Arbeiten mit einem Computer, ob als Programmierer oder ob als bloßer Benutzer von fertigen Programmen, bedeutet Kommunikation mit einer Maschine. Die Smalltalk-Entwickler haben es sich zur Aufgabe gemacht, die nötige Kommunikation mit der Maschine soweit wie irgend möglich an zwischenmenschliche Kommunikationsformen anzupassen.
Das Wesen der menschlichen Kommunikation besteht aus dem meist wechselweisen Senden und Empfangen von Nachrichten. Dabei können die Nachrichten durchaus verschiedene Formen annehmen. Ein Beispiel soll den zugrundegelegten Gedanken verdeutlichen:
Ein potentieller Smalltalk-Programmierer will die neue Computersprache lernen. Dazu benötigt er ein Lehrbuch. Aus seiner bevorzugten Fachzeitschrift hat er die geschriebene Nachricht empfangen, das »blaue« Buch »Smalltalk-80, The Language and its Implementation« von Adele Goldberg und David Robson sei genau das richtige für ihn. Wie beschafft er sich ein Exemplar dieses Buches?
Versuch 1: Er geht in einen Buchladen und sucht sich das Buch selber in dem Wirrwar der Regale und Bücherschränke heraus. Dazu muß er einiges über die Ordnungsprinzipien des Buchladens wissen. Sind seine Kenntnisse von Aufbau und Struktur des Buchladens groß genug, wird er sein Buch bekommen.
Versuch 2: Er geht in den Buchladen und und gibt dem Bibliothekar die Nachricht: »Bringen Sie mir das ’blaue’ Buch« und wartet am Packtisch auf das Ergebnis seiner Nachricht. Unser wackerer Programmierer braucht nun keinerlei Kenntnisse über Aufbau und Struktur des Buchladens, weil er sich auf die entsprechenden Spezialkenntnisse des Bibliothekars verläßt. Ohne eigenes Wissen über den Buchladen bekommt er, wesentlich bequemer als in Versuch 1, sein Buch.
Versuch 2 entspricht den Prinzipien von Smalltalk. Eine Übersetzung der geschilderten Kommunikation in die Programmiersprache Smalltalk ergibt die »Programmzeile«:
packtisch <- Bibliothekar bringeDas BlaueBuch
Die kleine Zeile hat die folgende Bedeutung: Dem »packtisch« wird das Ergebnis der Nachricht »bringeDasBlaue Buch« an den »Bibliothekar« zugewiesen. Der Pfeil — dient als Zuweisungs-Symbol. Unter Benutzung der Smalltalk-Nomenklatur bezeichnet man »Bibliothekar« als Objekt, das die Nachricht »bringeDasBlaue-Buch« versteht und Methoden besitzt, die identifizierte Nachricht in Taten umzusetzen. Die Methoden des Objektes »Bibliothekar« müssen Strategien zum Suchen und Finden eines bestimmten Buches enthalten.
Das Prinzip des Sendens von Nachrichten an Objekte stellt den Kern des Smalltalk-Systems dar. Unter Smalltalk kann beinahe jedes Element als Objekt betrachtet werden. So repräsentiert der Begriff »packtisch« zunächst einmal eine Art Variable, die verschiedene Inhalte (im Beispiel verschiedene Bücher) annehmen kann. Darüber hinaus ist »packtisch« aber gleichzeitig ein weiteres Objekt, das ebenfalls Methoden besitzt, Nachrichten zu empfangen und umzusetzen. Es ist zum Beispiel in der Lage, die Frage nach der Ankunft des bestellten Buches zu beantworten.
Mit diesem neuen Wissen können wir die Antwort auf die Frage: »Was ist Smalltalk?« konkretisieren: Smalltalk ist ein objektorientiertes Computersystem mit einer objektorientierten Programmiersprache!
Objekte mit ähnlichen Eigenschaften werden zu sogenannten Klassen zusammengefaßt. Die Ähnlichkeiten der Objekte einer Klasse beziehen sich sowohl auf die Art der identifizierbaren Nachrichten als auch auf die Art der beherrschten Methoden. Die Objekte einer Klasse werden als Instanzen dieser Klasse bezeichnet. Klassen, die einige gemeinsame Eigenschaften besitzen, bilden Oberklassen. Die einzelnen Klassen einer Oberklasse werden Unterklassen genannt. Das Smalltalk-Klassensystem endet jedoch nicht auf dieser Ebene. Ähnliche Oberklassen können nämlich auf der nächsten Klassenebene in einer weiteren Oberklasse gesammelt werden. Damit sind die Oberklassen der ersten Ebene gleichzeitig Unterklassen der Oberklassen in der zweiten Ebene. Je höher die Ebene, um so allgemeiner die Eigenschaften der Oberklasse.
An dieser Stelle haben sich die Smalltalk-Schöpfer etwas wirklich Besonderes einfallen lassen: Die Unterklassen erben nämlich die Methoden der Oberklasse! Empfängt die Instanz einer Klasse eine für sie unverständliche Nachricht, so sucht sie zunächst in der zugehörigen Oberklasse nach der passenden Methode, dann weiter in der Oberklasse der ersten Oberklasse, etc. Auf diese Weise greift ein Smalltalk-Programm über die Klassenhierarchie sozusagen automatisch auf die vorhandenen Systemklassen und deren Methoden zurück. Neue Objekte mit neuen Methoden werden als Unterklassen bestehender Klassen erzeugt und erben damit alle bereits vorhandenen Methoden des Oberklassensystems. Diese ideale Verwirklichung der modularen Programmierung erleichtert und beschleunigt den Entwurf neuer Anwendungen ungemein.
Da sich das Smalltalk-System fast vollständig aus Objekten zusammensetzt, verwundert es kaum, daß der Systembestandteil Benutzeroberfläche ebenfalls aus Objekten besteht. Als Ausgabeeinheit verlangt Smalltalk einen pixelorientierten Bildschirm mit Rastergrafik, der zur Klasse »DisplayScreen« gehört. Schwarzweiße Rechteckflächen bilden die Grundelemente der Ausgabefenster, die Rechteckflächen sind Instanzen der Klasse »Form«. Ebenfalls aus Rechtecken mit festgelegten Textelementen bestehen die grafisch aufgebauten Eingabeeinheiten des Bildschirms, die sogenannten »Pop-Up-Menüs«.
Diese grafischen Objekte besitzen wie alle anderen Smalltalk-Objekte ein eigenes Repertoire an Methoden, die sich durch entsprechende Nachrichten abrufen lassen. Die Bedienung der Pop-Up-Menüs funktioniert ganz ähnlich wie unter GEM. Sie hängen jedoch nicht an einem Menübalken, sondern lassen sich an einer beliebigen Stelle des Bildschirms einblenden. Als Nachrichtengeber für die Menüobjekte fungiert eine Drei-Tasten-Maus, deren Tasten aus historischen Gründen die Farbbezeichnungen Rot, Gelb und Blau tragen. Das Bewegen der Maus auf dem Schreibtisch verschiebt ein grafisches Objekt über den Bildschirm, den sogenannten Mauszeiger. Je nach Position des Mauszeigers auf dem Bildschirm (innerhalb oder außerhalb eines Fensters) und je nach Farbe der gedrückten Maustaste lassen sich unterschiedliche Pop-Up-Menüs einblenden.
Drückt man zum Beispiel auf die gelbe Taste (auf dem Smalltalk-ST auf beide Maustasten gleichzeitig), während sich der Mauszeiger außerhalb eines Fensters befindet, so springt ein Menü zur Systembedienung auf. Hier können Sie verschiedene Fenster öffnen ujid Systemfunktionen steuern. Zur Auswahl der gewünschten Funktion positioniert man den Mauszeiger auf den gewünschten Menüeintrag und gibt die gelbe Taste wieder frei.
Sie können sich sicher schon denken, was jetzt im Smalltalk-System geschieht! Natürlich, ein Objekt erhält eine Nachricht und führt eine ihm verfügbare Methode aus. Als Resultat der Geschäftigkeit der Maus verschwindet zunächst einmal das alte Pop-Up-Menü von der Bildfläche. Je nach Menüpunkt erscheint anschließend ein Fenster, eine Dialogbox oder aber ein weiteres Pop-Up-Menü, das neue Informationen oder neue Funktionen anbietet.
Die blaue Taste hat nur dann eine Wirkung, wenn sich der Mauszeiger über einem Fenster befindet. Smalltalk-Fenster besitzen nämlich wesentlich weniger Bedienungselemente als ihre GEM-Nachfahren. Außer einem Titelfeld am oberen Rand und einem vertikalen Rollbalken an der linken Seite findet man kein weiteres Bedienungselement, weder zum Verschieben des ganzen Gebildes noch zum Verändern seiner Größe. Selbst ein Bedienungselement zum Schließen des Fensters scheint zu fehlen. Alle diese Funktionen sind aus einem kleinen Pop-Up-Menü abrufbar, das nach Drücken der blauen Taste aufspringt. Aktivieren des Menüpunktes »move« verwandelt das Fenster in einen weißen Rahmen, der sich mit der Maus an eine neue Position verschieben läßt. Ein Klick auf die rote Taste aktiviert das verschobene Fenster am neuen Platz. Ähnlich verläuft auch die Größenveränderung.
Es wäre allerdings ein Trugschluß, wenn man die Smalltalk-Fenster als »primitive Vorläufer« der GEM- oder Finder-Fenster abtun würde. Smalltalk-Fenster besitzen nämlich schon vom System her eine Eigenschaft, die man ihren Nachfahren erst mühsam »anprogrammieren« muß. Jedes Fenster besitzt nämlich mindestens einen Texteditorbereich. Sehen wir uns als Beispiel das sogenannte System-Browser-Fenster genauer an. Dieses Fenster erlaubt einen tiefen Blick in die Systemobjekte und ihre Methoden.
Es besteht aus fünf Unterfenstern. In den vier Unterfenstern der oberen Reihe findet man Listen aller verfügbaren Klassen, ihrer Methoden und die dazugehörigen Nachrichten. Das größte Unterfenster stellt den Texteditor des Systembrowsers dar. In diesem Unterfenster erscheinen die Programmtext-Beschreibungen der Klassen und Methoden. Ein Smalltalk-Programmierer kann hier neue Klassen erzeugen und mit Methoden versehen, neue Methoden für vorhandene Klassen entwerfen und sogar jede Klassen- und Methodenbeschreibung uneingeschränkt modifizieren, sowohl zum Guten als auch zum Bösen des Systems. Selbst an der Produktion eines totalen Systemzusammenbruches wird er in keiner Weise gehindert. Smalltalk bleibt aber immer auf der Spur und speichert alle Änderungen in einer besonderen Datei, die auch im schlimmsten Falle eine Wiederherstellung des Systems erlaubt.
Smalltalk stellt ein durch Grafik- und Textobjekte gesteuertes, objektorientiertes Computersystem mit einer objektorientierten Programmiersprache dar. Smalltalk-80 ist die erfolgreiche Realisierung einer erregenden Vision von der Kommunikation zwischen Mensch und Computer.
(W. Fastenrath/Horst Brandl)