Fortgeschrittene objektorientierte Programmierung
LVA 185.211, VL 2.0, 2006 S
squeakaufgerufen werden. Beim ersten Aufruf bekommen Sie vermutlich nur eine Fehlermeldung die besagt, dass die Datei
squeak.imagefehlt, welche Ihre lokale Version des Smalltalk-Systems enthält. Daneben benötigen Sie auch die Datei
squeak.changesmit dem Source-Code aller Änderungen, die am ursprünglichen System vorgenommen wurden, und einen Link auf den Quellcode des Systems. Sie erhalten diese Dateien durch Ausführung folgender Befehle in dem Directory, von dem aus Sie mit squeak arbeiten wollen:
cp /usr/local/src/Squeak3.8-6665full.image squeak.image cp /usr/local/src/Squeak3.8-6665full.changes squeak.changes ln -s /usr/local/src/SqueakV3.sources SqueakV3.sourcesAlle Änderungen, die Sie vornehmen, werden in den beiden kopierten Dateien gespeichert. Auch Ihre Programme sind darin enthalten. Achtung: Diese Dateien sind recht groß; daher bitte keine unnötigen Kopien anfertigen. Anders als durch
man squeakbeschrieben gibt es auf der b3 kein
iniqueak, und die Orte, an denen die oben genannten Datein zu finden sind, entsprechen nicht dem Manual.
Squeak unterstützt zwei grundsätzlich verschiedene Subsysteme zur Programmierung grafischer Oberflächen: MVC (wie in Smalltalk-80) und Morphic. Sie können eines der beiden Subsysteme wählen. Vermeiden Sie nach Möglichkeit die gemischte Verwendung.
In Smalltalk schreibt man (anders als in eher statischen Sprachen) in der Regel nicht einfach ein Programm für einen bestimmten Zweck, sondern man adaptiert und erweitert die vorhandene Umgebung. Ein Ziel der Aufgabe ist es, diesen Programmierstil kennenzulernen. Dabei werden Sie lernen, sich im Smalltalksystem zurechtzufinden. Eine Schwierigkeit (vor allem in der GUI Programmierung) besteht darin, dass das API (Application Programming Interface) keine gute statische Dokumentation hat. Smalltalk Programmierer lernen eher durch das Lesen und die Verwendung bestehenden Smalltalk Codes als aus der Dokumentation. Aus diesem Grund sind Kommentare besonders wichtig, und jede Klasse und Methode, die Sie selber schreiben, soll durch Kommentare klar spezifiziert sein.