[Squeak-ev] Sichern eines SketchMorphs

Andreas Raab andreas.raab at gmx.de
Sam Nov 15 19:24:34 UTC 2003


Hallo Klaus,

> Genau das beginne ich langsam zu verstehen.  Einstein soll 
> einmal gesagt haben "make it as simple as possible, but not
> simpler". Ich habe (als Lehrer) den Eindruck, dass die "E-Zeug-Welt"
> eine zu sehr vereinfachte Welt ist.

Um das Programmieren zu lernen, ja. Das ist aber auch nicht das primäre Ziel
hier, sondern (unter Zuhilfename eines Computers) Vorgänge aus der realen
Welt zu verstehen und zu modellieren. Das E-Zeugs ist also sowas wie eine
Experimentierstube (sowas wie ein Alchemie-Labor ;) indem man verschiedene
Sachen ausprobieren kann, die u.U. nur schwer in der realen Welt zu machen
sind, in der man Modelle für bestimmte Phänomene entwickeln kann die man
irgendwo erfahren hat. Das man Computer dazu programmieren muss, ist ein
(allerdings gewollter) Nebeneffekt, sowas wie ein erster Schritt in Richtung
"Computer-Literacy" (und darunter verstehe ich _nicht_ das Verwenden von
Maus und Tastatur oder die Bedienung von Microsoft Office - wir sagen ja
auch nicht das jemand lesen kann, nur weil er weiss wie man ein Buch hält
und umblättert).

> Ich finde, Programmieren ist sinnvoll in der Schule weil die 
> Schüler - ähnlich wie in Mathe - Abstaktionsvorgänge lernen. 
> Das Werkzeug muss diese Abstraktionsvorgänge einfach unterstützen 
> - und da scheint mir Squeak (und zwar das klassische Squeak, 
> ausdrücklich nicht Squeakland) einfach Klasse zu sein. Die E-Toys
> unterstützen mir die Abstraktion zu wenig.
[...]
> Nun gibt es einen Bereich, wo man manchmal interaktiv arbeiten kann: 

Hier muss ich Dir lauthals widersprechen ;-) Schon wenn Du den Computer
einschaltest, arbeitest Du interaktiv. Gerade in Smalltalk, wo Änderungen
sofortige Auswirkungen haben, gibt es gar nix anderes als "interaktiv" zu
arbeiten. 

Ob etwas "konkret" oder "abstrakt" ist hängt ebenso von unserer Wahrnehmung
ab. Für Dich mag' das Schreiben einer Methode etwas abstraktes sein, aber
für den der den Editor oder den Compiler bastelt, sind das unglaublich
konkrete, interaktive Dinge.

Insofern unterstützt auch das E-Zeugs das Abstraktionsvermögen. Nur nicht
auf dem spezifischen Gebiet auf dem Du Dich zur Zeit bewegst.

Ciao,
  - Andreas

> -----Original Message-----
> From: squeak-ev-bounces at lists.squeakfoundation.org 
> [mailto:squeak-ev-bounces at lists.squeakfoundation.org] On 
> Behalf Of Klaus Füller
> Sent: Saturday, November 15, 2003 6:37 PM
> To: Squeak e.V.
> Subject: Re: [Squeak-ev] Sichern eines SketchMorphs
> 
> 
> Bert Freudenberg schrieb:
> > Klaus Füller wrote:
> > 
> >> Bert Freudenberg schrieb:
> >>
> >>> Klaus Füller wrote:
> >>>
> >>>> Ich habe einen SketchMorph (=Igel) gezeichnet, den ich 
> per Methode 
> >>>> aus einer anderen Klasse (=IgelFenster) auf dem Bildschirm 
> >>>> auftauchen und herumlaufen lasse --- funktioniert wunderbar.
> >>>>
> >>>> Aber wenn ich das Projekt sichere und anschließend in 
> ein anderes 
> >>>> Image lade, ist der SketchMorph nicht da.
> [...]
> >> Wenn ich einen Inspektor des SketchMorph aufrufe und dort sage 
> >> 'IgelFenster igelMorph: self', dann habe ich den 
> gewünschten Zustand 
> >> wieder hergestellt (diese Methode setzt das Klassenattribut).
> >>
> >> Ich frage mich, ob das auch automatisch geht?  Wo ist diese 
> >> Klassenvariable gespeichert?
> > 
> > 
> > Gar nicht. Es wird alles was sichtbar ist gespeichert, plus 
> optional der 
> > Quelltext. Mehr nicht.
> > 
> > Du bewegst dich da an der Grenze zwischen zwei Welten - der 
> > Smalltalk-Welt mit Browser, Quelltext, etc., und der 
> E-Zeug-Welt, die 
> > Projekte, Skripting etc. bietet. Was du willst ist einfach nicht 
> > vorgesehen.
> > 
> > Klassenvariablen initialisiert man üblicherweise beim Laden 
> der Klasse 
> > in der #initialize Methode (schau dich einfach im Image 
> um). Da kann man 
> > z.B. Bilder aus einer Datei laden. Die ganz Harten 
> speichern ein Bild 
> > auch schon mal als Quelltext ab (siehe z.B. MenuItemMorph class >> 
> > initialize).
> > 
> 
> Genau das beginne ich langsam zu verstehen.  Einstein soll 
> einmal gesagt 
> haben "make it as simple as possible, but not simpler". Ich habe (als 
> Lehrer) den Eindruck, dass die "E-Zeug-Welt" eine zu sehr 
> vereinfachte 
> Welt ist.  Ich finde, Programmieren ist sinnvoll in der 
> Schule weil die 
> Schüler - ähnlich wie in Mathe - Abstaktionsvorgänge lernen.  Das 
> Werkzeug muss diese Abstraktionsvorgänge einfach unterstützen 
> - und da 
> scheint mir Squeak (und zwar das klassische Squeak, 
> ausdrücklich nicht 
> Squeakland) einfach Klasse zu sein. Die E-Toys unterstützen mir die 
> Abstraktion zu wenig.
> 
> [Beispiel: Die Schüler sollen eine Art von elektrischer Eisenbahn auf 
> dem Bildschirm fahren lassen, sie sollen aber die Anweisungen 
> dazu _als 
> Programmtext_ eingeben. Jetzt könnte ich was zu den 
> Lernzielen sagen und 
> eine didaktische Analyse veranstalten - verkneife mir das aber.]
> 
> Nun gibt es einen Bereich, wo man manchmal interaktiv arbeiten kann: 
> Beim Entwurf von Fenstern o.ä.  Es hat nicht immer Sinn, ein 
> Fenster mit 
> Buttons und Eingabefeldern per Programm aufzubauen, es also 
> umfangreich 
> und detailliert (und mühsam) als Text zu beschreiben.  
> Manchmal könnte 
> man es "zusammenklicken", besorgt sich einen "Handle" und verwendet 
> diese Struktur im Programm.  Auch andere Teile der GUI eines Projekts 
> könnte man interaktiv erstellen.  Hoffentlich gibt es eine einfache 
> Möglichkeit, derartige Projekte zu speichern und wieder zu laden.
>