next up previous contents korn.pngacroread.pngtux.pngmain.pngsqueakland.pngsqueak.png
Next: An wen richtet sich Up: SQUEAK Informatik in einer Previous: List of Figures   Contents

Einleitung

Meinen tapferen Schüler der Deutschen Schule Prag.

Möge dieses Tutorial den Erfindern und den Entwicklern von Squeak den größten Dank aussprechen
und den Schulen dabei behilflich sein, die Schleife zu ziehen,
um dieses schöne Geschenk zu öffnen.

Squeak ist eine Umgebung, die ganz wesentlich auf der Programmiersprache SMALLTALK basiert. Genauer gesagt: es ist der Standard Smalltalk-80. Sicherlich haben einige der Leser schon von dieser Sprache gehört, aber bisher noch nie eine Smalltalk-Umgebung gesehen.

Die Abbildung [*]

Figure: Der »Urwald« von Squeak
Image urwald

gibt einen ersten Eindruck. Einigen mag dieser Eindruck etwas »verspielt« erscheinen. Doch das ist ein sehr großer Irrtum. Squeak richtet sich zwar ganz ausdrücklich an Kinder. Aber an echte Profis und solche, die es werden wollen, gleichermaßen. Einen Smalltalk-Schreibtisch zeigt das Bild [*]
Figure: Smalltalk-Schreibtisch
Image schreibtisch

. Squeak bietet neben den üblichen Werkzeugen (Workspace, Transcript und System-Browser) noch weitere, extrem leistungsfähige Werkzeuge, die über die Fähigkeiten manche anderer Smalltalk-Umgebungen hinausgehen. Dieses wird vor allem Schüler der oberen Mittelstufe, der Oberstufe und - wie gesagt - professionelle Programmierer interessieren.

Die jüngeren, angefangen mit der Grundschule, werden durch eine starke Erweiterung der so genannten Turtle-Grafik (Programmiersprache Logo) behutsam in die Welt des Programmierens eingeführt. Durch die großartige Idee, Programme in Form von Skripten durch das Ziehen von Kacheln zusammenzubauen, können sich die Kleinen ganz auf das Denken konzentrieren. Denn die Kacheln selbst sind syntaktisch richtig. Einen ersten Eindruck davon, wie diese Abteilung von Squeak aussieht, die sich eToys nennt, zeigt die Abbildung [*]

Figure: Es »turtlet« in Squeak an allen Ecken.
Image turtle

.

In der oberen linken Ecke ist eine abermalige Erweiterung der Turtle-Grafik zu erkennen: StarSqueak, eine Erfindung von Michael RESNICK (StarLogo). Hier werden Hunderte oder Tausende von Turtles gesteuert, mit denen biologische Simulationen durchgeführt werden können. Das kann die Frage nach der Formation von Zugvögeln, der Enstehung von Viruserkrankungen, die Ausbreitung eines Waldbrandes oder - nicht biologisch - die Entstehung von Verkehrsstaus sein.

Smalltalk wurde Anfang der siebziger Jahre von Alan KAY, Dan INGALLS, Adele GOLDBERG und ihren Mitarbeitern am Pala Alto Research Center (PARC) in Kalifornien erfunden. Viele dieser Erfinder, einschließlich Alan KAY sind nicht nur Informatiker, sondern (Mikro)Biologen. Angeregt von der norwegischen Vorläufersprache Simula entwickelten sie die Idee, Datensätze wie biologische Lebewesen aufzufassen, weiter. Der Computer arbeitet als Maschine nicht mit diesen Objekten, sondern die Objekte reagieren selbst wie Lebewesen auf Nachrichten (Reize), die ihnen andere Objekte oder der Programmierer senden. Dies war die Geburt der objektorientierten Programmierung.

Von Beginn an gehörte eine grafische Umgebung als »Welt« für diese Lebewesen zu der Sprache dazu. In den Zeiten der kleinen Arbeitsspeicher stellte diese Anforderung natürlich ein recht großes Problem dar. Deshalb bekamen Schulen und private Programmierer allein aus Konstengründen kaum eine Smalltalk-Umgebung zu Gesicht. Die großen Entdeckungen führten aber zur Entwicklung der grafischen Betriebssysteme, die alle ohne Smalltalk nicht denkbar wären. Glückliche Umstände unterstützten diese Entwicklung. Seymour PAPERT hatte am MIT mit der Turtle-Grafik nicht nur eine wesentliche Vorarbeit für die Entwicklung der objektorientierten Programmierung geleistet, sondern gleich eine Antwort auf eine Kernfrage Alan KAYS gegeben: »Was werden Kinder mit einem PC anfangen können«? Smalltalk ist also nicht nur diejenige Programmiersprache, die den engsten Bezug zur Natur aufweist, sondern auch diejenige, bei denen Entwicklung von Beginn an Kinder gedacht wurde. Der zweite glückliche Umstand war die Entwicklung der Computer-Maus durch Douglas ENGELBART.

