Tja, was soll ich sagen. Squeak mit Mars ist spannend.
Der Smalltalk Source Code für die Menü-Definitionen gefällt mir zum Beispiel wirklich gut.
menuFile
^ (MarsMenuItem label: 'File')
add: (MarsMenuItem label: 'File Out...' keyStroke: $o command: #fileOut);
addSeparator;
add: (MarsMenuItem label: 'Save' keyStroke: $S command: #saveImage);
add: (MarsMenuItem label: 'Save As...' command: #saveImageAs);
addSeparator;
add: (MarsMenuItem label: 'Quit (Development)' keyStroke: $Q command: #developmentQuit);
add: (MarsMenuItem label: 'Quit' keyStroke:$q command: #quit);
yourself
Das ist knackig.
Auf der anderen Seite... Das Versionskontrollsystem hat mal eben so vergessen das Changeset mit auf den Server zu schieben auf dem das was ich hochgeladen / comitted habe beruhte.
Äh, wiebidde? Das ließ sich dann zwar durch vereinte Anstrengungen von 3 Squeakern irgendwann fixen. Aber...
Und überhaupt, die GUI von Squeak ist... gewöhnungsbedürftig. Der größte Teil der Funktionalität liegt in Kontextmenüs versteckt - die man einfach nicht findet wenn man nicht weiß dass es sie gibt. Oder die nur kommen wenn man etwas bestimmtes nicht ausgewählt hat.
Grusel
Naja, mixed feelings.