[Squeak-ev] Zusammenarbeit - publizieren von Squeak-Codes

Bert Freudenberg bert at isg.cs.uni-magdeburg.de
Die Dez 9 12:42:13 UTC 2003


Klaus Füller wrote:

> So.
> 
> Die erste Unterrichtseinheit mit Squeak zum Thema OOP im Jahrgang 12, 
> Grundkurs Informatik, ist vorbei.  Hinter mir sitzen gerade meine 
> Schülerinnen und Schüler und schreiben einen Kurstest.

Gratuliere :-)

> Ab dem nächsten oder übernächsten Durchlauf gibt es in Hessen 
> Zentralabitur. Dann ist unklar, ob innovative Ansätze noch möglich sein 
> werden.  Vielleicht legen die uns auf Java oder gar auf Borland fest.
> 
> Aber jetzt meine Fragen:
> 
> Ich möchte Squeak-Code "verbreiten". Wie macht man das am Besten?
> 
> Ich empfinde es als unheimlich, wenn ich ein Projekt abspeichere und 
> wieder 'reinlade. Ich weiß nie genau, welche meiner Objekte, die 
> vielleicht noch irgend wo in lokalen Variablen eines Workspace stecken, 
> da mit transportiert werden. Ich will möglichst saubere Software 
> "exportieren".
> 
> Außerdem habe ich manchmal seltsame Effekte / Inkompatibilitäten, wenn 
> man Morphic-Projects von einer Squeak-Version zur nächsten transportiert.
> 
> Also bin ich dazu übergegangen, meine "Packages" zu exportieren, ein 
> neues Squeak "out of the box" zu starten, die Packages dort wieder zu 
> importieren, einen Workspace, wie ich ihn mir wünsche, aufzusetzen und 
> dann diesen Workspace zu speichern.
> 
> Wie macht ihr das?

Wenn du mit "Packages" ChangeSets meinst, dann machen das die meisten 
so. Es gibt aber weitere Möglichkeiten, siehe z.B. die FAQ: 
http://minnow.cc.gatech.edu/squeak/779

> Wo kann man im Netz deutsche Squeak-Codes ablegen?

Da haben wir noch keine öffentliche Stelle. Möglich wäre es auf dem 
Squeak e.V. Swiki. Besser wäre vielleicht auf SqueakMap. Später könnte 
man bei Göran (betreut SqueakMap) Bedarf für einen neue Kategorie 
lokalisierter Software anmelden.

> Wie sieht es mit Namensräumen aus? Offensichtlich sind die Klassen ein 
> flacher Namensraum. Wie verhindert man da Kollissionen? Gibt es 
> Namensregeln?

Üblich sind Präfixe, so wie KFSensor (für deine Initialen). Um 
Kollisionen zu verhindern, kann man sein Präfix registrieren: 
http://minnow.cc.gatech.edu/squeak/3318

Es gab Ansätze für "Environments" (NameSpaces), die aber noch nicht 
etabliert sind. Vielleicht in einer der nächsten Squeak-Versionen.

> Wo finde ich eigentlich die Klasse "Sensor"? Ein Browser findet die 
> Klasse nicht, wenn ich sie anlegen will, sagt mir Squeak, das es die 
> schon gibt.

Da hilft dir der Kontext-Menü-Befehl "explain" weiter. Markiere einfach 
das Wort Sensor, wähle "explain", und dann siehst du das:

	Sensor "is a global variable.  Sensor is an EventSensor"

Sensor ist ein Überbleibsel aus der MVC-Programmierung und wird in 
Morphic eigentlich nicht mehr benötigt. Aus Kompatibilitätsgründen (und 
weil es so schön einfach ist) ist der aber noch da. Probier' mal 
beispielsweise "Sensor mousePoint".

- Bert