Die Erfolge von Smalltalk führten 1983 zu einer angeblichen »Erweiterung« der Programmiersprache C in C++ durch Dr. Bjarne STOUSTRUP. Tatsächlich entstand eine völlig eigenständige Sprache, die aber es nicht wagte, Smalltalk-Ideen in ganzer Konsequenz umzusetzen. Damit ist C++ eine - allerdings sehr leistungsfähige - Hybridsprache geworden.

Sehr viel konsequenter ging die Entwicklung von Java vor sich. Java ist in sehr vielen Details pures Smalltalk. Oder besser gesagt: Java folgt einem Smalltalk-Ableger mit dem Namen Self. Da die grafische »Welt« von Smalltalk in einer hardwareunabhängigen Image-Datei gespeichert ist, die von einer so genannten virtual machine (VM) lediglich interpretiert werden muss, können wir diese Image-Datei als erste Form eines Java-Applets auffassen. Denn Java arbeitet nicht anders. Die VM ist - entgegen mancher Ansichten - keine Java-Erfindung. Sie gab es schon vor Smalltalk. Leider orientiert sich Java allein aus Marketinggründen an der Syntax von C++ und nicht von Smalltalk.

Während dieser Jahre hat Alan Kay seinen Traum von einer Programmierumgebung für »Kinder jeden Alters« nie aufgegeben. Nach seinem Fortgang von PARC setzte Adele Goldberg die begonnene Arbeit fort, die zu dem definitiven Standard Smalltalk-80 führte. Inzwischen entwickelte Kay nach der sehr erfolgreichen Zeit bei Atari ein Projekt mit dem Namen Vivarium bei Apple. Dieses Vivarium war eine biologische Simulation eines Lebensraums, wobei der Smalltalk-Dialekt Smalltalk/V entstand. Nach dem Ende dieses Projektes fand sich die Gruppe, die einst am PARC Smalltalk entwickelte bei Apple wieder und der alte Traum wurde wieder wach.

In unglaublich kurzer Zeit entstand Squeak. Der alte Traum von einem Computer für »Kinder jeden Alters« wurde nicht nur Wirklichkeit, sondern die Entwicklung ging - dank der Erfahrungen mit dem Vivarium-Projekt - weit darüber hinaus. Squeak wurde eine »Spielwiese«, Turtle-Welt, Multimedia-Programmierumgebung und Smalltalk-Umgebung gleichermaßen. Kurz gesagt: Squeak ist ein endloses Abenteuer des Entdeckens, Forschens, Weiterentwickelns.

Der Wunsch nach Spaß in der Schule ist verständlich. Aber es ist nach Alan KAY sehr mißverständlich, welcher Spaß hier gemeint ist. Es ist nicht die »flache Freude«, sondern der »hard fun«, der in Wirklichkeit von Kindern erwartet wird. Ein Spielzeug, was nicht interessiert, landet irgendwo in der Ecke. Squeak ist aber immer wieder eine Herausforderung. Allein die Möglichkeit, 3D zu Programmieren, sich Internetwerkzeuge selbst zu entwickeln oder gar - für die ganz harten - die Veränderung der VM zur Entwicklung einer eigenen Programmiersprache (das ist möglich weil die VM ebenfalls in der Smalltalk/Squeak entwickelt ist), das läßt die wirklich Interessierten nicht so schnell los1.

Dieses Tutorial will den Einstieg erleichtern. Da in Squeak für Kinder jeden Alters geschaffen wurde, und damit besonders für Schulen, handelt es sich als OpenSource Produkt um ein unglaubliches Geschenk was hier der Lehre überreicht wird. Die Beschäftigung damit dürfte seine Wirkung nicht nur in der Informatik entfalten, sondern vor allem auch in denjenigen Bereichen, die zu einer Teilnahme an Jugend forscht führen können.

Möge dieses Tutorial ein inneres »Feuer« entfachen.
Heiko Schröder, Prag, im Februar 2006



Subsections
next up previous contents korn.pngacroread.pngtux.pngmain.pngsqueakland.pngsqueak.png
Next: An wen richtet sich Up: SQUEAK Informatik in einer Previous: List of Figures   Contents
Heiko Schroeder 2006-03-01