SqueakInf11-Schlager Anmerkungen

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
42 messages Options
123
Reply | Threaded
Open this post in threaded view
|

SqueakInf11-Schlager Anmerkungen

stepken
SqueakInf11-Schlager.pdf

Hallo, Markus!

Vielen Dank für Dein Tutorial, hätte noch einige Anmerkungen dazu...:

Für den Einsteiger ist es schwer, aus der Fülle der Informationen ein korrektes, mentales Modell aufzubauen, und dann die Details korrekt einzuordnen. Aus didaktischer Sicht halte ich es für besser, zuerst ein mentales Modell von Smalltalk, Squeak, Etoys zu vermitteln und dann erst mit Details zu beginnen.
So fände ich es sehr hilfreich, wenn man auf die Unterschiede zwischen Smalltalk und konventionellen Programmiersprachen hinweist. In Smalltalk greift ein Programm nicht in einen Datenbereich hinein, es wird also ein Objekt nicht von außen verändert, sondern es wird kommuniziert -> Sender an Receiver - "Schminke Dich!", und das Objekt (Frau, z.B.) weiß dann selber, wie es sich anmalt, weil - nur es kennt sich selber am besten ... Das erklärt auch, daß viele Methoden nur bei bestimmten Objekten verfügbar sind. So weiß sich ein Text oder eine Kurve selber einzufärben, während z.B. das Farb-Halo bei Pixelgrafiken keine Auswirkungen hat. Weiterhin unterscheidet Squeak zwischen Vektor-Objekten und Pixelobjekten, wobei das Malprogramm nur geschickt suggeriert, daß man Pixel vergrößen könnte -> Es rechnet beim Vergrößern die Bauklötze weg. Das hast Du zwar später erklärt, aber der Zusammenhang mit Halo's die z.B. da sind, aber nix bewirken - der lohnt sich schon früher zu erwähnen ... -> Spart Frust ...
Weiterhin wäre die Unterscheidung zwischen Objekt und seiner Repräsentation sehr wichtig. Erstelle ich nämlich mittels eines Behälters mit "Objekt an Zeiger..." eine Animation, so kann man z.B. nicht durch Skalieren eines Frames im Behälter in die Animation eingreifen -> es wird immer das Originalobjekt genommen, obwohl es im Behälter z.B. skaliert wurde. Nur so ist z.B. das mit Ziehe Kostüm an .. zu erklären -> der Behälter wird zu einer Kleiderkammer, wo immer abwechselnd ein Kostüm herausgegeben wird, was sich das Objekt dann überzieht.

S. 72 GGT -> Warum nicht auch den KGV daraus errechnen? KGV = Produkt beider Zahlen/GGT

S. 76 -> Kann ein Programm nicht aus vielen Algorithmen gleichzeitig bestehen?

S. 84 -> Warum Python? Warum nicht in Smalltalk das Beispiel?

S. 87 -> Flussdiagramme. Ist Dir schon aufgefallen, daß die Kacheln in den Etoys Skripten exakt den Nassi-Shneydermann - Diagrammen entsprechen? (Struktogramme bei Dir genannt?) Wozu also Flußdiagramme und UML?

.sar - Pakete, das Standard-Format für Softwarepakte, kann man laden mit SARInstall installSAR: 'Paman.sar'.

Überhaupt, warum nimmst Du Squeak 3.9? Das OLPC - Image 1111 (latest version) von tinlizzy mit den Online Patches hat sehr viele Bugs korrigiert, darunter z.B. Text in/über mehrere Kurven hintereinander fließen lassen funktioniert nun klasse, Installtion von Zusatzfonts, RepeatTimes - Kachel in Etoys, Connectoren - richtig geil ..(kann man Motor mit Kurbelwelle, Pleuel .. in wenigen Minuten animieren), schau Dir mal "Curvy Connectors" (mit Shift Taste ziehen) und das Verhalten von Random - Connectors an ... (Die rasten ineinander ein, "verfolgen" Mittelsenkrechten ...u.s.w.  ... feine Dinge. Erwähnst Du natürlich wegen dem Abstieg auf 3.9 nicht ... OLPC auf 3.8 basierend ist viel weiter, als sie 3.9 Version von Squeakland.

Daß man zuerst immer ein Projekt aufmachen soll, finde ich sehr wichtig. Ansonsten verstrickt man sich bei Projekten in Projekten, die sich plötzlich nicht mehr laden lassen ...  
 
Außerdem bin ich ungücklich, daß das Auto oder die Mondlandefähre als Beispiele von Dir nicht geschätzt werden.

Mich hat dies hier fasziniert, Physik Animation:

http://icampus.mit.edu/MagicPaper/

Hier das Video:

http://vowe.net/archives/007742.html

Squeak kann sowas aber auch ... ich implementiere gerade in einige Etoys - Objekte spezielle Eigenschaften, die lernen fallen. So habe ich z.B. in Objekt Kugel folgendes implementiert. Die Kugel kann nun einen selbstgemalten Hang herunterrollen, beschleunigt, hüpft, springt, nimmt bergab fahrt auf und bremst ab, wenn ein Hügel kommt, und titscht mit anderen Kugeln herum ... Billiard... So kann ich z.B. eine Half-Pipe malen, und von rechts und links Kugeln fallen lassen, die sich treffen, übereinander springen, aneinander abprallen ... Ich habe da EToys - Kacheln gemacht - "feel gravity" "feel material" "feel friction" ... weiß noch nicht, ob das das richtige Konzept ist .. (Vorschläge?)
Jedenfalls fährt nun mein Auto schon den Berg herunter und springt über Schluchten ... das mit den Massenträgheitsmomenten muß ich noch implementieren ... etwas schwieriger ... dauert noch ein paar Tage ...
Ich werde es jedoch nur für das OLPC Image machen, 3.9 ist hinter dem Mond, und für mich tot ...

Interessant ist auch die Generierung von Morphen - Welt->Neuer Morph-> Alphabetische Liste ... Calendar ... eine Fülle von Objekten, die da unter OLPC - 1111 zur Verfügung stehen ... auch kann man Bilder in Squeak herein laden ...

So habe ich z.B. von der Merzedes - Benz Homepage ein Auto aus verschiedenen Perspektiven geladen, immer 5° - Winkel und fahre nun mit diesem 3-D Auto über einen Gelände Pacours, per Joystick gesteuert ... Photorealistisch ... Funktioniert mit EToys, Behälter und Zeiger auf Objekte in Behälter mit Richtungsänderung koppeln ...

Auch läßt Du unerwähnt, daß diese Zeiger "Objekt auf Zeiger" eigentlich Iteratoren sind ... Etoys bietet ja nun fast alles an, was OO - Programmierung ausmacht ...

Außerdem wäre hilfreich, wenn man z.B. Text aus einem Herzchen über eine Kurve in ein anderes Herzchen fließen läßt, das einmal zu zeigen, wie es in Etoys geht, und das dann mit 10 Zeilen reinem Smalltalk - Code zu vergeichen -> Das gibt einem das Gefühl, daß man wirklich versteht, was EToys eigentlich für Code generiert dahinter ... Ich habe auch einige Skripte, z.B. die Mondlandefähre mit Joysticksteuerung einfach mal händisch im Workspace nachprogrammiert ...
 
So, das wäre es erst einmal ... Soweit meine Anregungen ...

Have fun, Guido





Reply | Threaded
Open this post in threaded view
|

Re: SqueakInf11-Schlager Anmerkungen

Markus Schlager-2
Hallo Guido!

Erst einmal vielen Dank für deine Anmerkungen. Wie es aussieht, muß ich
wohl ein paar Sachen erzählen, um das eine oder andere verständlicher zu
machen.

Zunächst einmal zu mir selber: Im Grunde habe ich von Squeak und
Smalltalk keine Ahnung, komme auch nicht aus der Informatik, sondern bin
von meiner Ausbildung her (reiner) Mathematiker (war einmal in der
algebraischen Geometrie zu Hause) und Lehrer für Mathematik und Physik
mit einer berufsbegleitenden Nachqualifikation für Informatik. Eine
Sache, die in meinem Tutorial passiert, ist daher z.B. ein schlichtes
Mitprotokollieren meines eigenen Erlernens von Smalltalk.

Was sich ohnehin woanders in für mich brauchbarer Form findet. habe ich
(soweit für meine Zwecke nötig) verlinkt, aber nicht dupliziert - dazu
gehören natürlich drive-a-car und lunar-lander sowie die sonstigen
Standardprojekte. Diese Dinge finden sich z.B. in Heiko Schröders
Tutorial, auf das ich die Schüler als erstes auch angesetzt habe. In
meine Folien aufgenommen habe ich dagegen (in meinen Augen)  grundlegende
Techniken im Umgang mit eToys, die ich, ehrlich gesagt, nirgends
vernünftig dokumentiert gefunden habe, sondern durch Herumprobieren und
(kontinuierliches) Mitlesen von Mailinglisten gelernt habe. Squeak als
Entwicklungsumgebung findet sich immerhin fremdsprachig dokumentiert, aber
die Begeisterung meiner Schüler, sich Informationen aus französischen
oder spanischen Quellen zusammenzusuchen, hält sich in Grenzen.

Zum Sinn und Zweck des Tutorials:

An sich geht es hier nicht (primär) um Squeak, sondern um den
Informatikunterricht an einem bayerischen Gymnasium, momentan in der 11,
Jahrgangsstufe, künftig (und dann nicht mehr nur an einigen wenigen
Gymnasien wie bislang) dann (ab Schuljahr 2008/9) in der 10. Klasse.
Dadurch steht es in einem Kontext (Lehrplan), der auch erklärt, warum UML
und Flußdiagramme hier eine wesentliche Rolle spielen. Das große Thema
im Unterricht heißt nicht 'Programmieren' sondern 'Ablaufmodellierung'.
Squeak/Smalltalk hat die Rolle eines Beispiels, um Modellierungstechniken
umzusetzen. Was die Lehrerbildung in Bayern anbelangt, werden die Kollegen
vermutlich primär auf Java getrimmt, was sich wohl auch in den (noch zu
schreibenden) Schulbüchern widerspiegeln wird. Was ich hier mache, ist,
Alternativen auszuprobieren und sie in einem Lehrernetzwerk auch ein wenig
zu propagieren. Die letzten Jahre habe ich mit Python gearbeitet (das ist
auch der Grund, warum in den Folien der Heron-Algorithmus (noch nur) in
Python implementiert ist - ich wußte in dem Moment schlicht noch nicht,
wie man das in Smalltalk macht).

Der Grund, warum ich auf Smalltalk gestoßen bin, sind zwar die eToys,
aber die sind in der Unterstufe relevant. Dort lernen die Schüler (bei
mir mittlerweile mit Scratch) die Grundstrukturen imperativer Programme.
In Klasse 10 soll dann das objektorientierte Paradigma im Mittelpunkt
stehen, und Squeak bietet in meinen Augen die schöne Möglichkeit, hier
das Innenleben des aus der Unterstufe vertrauten Werkzeugs zu erkunden.
Deshalb probiere ich das dieses Jahr aus.

Was ich gerne wüßte - eine Frage an die produktiv arbeitenden Squeaker:

Wie sieht der typische Workflow bei GUI-Programmierung in Squeak aus?  
Baut ihr GUIs üblicherweise via Maus aus Morphen zusammen und erzeugt
daraus dann irgendwie neue Klassen, oder ist der typische Weg doch der,
alles quelltextorientiert im Browser zu konzipieren? (Nach Erlernen der
Grundkonzepte, sollen die Schüler schließlich ein 'typisches' Projekt
umsetzen.)

Warum ausgerechnet Squeak 3.9:

Die eToys sind hier nur eine Randerscheinung. Die Ablaufmodellierung soll
in einer typischen Programmierumgebung erprobt werden, also geht es um
Smalltalk. Soviel ich auf den Mailinglisten gelernt habe, sind dafür die
images von squeak.org 'zuständig'. Abgesehen davon bin ich zu wenig
Fachmann, um die Qualitäten verschiedener images wirklich würdigen zu
können.

Unterrichtlicher Kontext:

Das große Thema in den vier Unterrichtsjahren heißt Modellierung unter
objektorientierten Vorzeichen. Was die Schüler lernen sollen, ist
übersichtliche und strukturierte Darstellung von 'Information'. Kurz
gesagt, ist das wichtigste der Umgang mit verschiedenen Formen von
Diagrammen und die Erkenntnis, daß diese ein richtig wertvolles Vehikel
sind. Alles was mit Rechnern zu tun hat (also z.B auch das Programmieren)
ist ein *Neben*produkt des Unterrichts.

Immer vorausgesetzt, daß die Schüler überhaupt qualifiziertes
Lehrpersonal haben, lernen sie:

6. Klasse (bislang 10. Klasse):

Klassen und Objekte. Dazu gehört ganz massiv (vereinfachtes) UML, an sich
auch Datenkapselung (wie von Dir angesprochen) und das
Nachrichtenkonzept). Umgesetzt wird das (in meinen Augen eher
ungeeigneterweise) mit Vektorgraphiken, Textdokumenten, Präsentationen
und Hypertext.

7. Klasse (im Moment eben auch 11. Klasse):

Ablaufmodellierung, insbesondere die klassischen imperativen Strukturen.
Im Prinzip z.B. eine Sache für eToys, denen bislang aber die Schleifen
fehlten. Scratch paßt hier wie die Faust aufs Auge. Von der Modellierung
her propagieren die Schulbücher an dieser Stelle Struktogramme - ich
selber finde Flußdiagramme 'besser'.

9. Klasse (ab 2007/8):

Datenflüsse und Datenmodellierung, insbes. auch ER-Modell und Datenbanken

10, Klasse (ab 2008/9, im Moment auch noch 11. Klasse):

OOM und OOP, mehr 'M' als 'P'. Konkrete Umsetzung steht noch aus.  (Wer
Smalltalk propagieren will, kann gern die Schulbuchverlage anbohren.)

Wesentliche Grundkonzepte sind den Schülern, für die das Tutorial
gedacht ist, also bereits vertraut (etwas das Objekt-Konzept). Zudem gibt
es im Unterricht auch einen Lehrer, der den roten Faden etwas ziehen kann.

Ein Vergleich mit anderen Programmiersprachen ist in dem Kontext
bedeutungslos, weil das hier für die Mehrheit der Schüler die erste
Sprache ist, die sie überhaupt lernen. Squeakspezifische Spezialtricks
sind auch sekundär, da die Schüler primär 'typische' Dinge lernen
sollen.  Freilich sind sie ein wenig das Salz in der Suppe, aber an der
Stelle muß ich auch offen erklären, daß ich die wenigsten selbst kenne.
Squeak eröffnet sich mir auch erst nach und nach. (Da geht es unter
anderem auch noch um so Probleme wie sich nicht mehr öffnen oder
speichern lassende Projekte - 'Unterricht in Echtzeit' ;-) )

Schöne Grüße

Markus
-----------------------------------------------
 Markus Schlager               m.slg(at)gmx.de

Reply | Threaded
Open this post in threaded view
|

Re: SqueakInf11-Schlager Anmerkungen

Klaus D. Witzel
Hallo Markus,

on Sun, 11 Mar 2007 23:48:26 +0100, you wrote:
...
> Was ich gerne wüßte - eine Frage an die produktiv arbeitenden Squeaker:
>
> Wie sieht der typische Workflow bei GUI-Programmierung in Squeak aus?
> Baut ihr GUIs üblicherweise via Maus aus Morphen zusammen und erzeugt
> daraus dann irgendwie neue Klassen, oder ist der typische Weg doch der,
> alles quelltextorientiert im Browser zu konzipieren? (Nach Erlernen der
> Grundkonzepte, sollen die Schüler schließlich ein 'typisches' Projekt
> umsetzen.)

Erst einmal vielen Dank für Deine Arbeit an+mit Squeak!

Zu Deiner Frage: der "typische" Ansatz bei der GUI-Programmierung wird von  
der späteren Verwendung geprägt. Soll das erzeugte GUI in ein gut  
wartbares Produkt integriert werden so wird oftmals (früher oder später)  
eine quelltextorientierte Beschreibung erzeugt. Wesentlich dabei ist das  
Vorhandensein von Werkzeugen die die Wartung dieses speziellen GUIs  
erleichtern oder gar erst ermöglichen. Auch die (Un-)Möglichkeiten des  
Transports zum (zur Integration in den) nächsten Computer haben einen  
direkten Einfluss.

Soll das GUI aber nur zum "Vergnügen" dienen und/oder muss es der nächste  
Kollege auch nicht gleich verstehen dann ist der Weg egal :)

Beide Ansätze sind in meiner Erfahrung unabhängig von der  
Entwicklungsumgebung; sofern sie (so wie bei Squeak) überhaupt unterstützt  
werden.

/Klaus

Reply | Threaded
Open this post in threaded view
|

Re[2]: SqueakInf11-Schlager Anmerkungen

Herbert König
In reply to this post by Markus Schlager-2
Hallo Markus,

MS> Wie sieht der typische Workflow bei GUI-Programmierung in Squeak aus?
MS> Baut ihr GUIs üblicherweise via Maus aus Morphen zusammen und erzeugt
MS> daraus dann irgendwie neue Klassen, oder ist der typische Weg doch der,

typisch kann ich Dir nicht sagen, ich nutze Beides.

Je unklarer mir das GUI ist, desto eher fange ich grafisch an.

Am Ende ist es bisher immer Quelltext geworden. Ich bin aber
vielleicht ein Sonderfall, ich hab' meistens eine Papierskizze gemacht
und es dann runtergeschrieben. Hat wohl historische Gründe.


Tschöö

Herbert                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: SqueakInf11-Schlager Anmerkungen

stepken
In reply to this post by stepken

> Der Grund, warum ich auf Smalltalk gestoßen bin, sind zwar die eToys,
> aber die sind in der Unterstufe relevant. Dort lernen die Schüler (bei
> mir mittlerweile mit Scratch) die Grundstrukturen imperativer Programme.
> In Klasse 10 soll dann das objektorientierte Paradigma im Mittelpunkt
> stehen, und Squeak bietet in meinen Augen die schöne Möglichkeit, hier
> das Innenleben des aus der Unterstufe vertrauten Werkzeugs zu erkunden.
> Deshalb probiere ich das dieses Jahr aus.
>
>  
Achgottchen... erst imperative Programmierung und dann OO? Völlig
falsche Reihenfolge, aus didaktischer Sicht, das versaut die Denkstrukturen.

Z.B. werden zu Beginn immer Scheifen programmiert. Wozu gibt es das

"foreach element in liste von Objekten machmalwasdamit ..." ...
Iteratoren, wie in Squeak ETOYS auch. Du hast wegen Schleifen
konstrukten Scratch eingeführt. Nur - man braucht sie einfach nicht, sie
sind auch in OO-Programmierung unbedingt zu vermeiden ... Ich brauche
mir nur OO-Code anzuschauen, und wenn ich da irgendwelche Zähl-Schleifen
drin finde, weiß ich - Der Mensch hat OO überhaupt nicht verstanden -
ein Grund, ihn/sie aus dem Team zu schmeißen ...
> Was ich gerne wüßte - eine Frage an die produktiv arbeitenden Squeaker:
>
> Wie sieht der typische Workflow bei GUI-Programmierung in Squeak aus?
*lach* Hmm, mir scheint, daß Du versuchst, "imperatives/prozedurales"
Programmieren in reine OO-Denke hinein zu tragen ... In XING ist ein
interessanter Thread , schon was älter über "Angestaubtes Smalltalk" ...
>  
> Baut ihr GUIs üblicherweise via Maus aus Morphen zusammen und erzeugt
> daraus dann irgendwie neue Klassen, oder ist der typische Weg doch der,
> alles quelltextorientiert im Browser zu konzipieren? (Nach Erlernen der
> Grundkonzepte, sollen die Schüler schließlich ein 'typisches' Projekt
> umsetzen.)
>  
Ich schreibe mir alles mit reinem Smalltalk zusammen, und wenn das
Objekt auf dem Schirm erscheint, gehe ich in Neuer Morph-> in Datei
speichern, lege ihn außerhalb des Images ab, oder ziehe ihn in eine neue
Flap hinein ...findest Du im OLPC Image 1111 + Updates unter Objekte ->
Connectoren. Die .morph - Objekte kannst Du dann auch in andere Images
hineinziehen. Z.B. haben wir mal Autorennen gemacht, mit 4 Personen,
jeder hat sein Auto konstruiert, welches andere Auto's auf einer blauen
Fahrbahn überholen können soll, natürlich vorausschauend und
kollisionsfrei ;-) Was great fun ....
> Warum ausgerechnet Squeak 3.9:
>
> Die eToys sind hier nur eine Randerscheinung. Die Ablaufmodellierung soll
> in einer typischen Programmierumgebung erprobt werden, also geht es um
> Smalltalk.
Nun, Du kannst Dir ja den Code anschauen, welcher ein Morph erzeugt hat,
und dann "händisch" weiter programmieren ... so wie Du die Squeak - Uhr
ja kopiert hast, und dann veränderst ...
>  Soviel ich auf den Mailinglisten gelernt habe, sind dafür die
> images von squeak.org 'zuständig'. Abgesehen davon bin ich zu wenig
> Fachmann, um die Qualitäten verschiedener images wirklich würdigen zu
> können.
>  
Hmmm, das OLPC - Image z.B. hat eine "repeattimes" - Kachel, da hättest
Du dann wohl Deine Schleifen ... Was eigentlich kann Scratch nun besser
oder mehr als ETOYS? Mir erscheint es nur "hübscher" ...

> Unterrichtlicher Kontext:
>
> Das große Thema in den vier Unterrichtsjahren heißt Modellierung unter
> objektorientierten Vorzeichen. Was die Schüler lernen sollen, ist
> übersichtliche und strukturierte Darstellung von 'Information'. Kurz
> gesagt, ist das wichtigste der Umgang mit verschiedenen Formen von
> Diagrammen und die Erkenntnis, daß diese ein richtig wertvolles Vehikel
> sind. Alles was mit Rechnern zu tun hat (also z.B auch das Programmieren)
> ist ein *Neben*produkt des Unterrichts.
>  
Wo sind da die Erfolgserlebnisse?

> Immer vorausgesetzt, daß die Schüler überhaupt qualifiziertes
> Lehrpersonal haben, lernen sie:
>
> 6. Klasse (bislang 10. Klasse):
>
> Klassen und Objekte. Dazu gehört ganz massiv (vereinfachtes) UML, an sich
> auch Datenkapselung (wie von Dir angesprochen) und das
> Nachrichtenkonzept). Umgesetzt wird das (in meinen Augen eher
> ungeeigneterweise) mit Vektorgraphiken, Textdokumenten, Präsentationen
> und Hypertext.
>
>  
Geht alles mit Squeak ... Textverarbeitung, wo die Buchstaben sogar
einen selbstgemalten Wasserfall herunterfließen ... Präsentationen? ->
Schau Dir mal in OPLC 1111 + Updates den Ereignisrecorder oder
> 7. Klasse (im Moment eben auch 11. Klasse):
>
> Ablaufmodellierung, insbesondere die klassischen imperativen Strukturen.
>  
Ich würde mich weigern, so etwas überhaupt noch zu unterrichten ...
> Im Prinzip z.B. eine Sache für eToys, denen bislang aber die Schleifen
> fehlten.
dank Iteratoren ist nix mehr mit Schleifen. Gottseidank!
>  Scratch paßt hier wie die Faust aufs Auge.
Es passt auf Deine mentalen Modelle, Deine Denkstrukturen. Nur - Deine
Schüler werden versaut mit veralteten Denkweisen ... das hat keine
Zukunft ...
>  Von der Modellierung
> her propagieren die Schulbücher an dieser Stelle Struktogramme - ich
> selber finde Flußdiagramme 'besser'.
>  
Typisch für Menschen, die OO noch nicht so verinnerlicht haben ...
Ereignisse (Events) Nachrichten, Methoden .... wie willst Du das mit
Flußdiagrammen überhaupt darstellen?
> 9. Klasse (ab 2007/8):
>
> Datenflüsse und Datenmodellierung, insbes. auch ER-Modell und Datenbanken
>  
Auweia. Entity-Relationship - Diagramme ... bei OO-Datenbanken, siehe
Magma völlig überflüssig ...
> 10, Klasse (ab 2008/9, im Moment auch noch 11. Klasse):
>
> OOM und OOP, mehr 'M' als 'P'. Konkrete Umsetzung steht noch aus.  (Wer
> Smalltalk propagieren will, kann gern die Schulbuchverlage anbohren.)
>
> Wesentliche Grundkonzepte sind den Schülern, für die das Tutorial
> gedacht ist, also bereits vertraut (etwas das Objekt-Konzept). Zudem gibt
> es im Unterricht auch einen Lehrer, der den roten Faden etwas ziehen kann.
>  
Java ist gegen Smalltalk völlig frustrierend ... Ruby, Python gehen auch
noch, und dann hört es schon auf ... alles andere ist meiner Meinung
nach völliger Schrott. Wenn ich noch an meine C++ - Kurse denke, die ich
gehalten habe ... da mußt Du oft erst 2 A4 - Seiten tippen, um endlich
die Datenmodelle so zu haben, wie Du sie brauchen kannst, siehe STL, und
in Smalltalk brauche ich 3 Zeilen ...
> Ein Vergleich mit anderen Programmiersprachen ist in dem Kontext
> bedeutungslos, weil das hier für die Mehrheit der Schüler die erste
> Sprache ist, die sie überhaupt lernen.
Umso besser. Es wird Zeit, daß die neue Generation auf Smalltalk
umsteigt ... Exupery ist ja auch ein Smalltalk - Maschinencode -
Compiler, der schon recht fix läuft, aber noch in Entwicklung ist ...
Speed ohne Ende.

 > Squeakspezifische Spezialtricks
> sind auch sekundär, da die Schüler primär 'typische' Dinge lernen
> sollen.  Freilich sind sie ein wenig das Salz in der Suppe, aber an der
> Stelle muß ich auch offen erklären, daß ich die wenigsten selbst kenne.
> Squeak eröffnet sich mir auch erst nach und nach. (Da geht es unter
> anderem auch noch um so Probleme wie sich nicht mehr öffnen oder
> speichern lassende Projekte - 'Unterricht in Echtzeit' ;-) )
>  
Verschachtelte Projekte? Ich habe für Unterricht immer schittweise ein
Projekt sauber vorgemacht, sodaß der Schüler an jeder Stelle neu
einsteigen kann....

Viele Grüße, Guido


Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Rita Freudenberg
stepken wrote:

>
>> Der Grund, warum ich auf Smalltalk gestoßen bin, sind zwar die eToys,
>> aber die sind in der Unterstufe relevant. Dort lernen die Schüler (bei
>> mir mittlerweile mit Scratch) die Grundstrukturen imperativer Programme.
>> In Klasse 10 soll dann das objektorientierte Paradigma im Mittelpunkt
>> stehen, und Squeak bietet in meinen Augen die schöne Möglichkeit, hier
>> das Innenleben des aus der Unterstufe vertrauten Werkzeugs zu erkunden.
>> Deshalb probiere ich das dieses Jahr aus.
>>
>>  
> Achgottchen... erst imperative Programmierung und dann OO? Völlig
> falsche Reihenfolge, aus didaktischer Sicht, das versaut die
> Denkstrukturen.
>
> Z.B. werden zu Beginn immer Scheifen programmiert. Wozu gibt es das
>
> "foreach element in liste von Objekten machmalwasdamit ..." ...
> Iteratoren, wie in Squeak ETOYS auch. Du hast wegen Schleifen
> konstrukten Scratch eingeführt. Nur - man braucht sie einfach nicht,
> sie sind auch in OO-Programmierung unbedingt zu vermeiden ... Ich
> brauche mir nur OO-Code anzuschauen, und wenn ich da irgendwelche
> Zähl-Schleifen drin finde, weiß ich - Der Mensch hat OO überhaupt
> nicht verstanden - ein Grund, ihn/sie aus dem Team zu schmeißen ...

Ja, das mag in Entwicklerteams so funktionieren. Ich weiß ja nicht, wie
viel Erfahrung du mit dem deutschen Bildungssystem hast, aber es gibt
Rahmenrichtlinien, an die sich der Lehrer halten muss und die in jedem
Bundesland wieder anders sind. Du magst ja recht haben mit deinen
Ausführungen und das ist nicht die reine Smalltalk-Lehre, es geht ja
nicht darum, die Schüler alle zu Programmierern zu machen. Die
Reihenfolge, in der Stoff behandelt wird, ist in den Rahmenrichtlinien
festgelegt (also, dass z.B. zuerst die Grundstrukturen drankommen). Und
das ist auch nichts Negatives. Hast du mal das Buch von Stephane Ducasse
(Squeak Learning Programming with Robots) gelesen? Er führt da auch
wunderbar diese Grundstrukturen ein und das ist einfach etwas, was
Schüler in diesem Alter erfassen und verstehen können. Das ist doch der
Zweck der Programmiersprache im Unterricht, die Dinge, die man
programmiert, zu verstehen.

> Unterrichtlicher Kontext:
>>
>> Das große Thema in den vier Unterrichtsjahren heißt Modellierung unter
>> objektorientierten Vorzeichen. Was die Schüler lernen sollen, ist
>> übersichtliche und strukturierte Darstellung von 'Information'. Kurz
>> gesagt, ist das wichtigste der Umgang mit verschiedenen Formen von
>> Diagrammen und die Erkenntnis, daß diese ein richtig wertvolles Vehikel
>> sind. Alles was mit Rechnern zu tun hat (also z.B auch das
>> Programmieren)
>> ist ein *Neben*produkt des Unterrichts.
>>  
> Wo sind da die Erfolgserlebnisse?
>> Immer vorausgesetzt, daß die Schüler überhaupt qualifiziertes
>> Lehrpersonal haben, lernen sie:
>>
>> 6. Klasse (bislang 10. Klasse):
>>
>> Klassen und Objekte. Dazu gehört ganz massiv (vereinfachtes) UML, an
>> sich
>> auch Datenkapselung (wie von Dir angesprochen) und das
>> Nachrichtenkonzept). Umgesetzt wird das (in meinen Augen eher
>> ungeeigneterweise) mit Vektorgraphiken, Textdokumenten, Präsentationen
>> und Hypertext.
>>
>>  
> Geht alles mit Squeak ... Textverarbeitung, wo die Buchstaben sogar
> einen selbstgemalten Wasserfall herunterfließen ... Präsentationen? ->
> Schau Dir mal in OPLC 1111 + Updates den Ereignisrecorder oder

Ich finde schon, dass Schüler auch mit herkömmlichen
Textverarbeitungssystemen umgehen können sollten. Glücklicherweise heißt
das nicht mehr unbedingt, dass alle Word lernen, sondern bei guten
Lehrern schon, dass man die Grundprinzipien lernt und dann auch recht
schnell ein neues System bedienen kann.

>> 7. Klasse (im Moment eben auch 11. Klasse):
>>
>> Ablaufmodellierung, insbesondere die klassischen imperativen Strukturen.
>>  
> Ich würde mich weigern, so etwas überhaupt noch zu unterrichten ...
>> Im Prinzip z.B. eine Sache für eToys, denen bislang aber die Schleifen
>> fehlten.
> dank Iteratoren ist nix mehr mit Schleifen. Gottseidank!
>>  Scratch paßt hier wie die Faust aufs Auge.
> Es passt auf Deine mentalen Modelle, Deine Denkstrukturen. Nur - Deine
> Schüler werden versaut mit veralteten Denkweisen ... das hat keine
> Zukunft ...
Du urteilst ganz schön hart. Das mag aus deiner Sicht ja alles stimmen,
aber im Schulsystem kann man nicht machen, was man will, selbst wenn man
davon überzeugt ist, recht zu haben. Veränderungen erreicht man nur
schrittweise, frag mal die Leute, die das seit Jahren versuchen!  Man
muss sich da mit Beamten auseinandersetzen, die den Kern des Problems
gar nicht erfassen. Es wird an verschiedenen Stellen versucht, Smalltalk
und Squeak in die Schulen zu bringen und das ist eine Sysiphos-Arbeit.
Es ist ein Wunder, dass noch nicht alle aufgegeben haben. Wenn man dann
noch kommt und alles umwerfen will, weil es veraltet ist und keine
Zukunft hat, braucht man entweder einen Schulleiter, der einem freie
Hand lässt (was wohl kaum vorkommen dürfte), oder eine Privatschule, in
der man sich zwar auch an die Vorgaben der Rahmenrichtlinien halten
muss, aber viel mehr Gestaltungsspielraum hat oder man kann gleich
einpacken. Also versucht man es "durch die Hintertür", orientiert sich
an den Vorgaben und benutzt alternative Software.
>>  Von der Modellierung
>> her propagieren die Schulbücher an dieser Stelle Struktogramme - ich
>> selber finde Flußdiagramme 'besser'.
>>  
> Typisch für Menschen, die OO noch nicht so verinnerlicht haben ...
> Ereignisse (Events) Nachrichten, Methoden .... wie willst Du das mit
> Flußdiagrammen überhaupt darstellen?
Ich weiß es aus eigener leidvoller Erfahrung, wie lange es dauert, ehe
man das verinnerlicht hat, ich bin noch nicht an dem Punkt, dass ich
sagen würde, ich habe es vollkommen verstanden. Und so geht es natürlich
jedem Lehrer. Das ist für mich das Hauptproblem, zu vermitteln, was das
Besondere an Squeak und Smalltalk ist, eben weil es so anders ist als
alle anderen Sprachen und Werkzeuge. Es wird als "Spielzeug" abgetan,
egal ob ich Etoys oder Botsinc mache.
Und dann  geht es in der Schule eben nicht nur um die eine
Programmiersprache, sondern um Modellierung, da hilft eine Vielfalt, um
abstrahieren zu lernen.
>> 9. Klasse (ab 2007/8):
>>
>> Datenflüsse und Datenmodellierung, insbes. auch ER-Modell und
>> Datenbanken
>>  
> Auweia. Entity-Relationship - Diagramme ... bei OO-Datenbanken, siehe
> Magma völlig überflüssig ...
Ja, schön, wenn du denn OO-Datenbanken nimmst. Du kannst aber nicht auf
einen Schlag alles Bekannte abschaffen und durch komplett Neues
ersetzen. Er-Diagramme sind wieder eine Methode, Zusammenhänge zu
veranschaulichen und was ein Schüler z.B. dabei lernt, ist Modellierung.
Noch ein bisschen Kontext: ich unterrichte Lehrer (berufsbegleitend) an
der Uni, habe es geschafft, dass sie auch Squeak-Etoys kennen lernen und
einige setzen es sogar im Unterricht ein. Ich habe auch schon selbst
Schülerkurse mit Etoys gemacht. Selbst bin ich Informatikerin und
befasse mich seit einiger Zeit etwas mit Informatik-Didaktik.

Viele Grüße,
Rita



Reply | Threaded
Open this post in threaded view
|

Re: SqueakInf11-Schlager Anmerkungen

stepken
In reply to this post by stepken
Hallo, Rita!

>> Achgottchen... erst imperative Programmierung und dann OO? Völlig
>> falsche Reihenfolge, aus didaktischer Sicht, das versaut die
>> Denkstrukturen.
>>
>> Z.B. werden zu Beginn immer Scheifen programmiert. Wozu gibt es das
>>
>> "foreach element in liste von Objekten machmalwasdamit ..." ...
>> Iteratoren, wie in Squeak ETOYS auch. Du hast wegen Schleifen
>> konstrukten Scratch eingeführt. Nur - man braucht sie einfach nicht,
>> sie sind auch in OO-Programmierung unbedingt zu vermeiden ... Ich
>> brauche mir nur OO-Code anzuschauen, und wenn ich da irgendwelche
>> Zähl-Schleifen drin finde, weiß ich - Der Mensch hat OO überhaupt
>> nicht verstanden - ein Grund, ihn/sie aus dem Team zu schmeißen ...
>>    
>
> Ja, das mag in Entwicklerteams so funktionieren. Ich weiß ja nicht, wie
> viel Erfahrung du mit dem deutschen Bildungssystem hast, aber es gibt
> Rahmenrichtlinien, an die sich der Lehrer halten muss und die in jedem
> Bundesland wieder anders sind.
Jaja, wo ist das Problem? In 5 Minuten stelle ich die verschiedenen
Schleifen vor, und danach alles nur noch mit Iteratoren....
> Du magst ja recht haben mit deinen
> Ausführungen und das ist nicht die reine Smalltalk-Lehre, es geht ja
> nicht darum, die Schüler alle zu Programmierern zu machen.
Warum eigentlich nicht? Smalltalk besteht aus 8 Konstrukten, ist eine
sehr Semantik-arme Sprache, sehr einfach zu erlernen und beherrschen.
Ich habe einer Freundin gerade Smalltalk und Squeak beigebracht,
wohlgemerkt, die hatte noch niemals irgendetwas programmiert, und nach 3
Stunden Einführung programmierte die mir, ohne daß ich half, einen
Funktionenplotter, mit X-Y-Diagramm mit Beschriftung, Skaleneinteilung
und ein wachelnder Bleistift zeichnet eine Sinuskurve.
> Die
> Reihenfolge, in der Stoff behandelt wird, ist in den Rahmenrichtlinien
> festgelegt (also, dass z.B. zuerst die Grundstrukturen drankommen). Und
> das ist auch nichts Negatives. Hast du mal das Buch von Stephane Ducasse
> (Squeak Learning Programming with Robots) gelesen?
Nein, kenne ich nicht. Danke für den Hinweis.
> Er führt da auch
> wunderbar diese Grundstrukturen ein und das ist einfach etwas, was
> Schüler in diesem Alter erfassen und verstehen können. Das ist doch der
> Zweck der Programmiersprache im Unterricht, die Dinge, die man
> programmiert, zu verstehen.
*lach* 300 Mannjahre Entwicklungsarbeit in Squeak und "verstehen"? Mir
genügt es, wenn ich sie nutzen kann, Squeak durchforste und verstehe,
was alles in Squeak steckt. Linke Maustaste - Neuer Morph - Nach
Alphabet .... So stieß ich auf "Phonem Recognition". Gut eine Kachel
gebaut, in Etoys, und nun steuere ich das Auto mit Sprache, "links",
"rechts". Wenn man das mentale Modell von Squeak sauber verinnerlicht
hat, also komplett OO-Denke drauf hat, ist die Programmiersprache
Smalltalk eh ein Witz, weil sie der menschlichen Sprache sehr ähnlich
ist. Wenn ich da zurück denke, mit C++ oder Java .... grausts mich. Ich
sehe S# mit Vergnügen entgegen, überlege, ob ich nicht mal ein Projekt
anstoße, Squeak und EToys auf S# zu portieren..... Aber S# ist doch sehr
viel anders, als Smalltalk (Ihhh, Mehrfachvererbung....)
>
>> Geht alles mit Squeak ... Textverarbeitung, wo die Buchstaben sogar
>> einen selbstgemalten Wasserfall herunterfließen ... Präsentationen? ->
>> Schau Dir mal in OPLC 1111 + Updates den Ereignisrecorder oder
>>    
>
> Ich finde schon, dass Schüler auch mit herkömmlichen
> Textverarbeitungssystemen umgehen können sollten.
*lach* Und nach 20 Stunden beherrschen die immer noch nicht das Rechnen
im Text? In Squeak mache ich ein Fenster auf, tippe 34*0.57 und ALT-P
... das Ergebnis steht dann da....Oder mit vielen Personen gleichzeitig
*einen* Text editieren? In Squeak mache ich vom Textfenster einen Clone,
laß den Strom in ein File laufen und parallel wird ein 2. File erzeugt,
in denen die Absatz-Locks für die verschiedenen Instanzen gesetzt
werden, die im Textfenster dann nicht editierbar sind...
Nun - dafür habe ich, nachdem ich den Morph erst einmal verstanden
hatte, ca. 30 Minuten gebraucht.

Organisationen schaffen sich durch den Einsatz von minderwertiger
Softwaretechnik (allen voran Microsoft) ja erst einen riesen Berg an
Problemen, gegen die sie mit viel Geld und Einsatz sich wehren zu müssen
glauben.

> Glücklicherweise heißt
> das nicht mehr unbedingt, dass alle Word lernen, sondern bei guten
> Lehrern schon, dass man die Grundprinzipien lernt und dann auch recht
> schnell ein neues System bedienen kann.
>  
>>> 7. Klasse (im Moment eben auch 11. Klasse):
>>>
>>> Ablaufmodellierung, insbesondere die klassischen imperativen Strukturen.
>>>  
>>>      
>> Ich würde mich weigern, so etwas überhaupt noch zu unterrichten ...
>>    
>>> Im Prinzip z.B. eine Sache für eToys, denen bislang aber die Schleifen
>>> fehlten.
>>>      
>> dank Iteratoren ist nix mehr mit Schleifen. Gottseidank!
>>    
>>>  Scratch paßt hier wie die Faust aufs Auge.
>>>      
>> Es passt auf Deine mentalen Modelle, Deine Denkstrukturen. Nur - Deine
>> Schüler werden versaut mit veralteten Denkweisen ... das hat keine
>> Zukunft ...
>>    
> Du urteilst ganz schön hart.
Fakt, jederzeit belegbar. Das begründet z.B. auch, warum Smalltalk
Seaside und Ruby on Rails so einen durchschlagenden Erfolg haben.
> Das mag aus deiner Sicht ja alles stimmen,
> aber im Schulsystem kann man nicht machen, was man will, selbst wenn man
> davon überzeugt ist, recht zu haben. Veränderungen erreicht man nur
> schrittweise, frag mal die Leute, die das seit Jahren versuchen!
Kein Problem. Da maile ich einfach mal durch, wer mir Ansprechpartner
nenen kann, die im Kultusministerien in den Gremien sitzen, und genau
denen schreibe ich dann ein kleines Pamphlet, mit Codebeispielen, und
dringenden Vorschägen zur Änderung .... nicht länger als 1 A4-Seite...
und dann mal schauen, was passiert ... vielleicht noch in die F.A.Z.,
Süddeutsche ... Medien aufmerksam machen ...
> Man
> muss sich da mit Beamten auseinandersetzen, die den Kern des Problems
> gar nicht erfassen.
Das läßt ich in wenige Worte packen.
>  Es wird an verschiedenen Stellen versucht, Smalltalk
> und Squeak in die Schulen zu bringen und das ist eine Sysiphos-Arbeit.
Jepp.

>  
> Es ist ein Wunder, dass noch nicht alle aufgegeben haben. Wenn man dann
> noch kommt und alles umwerfen will, weil es veraltet ist und keine
> Zukunft hat, braucht man entweder einen Schulleiter, der einem freie
> Hand lässt (was wohl kaum vorkommen dürfte), oder eine Privatschule, in
> der man sich zwar auch an die Vorgaben der Rahmenrichtlinien halten
> muss, aber viel mehr Gestaltungsspielraum hat oder man kann gleich
> einpacken. Also versucht man es "durch die Hintertür", orientiert sich
> an den Vorgaben und benutzt alternative Software.
>  
Naja, an das Curriculum muß man sich wohl halten ... wo man aber die
Schwerpunkte setzt, bleibt Lehrern überlassen. Meiner Meinung nach
scheitert es an vernünftig ausgearbeiteten Unterrichtseinheiten für
Smalltalk/Squeak, und genau daran schreibe ich auch mit ...

>>>  Von der Modellierung
>>> her propagieren die Schulbücher an dieser Stelle Struktogramme - ich
>>> selber finde Flußdiagramme 'besser'.
>>>  
>>>      
>> Typisch für Menschen, die OO noch nicht so verinnerlicht haben ...
>> Ereignisse (Events) Nachrichten, Methoden .... wie willst Du das mit
>> Flußdiagrammen überhaupt darstellen?
>>    
> Ich weiß es aus eigener leidvoller Erfahrung, wie lange es dauert, ehe
> man das verinnerlicht hat, ich bin noch nicht an dem Punkt, dass ich
> sagen würde, ich habe es vollkommen verstanden.
Was ist daran schwer zu verstehen? Du stehst morgens vor dem Spiegel
(nehme ich mal an) und schminkst Dich, weil Du als Objekt dich selber am
besten kennst. Schminkte ich Dich, so wie es bei
imperativen/prozeduralen Programmiersprachen üblich ist, würde ich (in
üblicher Prozedur malend) danebenmalen, wenn Du den Mund öffnetest,
gähntetest. Du aber weist, wann Du gähnen mußt, und unterbrichst das
Schminken. Daher kommuniziere ich nur meinen Wunsch, Dich geschminkt zu
sehen, und Du als Objekt beherrst die Methode Schminken selber.
Ähnlich mit Squeak und Animierten Männchen. Man schmeißt in einen
Behälter verschiedene Kostüme hinein, und ein Objekt zieht sich über
Iteratoren "kostümiere Objekt am Zeiger" die aus der Kleiderkammer vom
Verwalter herausgegebenen Kostüme an.

Das kann man alles wunderbar in einfachster deutscher Sprache
formulieren. Smalltalk/Squeak - dahinter steckt ja gerade genau das
mentale Modell, welches man tagtäglich überall in der Welt, im Alltag
beobachten kann. Und Smalltalk ist menschliche Sprache, siehe Chomsky.

Klassen kann man mit Bauplänen für S-Klasse Merzedes vergleichen - der
in der Garage liegt, und erst dann Platz wegnimmt, wenn eine Instanz
gebildet wird, also ein Auto aus der Fabrik vom Band läuft ...überhaupt
- Objekte werden in Fabriken (factories) generiert ... Der Button "Neuer
Morph" ist eine solche Fabrik ....

> Und so geht es natürlich
> jedem Lehrer.
Nö. Du hattest vermutlich selber keine guten OO-Lehrer ... schade. Ich
hoffe, ich werde mal einige Weisheiten meiner Lehrer weitertragen können
...
> Das ist für mich das Hauptproblem, zu vermitteln, was das
> Besondere an Squeak und Smalltalk ist, eben weil es so anders ist als
> alle anderen Sprachen und Werkzeuge.
Squeak und Smalltalk sind normal, alles andere ist "unnormal".
>  Es wird als "Spielzeug" abgetan,
> egal ob ich Etoys oder Botsinc mache.
>  
Botsinc muß ich mir mal anschauen, danke für den Hinweis....
> Und dann  geht es in der Schule eben nicht nur um die eine
> Programmiersprache, sondern um Modellierung, da hilft eine Vielfalt, um
> abstrahieren zu lernen.
>  
Squeak ist insgesamt ein "Modeller", nix anderes. Nur - ich habe
verschiedenste Objekte, die ich modellieren und beeinflussen kann... So
kann ich z.B. den Paketbrowser oder Refactoring - Editor auch noch
animieren - ebenso, wie das Schachbrett und die einzelnen Figuren, die
sich drehen, wenn ich Schach spiele ... perfekter kann OO doch garnicht
erklärt werden!!!!!!!!!!
> Ja, schön, wenn du denn OO-Datenbanken nimmst.
Öffne doch einmal diese ominöse "Book" (Buch) (nicht den veralteten
Karteikasten, der ist kapputt), Male ein paar Felder mit Beschriftung
(diese mit rotem Halo verankern) drauf - gehe im roten Halo auf
"Buchergänzungen->als Prototyp speichern" und fertig ist die
OO-Datenbank. Die Struturen kannst Du jederzeit ohne Datenverlust und
irgendwelche Datenbank - Kenntnisse verändern. Anlernzeit - 10 Minuten.
Dann kann jeder sich seine eigene Datenbank bauen, Grafiken, Musik,
Powerpoint-Präsentationen einladen, u.s.w. Auch ein OO-Server ist
anschließbar womit viele gleichzeitig auf die Datenbank zugreifen
können. Und wenn Du noch willst, machst Du dir einen Button, der dann
das Mailprogramm in Squeak startet, und Serienmails raushaut. Das ist
doch Kinderkram!!!!!!!!
>  Du kannst aber nicht auf
> einen Schlag alles Bekannte abschaffen und durch komplett Neues
> ersetzen.
Doch, ich kann. Schon mal Zope (Plone) angeschaut? Alles rein OO-mäßig
implementiert. Ich brauche ungefähr 10 Minuten, dann habe ich eine
OO-Datenbank mit Eingabefeld, Suchfenster und Listenausgabe für's
Internet fertig!!!!!!!!!!! Ohne irgendwelche Datenbankkenntnisse.
>  Er-Diagramme sind wieder eine Methode, Zusammenhänge zu
> veranschaulichen und was ein Schüler z.B. dabei lernt, ist Modellierung.
>  
Wer braucht denn das überhaupt noch, angesichts OO-Datenbanken ud
Fulltext - Index? Googles Technik mit fast 0!!! - Suchzeit in Pentabyte
großen Datenbanken ist doch super erfolgreich. Dahinter steckt einfach
nur - Glimpse. Siehe auch TRIES. Jeder Suchstring wird in fast 0
Suchzeit in beliebig großen Datenbeständen gefunden. Microsoft hat
Fulltext Indizes in seinem Scheiß SQL 200x Server ja auch erst seit 1.5
Jahren, mit einem Service Pack heimlich eingeführt, und das Locking mit
MVCC kann Microsoft ja auch erst sein SQL 2007. Nur - die Datenbank -
Techniker und Programmierer haben es einfach noch nicht gerafft, wie
viel einfacher die Programmierung dadurch wird ... mal abgesehen davon,
daß nur sehr wenige Datenbanken Fulltext im Betrieb indizieren können.
> Noch ein bisschen Kontext: ich unterrichte Lehrer (berufsbegleitend) an
> der Uni, habe es geschafft, dass sie auch Squeak-Etoys kennen lernen und
> einige setzen es sogar im Unterricht ein. Ich habe auch schon selbst
> Schülerkurse mit Etoys gemacht. Selbst bin ich Informatikerin und
> befasse mich seit einiger Zeit etwas mit Informatik-Didaktik.
>  
Damit beschäftige ich mich auch schon seit längerem ....
> Viele Grüße,
> Rita
>  
Viele liebe Grüße, Guido Stepken

Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Rita Freudenberg
stepken wrote:

> Hallo, Rita!
>>> Achgottchen... erst imperative Programmierung und dann OO? Völlig
>>> falsche Reihenfolge, aus didaktischer Sicht, das versaut die
>>> Denkstrukturen.
>>>
>>> Z.B. werden zu Beginn immer Scheifen programmiert. Wozu gibt es das
>>>
>>> "foreach element in liste von Objekten machmalwasdamit ..." ...
>>> Iteratoren, wie in Squeak ETOYS auch. Du hast wegen Schleifen
>>> konstrukten Scratch eingeführt. Nur - man braucht sie einfach nicht,
>>> sie sind auch in OO-Programmierung unbedingt zu vermeiden ... Ich
>>> brauche mir nur OO-Code anzuschauen, und wenn ich da irgendwelche
>>> Zähl-Schleifen drin finde, weiß ich - Der Mensch hat OO überhaupt
>>> nicht verstanden - ein Grund, ihn/sie aus dem Team zu schmeißen ...
>>>    
>>
>> Ja, das mag in Entwicklerteams so funktionieren. Ich weiß ja nicht,
>> wie viel Erfahrung du mit dem deutschen Bildungssystem hast, aber es
>> gibt Rahmenrichtlinien, an die sich der Lehrer halten muss und die in
>> jedem Bundesland wieder anders sind.
> Jaja, wo ist das Problem? In 5 Minuten stelle ich die verschiedenen
> Schleifen vor, und danach alles nur noch mit Iteratoren....
Es dauert viel länger, Schüler mit der Idee einer Schleife vertraut zu
machen, als man glaubt. Es wäre sicher leichter, wenn sie schon alle in
der Grundschule mit Etoys hätten arbeiten dürfen. Jedenfalls ist das
eine Grundannahme, die nur leider schwer zu belegen ist.

>> Du magst ja recht haben mit deinen Ausführungen und das ist nicht die
>> reine Smalltalk-Lehre, es geht ja nicht darum, die Schüler alle zu
>> Programmierern zu machen.
> Warum eigentlich nicht? Smalltalk besteht aus 8 Konstrukten, ist eine
> sehr Semantik-arme Sprache, sehr einfach zu erlernen und beherrschen.
> Ich habe einer Freundin gerade Smalltalk und Squeak beigebracht,
> wohlgemerkt, die hatte noch niemals irgendetwas programmiert, und nach
> 3 Stunden Einführung programmierte die mir, ohne daß ich half, einen
> Funktionenplotter, mit X-Y-Diagramm mit Beschriftung, Skaleneinteilung
> und ein wachelnder Bleistift zeichnet eine Sinuskurve.
>> Die Reihenfolge, in der Stoff behandelt wird, ist in den
>> Rahmenrichtlinien festgelegt (also, dass z.B. zuerst die
>> Grundstrukturen drankommen). Und das ist auch nichts Negatives. Hast
>> du mal das Buch von Stephane Ducasse (Squeak Learning Programming
>> with Robots) gelesen?
> Nein, kenne ich nicht. Danke für den Hinweis.
>> Er führt da auch wunderbar diese Grundstrukturen ein und das ist
>> einfach etwas, was Schüler in diesem Alter erfassen und verstehen
>> können. Das ist doch der Zweck der Programmiersprache im Unterricht,
>> die Dinge, die man programmiert, zu verstehen.
> *lach* 300 Mannjahre Entwicklungsarbeit in Squeak und "verstehen"?
Ich rede ja nicht davon, dass sie Squeak als System verstehen. Ich
meine, sie sollen das Problem, das programmiert werden soll, verstehen.
Natürlich bin ich der Meinung, dass Squeak dafür ein ideales Werkzeug
ist, eben wegen der Vorteile der Semantik, die du oben angesprochen
hast. Aber es existiert ein Pool an Informatik-Aufgaben, die sich im
Laufe der Jahre angesammelt haben und die sozusagen immer als Maßstab
dienen. Wenn man diese üblichen Aufgaben mit einer Programmiersprache
umsetzen kann, dann ist die Sprache gut geeignet. Das war mein größtes
Problem in meinem ersten Squeak-Kurs (also Smalltalk), passende Aufgaben
zu finden. Ich habe Mark Guzdials Buch benutzt, ich musste es ja selber
alles lernen. Und da ist es eben in den Augen der Lehrer schon ein
Manko, dass man sich nicht sofort eine Oberfläche zusammenklicken kann.
Dass man eine viel größere Flexibilität hat, wenn man selber bestimmen
kann, wie die Interaktionsobjekte aussehen, wird nicht als
erstrebenswerter Vorteil für die Schule wahrgenommen.
Es gibt da auch so eine Abwehrhaltung, da kommt jemand und behauptet,
das, was man selber macht, wäre schlechter, also Java ist schlecht und
Delphi, das verteidigen die Lehrer dann natürlich. Und es ist schon
einfacher, Smalltalk zu programmieren, wenn man vorher nichts anderes
gemacht hat, als wenn man z.B. von Delphi kommt. Und die zur Zeit im
Schuldienst befindlichen Lehrer kennen alle eine Programmiersprache und
das wird bei den wenigsten Smalltalk sein.
Die Vorgehensweise, sich das System zu erschließen, indem man es
durchforstet, ist auch völlig ungewohnt. Hier ist es ebenfalls
schwierig, zu vermitteln, dass gerade das ein revolutionärer Ansatz ist.
Es wird nichts versteckt, ich kann mir alles ansehen und sogar das ganze
System ändern, wenn ich will. Wahrscheinlich fehlt für ein solches
System das didaktische Konzept für die Lehrer. Das muss genauer
ausgearbeitet sein, am besten mit Unterrichtsbeispielen und allem drum
und dran. Eigentlich müssten wir die BotsInc-Umgebung ins Deutsche
übersetzen, ich könnte mir vorstellen, dass man damit diese
Vorgehensweise gut lernen kann.

> Mir genügt es, wenn ich sie nutzen kann, Squeak durchforste und
> verstehe, was alles in Squeak steckt. Linke Maustaste - Neuer Morph -
> Nach Alphabet .... So stieß ich auf "Phonem Recognition". Gut eine
> Kachel gebaut, in Etoys, und nun steuere ich das Auto mit Sprache,
> "links", "rechts". Wenn man das mentale Modell von Squeak sauber
> verinnerlicht hat, also komplett OO-Denke drauf hat, ist die
> Programmiersprache Smalltalk eh ein Witz, weil sie der menschlichen
> Sprache sehr ähnlich ist. Wenn ich da zurück denke, mit C++ oder Java
> .... grausts mich. Ich sehe S# mit Vergnügen entgegen, überlege, ob
> ich nicht mal ein Projekt anstoße, Squeak und EToys auf S# zu
> portieren..... Aber S# ist doch sehr viel anders, als Smalltalk (Ihhh,
> Mehrfachvererbung....)
>>
>>> Geht alles mit Squeak ... Textverarbeitung, wo die Buchstaben sogar
>>> einen selbstgemalten Wasserfall herunterfließen ... Präsentationen?
>>> -> Schau Dir mal in OPLC 1111 + Updates den Ereignisrecorder oder
>>>    
>>
>> Ich finde schon, dass Schüler auch mit herkömmlichen
>> Textverarbeitungssystemen umgehen können sollten.
> *lach* Und nach 20 Stunden beherrschen die immer noch nicht das
> Rechnen im Text? In Squeak mache ich ein Fenster auf, tippe 34*0.57
> und ALT-P ... das Ergebnis steht dann da....
Hm, ist Rechnen im Text denn das Kriterium? Ich weiß, wie einfach das in
Squeak geht. Vielleicht fehlt mir da selber noch das Verständnis, aber
einen Brief würde ich in Squeak nicht schreiben. Das muss aber heute
fast jeder, der sich irgendwo bewerben will. Und ich finde es
erschreckend, dass den meisten völlig fremd ist, dass man einen Text
strukturieren kann. Aber eigentlich hoffe ich auch, dass sowas
irgendwann nicht Inhalt von Informatik ist sondern von den Fächern, für
die die Texte geschrieben werden müssen.

> Oder mit vielen Personen gleichzeitig *einen* Text editieren? In
> Squeak mache ich vom Textfenster einen Clone, laß den Strom in ein
> File laufen und parallel wird ein 2. File erzeugt, in denen die
> Absatz-Locks für die verschiedenen Instanzen gesetzt werden, die im
> Textfenster dann nicht editierbar sind...
> Nun - dafür habe ich, nachdem ich den Morph erst einmal verstanden
> hatte, ca. 30 Minuten gebraucht.
>
> Organisationen schaffen sich durch den Einsatz von minderwertiger
> Softwaretechnik (allen voran Microsoft) ja erst einen riesen Berg an
> Problemen, gegen die sie mit viel Geld und Einsatz sich wehren zu
> müssen glauben.
>
>> Glücklicherweise heißt das nicht mehr unbedingt, dass alle Word
>> lernen, sondern bei guten Lehrern schon, dass man die Grundprinzipien
>> lernt und dann auch recht schnell ein neues System bedienen kann.
>>  
>>>> 7. Klasse (im Moment eben auch 11. Klasse):
>>>>
>>>> Ablaufmodellierung, insbesondere die klassischen imperativen
>>>> Strukturen.
>>>>        
>>> Ich würde mich weigern, so etwas überhaupt noch zu unterrichten ...
>>>    
>>>> Im Prinzip z.B. eine Sache für eToys, denen bislang aber die
>>>> Schleifen
>>>> fehlten.
>>>>      
>>> dank Iteratoren ist nix mehr mit Schleifen. Gottseidank!
>>>    
>>>>  Scratch paßt hier wie die Faust aufs Auge.
>>>>      
>>> Es passt auf Deine mentalen Modelle, Deine Denkstrukturen. Nur -
>>> Deine Schüler werden versaut mit veralteten Denkweisen ... das hat
>>> keine Zukunft ...
>>>    
>> Du urteilst ganz schön hart.
> Fakt, jederzeit belegbar. Das begründet z.B. auch, warum Smalltalk
> Seaside und Ruby on Rails so einen durchschlagenden Erfolg haben.
>> Das mag aus deiner Sicht ja alles stimmen, aber im Schulsystem kann
>> man nicht machen, was man will, selbst wenn man davon überzeugt ist,
>> recht zu haben. Veränderungen erreicht man nur schrittweise, frag mal
>> die Leute, die das seit Jahren versuchen!
> Kein Problem. Da maile ich einfach mal durch, wer mir Ansprechpartner
> nenen kann, die im Kultusministerien in den Gremien sitzen, und genau
> denen schreibe ich dann ein kleines Pamphlet, mit Codebeispielen, und
> dringenden Vorschägen zur Änderung .... nicht länger als 1 A4-Seite...
> und dann mal schauen, was passiert ... vielleicht noch in die F.A.Z.,
> Süddeutsche ... Medien aufmerksam machen ...
Da wünsche ich dir viel Erfolg, wirklich, es wäre schön, wenn es
gelänge, einflussreiche Leute von Squeak zu überzeugen.
>> Man muss sich da mit Beamten auseinandersetzen, die den Kern des
>> Problems gar nicht erfassen.
> Das läßt ich in wenige Worte packen.
Das Problem dabei ist, die Relevanz zu erkennen. Wenn du das mit wenigen
Worten sagen kannst, dann würde ich mich freuen, wenn du mir einen
kurzen Abschnitt schicken könntest. Ich komme hin und wieder in die
Lage, Squeak Leuten vorzustellen, die es zu überzeugen lohnt.

>>  Es wird an verschiedenen Stellen versucht, Smalltalk und Squeak in
>> die Schulen zu bringen und das ist eine Sysiphos-Arbeit.
> Jepp.
>>  
>> Es ist ein Wunder, dass noch nicht alle aufgegeben haben. Wenn man
>> dann noch kommt und alles umwerfen will, weil es veraltet ist und
>> keine Zukunft hat, braucht man entweder einen Schulleiter, der einem
>> freie Hand lässt (was wohl kaum vorkommen dürfte), oder eine
>> Privatschule, in der man sich zwar auch an die Vorgaben der
>> Rahmenrichtlinien halten muss, aber viel mehr Gestaltungsspielraum
>> hat oder man kann gleich einpacken. Also versucht man es "durch die
>> Hintertür", orientiert sich an den Vorgaben und benutzt alternative
>> Software.
>>  
> Naja, an das Curriculum muß man sich wohl halten ... wo man aber die
> Schwerpunkte setzt, bleibt Lehrern überlassen. Meiner Meinung nach
> scheitert es an vernünftig ausgearbeiteten Unterrichtseinheiten für
> Smalltalk/Squeak, und genau daran schreibe ich auch mit ...
Das ist gut. Wenn ein Lehrer ein Lehrbuch vorliegen hat, auf deutsch
natürlich, dann ist das schon die halbe Miete:)

>>>>  Von der Modellierung
>>>> her propagieren die Schulbücher an dieser Stelle Struktogramme - ich
>>>> selber finde Flußdiagramme 'besser'.
>>>>        
>>> Typisch für Menschen, die OO noch nicht so verinnerlicht haben ...
>>> Ereignisse (Events) Nachrichten, Methoden .... wie willst Du das mit
>>> Flußdiagrammen überhaupt darstellen?
>>>    
>> Ich weiß es aus eigener leidvoller Erfahrung, wie lange es dauert,
>> ehe man das verinnerlicht hat, ich bin noch nicht an dem Punkt, dass
>> ich sagen würde, ich habe es vollkommen verstanden.
> Was ist daran schwer zu verstehen? Du stehst morgens vor dem Spiegel
> (nehme ich mal an) und schminkst Dich, weil Du als Objekt dich selber
> am besten kennst. Schminkte ich Dich, so wie es bei
> imperativen/prozeduralen Programmiersprachen üblich ist, würde ich (in
> üblicher Prozedur malend) danebenmalen, wenn Du den Mund öffnetest,
> gähntetest. Du aber weist, wann Du gähnen mußt, und unterbrichst das
> Schminken. Daher kommuniziere ich nur meinen Wunsch, Dich geschminkt
> zu sehen, und Du als Objekt beherrst die Methode Schminken selber.
> Ähnlich mit Squeak und Animierten Männchen. Man schmeißt in einen
> Behälter verschiedene Kostüme hinein, und ein Objekt zieht sich über
> Iteratoren "kostümiere Objekt am Zeiger" die aus der Kleiderkammer vom
> Verwalter herausgegebenen Kostüme an.
>
> Das kann man alles wunderbar in einfachster deutscher Sprache
> formulieren. Smalltalk/Squeak - dahinter steckt ja gerade genau das
> mentale Modell, welches man tagtäglich überall in der Welt, im Alltag
> beobachten kann. Und Smalltalk ist menschliche Sprache, siehe Chomsky.
>
> Klassen kann man mit Bauplänen für S-Klasse Merzedes vergleichen - der
> in der Garage liegt, und erst dann Platz wegnimmt, wenn eine Instanz
> gebildet wird, also ein Auto aus der Fabrik vom Band läuft
> ...überhaupt - Objekte werden in Fabriken (factories) generiert ...
> Der Button "Neuer Morph" ist eine solche Fabrik ....
>
>> Und so geht es natürlich jedem Lehrer.
> Nö. Du hattest vermutlich selber keine guten OO-Lehrer ... schade. Ich
> hoffe, ich werde mal einige Weisheiten meiner Lehrer weitertragen
> können ...
Ich habe den besten OO-Lehrer, den man sich vorstellen kann, direkt
zuhause ... Trotzdem hat es eine ganze Weile gedauert, bis es bei mir
"klick" gemacht hat und dann waren mir einige Dinge plötzlich klar. Die
ich schon öfter gelesen und gehört hatte, aber richtig "kapiert" eben
nicht. Und um dieses "klick" kommt man nicht drumrum, wenn ich das bei
denjenigen erreichen könnte, die ich unterrichte, dann hätte ich mein
Ziel erreicht. Dann hängt es sicher noch am Durchhaltevermögen des
Einzelnen, an Material und Möglichkeiten ind er Schule.

>
>> Das ist für mich das Hauptproblem, zu vermitteln, was das Besondere
>> an Squeak und Smalltalk ist, eben weil es so anders ist als alle
>> anderen Sprachen und Werkzeuge.
> Squeak und Smalltalk sind normal, alles andere ist "unnormal".
>>  Es wird als "Spielzeug" abgetan, egal ob ich Etoys oder Botsinc mache.
>>  
> Botsinc muß ich mir mal anschauen, danke für den Hinweis....
>> Und dann  geht es in der Schule eben nicht nur um die eine
>> Programmiersprache, sondern um Modellierung, da hilft eine Vielfalt,
>> um abstrahieren zu lernen.
>>  
> Squeak ist insgesamt ein "Modeller", nix anderes. Nur - ich habe
> verschiedenste Objekte, die ich modellieren und beeinflussen kann...
> So kann ich z.B. den Paketbrowser oder Refactoring - Editor auch noch
> animieren - ebenso, wie das Schachbrett und die einzelnen Figuren, die
> sich drehen, wenn ich Schach spiele ... perfekter kann OO doch
> garnicht erklärt werden!!!!!!!!!!
>> Ja, schön, wenn du denn OO-Datenbanken nimmst.
> Öffne doch einmal diese ominöse "Book" (Buch) (nicht den veralteten
> Karteikasten, der ist kapputt), Male ein paar Felder mit Beschriftung
> (diese mit rotem Halo verankern) drauf - gehe im roten Halo auf
> "Buchergänzungen->als Prototyp speichern" und fertig ist die
> OO-Datenbank. Die Struturen kannst Du jederzeit ohne Datenverlust und
> irgendwelche Datenbank - Kenntnisse verändern. Anlernzeit - 10
> Minuten. Dann kann jeder sich seine eigene Datenbank bauen, Grafiken,
> Musik, Powerpoint-Präsentationen einladen, u.s.w. Auch ein OO-Server
> ist anschließbar womit viele gleichzeitig auf die Datenbank zugreifen
> können. Und wenn Du noch willst, machst Du dir einen Button, der dann
> das Mailprogramm in Squeak startet, und Serienmails raushaut. Das ist
> doch Kinderkram!!!!!!!!
>>  Du kannst aber nicht auf einen Schlag alles Bekannte abschaffen und
>> durch komplett Neues ersetzen.
> Doch, ich kann. Schon mal Zope (Plone) angeschaut? Alles rein OO-mäßig
> implementiert. Ich brauche ungefähr 10 Minuten, dann habe ich eine
> OO-Datenbank mit Eingabefeld, Suchfenster und Listenausgabe für's
> Internet fertig!!!!!!!!!!! Ohne irgendwelche Datenbankkenntnisse.
>>  Er-Diagramme sind wieder eine Methode, Zusammenhänge zu
>> veranschaulichen und was ein Schüler z.B. dabei lernt, ist Modellierung.
>>  
> Wer braucht denn das überhaupt noch, angesichts OO-Datenbanken ud
> Fulltext - Index? Googles Technik mit fast 0!!! - Suchzeit in
> Pentabyte großen Datenbanken ist doch super erfolgreich. Dahinter
> steckt einfach nur - Glimpse. Siehe auch TRIES. Jeder Suchstring wird
> in fast 0 Suchzeit in beliebig großen Datenbeständen gefunden.
> Microsoft hat Fulltext Indizes in seinem Scheiß SQL 200x Server ja
> auch erst seit 1.5 Jahren, mit einem Service Pack heimlich eingeführt,
> und das Locking mit MVCC kann Microsoft ja auch erst sein SQL 2007.
> Nur - die Datenbank - Techniker und Programmierer haben es einfach
> noch nicht gerafft, wie viel einfacher die Programmierung dadurch wird
> ... mal abgesehen davon, daß nur sehr wenige Datenbanken Fulltext im
> Betrieb indizieren können.
>> Noch ein bisschen Kontext: ich unterrichte Lehrer (berufsbegleitend)
>> an der Uni, habe es geschafft, dass sie auch Squeak-Etoys kennen
>> lernen und einige setzen es sogar im Unterricht ein. Ich habe auch
>> schon selbst Schülerkurse mit Etoys gemacht. Selbst bin ich
>> Informatikerin und befasse mich seit einiger Zeit etwas mit
>> Informatik-Didaktik.
>>  
> Damit beschäftige ich mich auch schon seit längerem ....
>> Viele Grüße,
>> Rita
>>  
> Viele liebe Grüße, Guido Stepken
>
>




Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

stepken
In reply to this post by stepken
Hallo, Rita!
>> Jaja, wo ist das Problem? In 5 Minuten stelle ich die verschiedenen
>> Schleifen vor, und danach alles nur noch mit Iteratoren....
>>    
> Es dauert viel länger, Schüler mit der Idee einer Schleife vertraut zu
> machen, als man glaubt. Es wäre sicher leichter, wenn sie schon alle in
> der Grundschule mit Etoys hätten arbeiten dürfen. Jedenfalls ist das
> eine Grundannahme, die nur leider schwer zu belegen ist.
>  
Ich bin überrascht. Aber - ein ähnliches Problem hatte ich, als ich
Variablen und XY- in Squeak erklären musste ...

>> 300 Mannjahre Entwicklungsarbeit in Squeak und "verstehen"?
>>    
> Ich rede ja nicht davon, dass sie Squeak als System verstehen. Ich
> meine, sie sollen das Problem, das programmiert werden soll, verstehen.
> Natürlich bin ich der Meinung, dass Squeak dafür ein ideales Werkzeug
> ist, eben wegen der Vorteile der Semantik, die du oben angesprochen
> hast. Aber es existiert ein Pool an Informatik-Aufgaben, die sich im
> Laufe der Jahre angesammelt haben und die sozusagen immer als Maßstab
> dienen. Wenn man diese üblichen Aufgaben mit einer Programmiersprache
> umsetzen kann, dann ist die Sprache gut geeignet. Das war mein größtes
> Problem in meinem ersten Squeak-Kurs (also Smalltalk), passende Aufgaben
> zu finden. Ich habe Mark Guzdials Buch benutzt, ich musste es ja selber
> alles lernen. Und da ist es eben in den Augen der Lehrer schon ein
> Manko, dass man sich nicht sofort eine Oberfläche zusammenklicken kann.
Huch? Alles in Squeak ist GUI. Es gibt aber ein Tweak - Image mit einem
C-Project-Builder, womit man herkömmliche GUI zusammenschubsen kann, die
Klassen sind ja da.... weiß aber nicht, wie brauchbar das alles ist, die
Entwicklung wurde gestoppt ... aber es schaut so aus, wie ein GUI
Builder, wie ich ihn von Winzigweich kenne.
>  
> Dass man eine viel größere Flexibilität hat, wenn man selber bestimmen
> kann, wie die Interaktionsobjekte aussehen, wird nicht als
> erstrebenswerter Vorteil für die Schule wahrgenommen.
> Es gibt da auch so eine Abwehrhaltung, da kommt jemand und behauptet,
> das, was man selber macht, wäre schlechter, also Java ist schlecht und
> Delphi, das verteidigen die Lehrer dann natürlich. Und es ist schon
> einfacher, Smalltalk zu programmieren, wenn man vorher nichts anderes
> gemacht hat, als wenn man z.B. von Delphi kommt.
Nenene. Ich bin inzwischen bei meiner 19 Programmiersprache angelangt
.... habe einige nur kurz, andere dauernd programmiert ... Es liegt
wirklich an der Flexibilität und Wendigkeit der eigenen Hirnstrukturen,
ob man willig ist, völlig andere Strukturen mal auf sein Hirn wirken zu
lassen. Es erzeugt stets ein ungutes Gefühl, was "Kognitiver Dissonanz"
gleich kommt.... habe es nie bereut ... auch andere Universalsprachen
habe ich auch gelernt ....lernen müssen, im Ausland ...
> Und die zur Zeit im
> Schuldienst befindlichen Lehrer kennen alle eine Programmiersprache und
> das wird bei den wenigsten Smalltalk sein.
>  
Und? Smalltalk erlernt man, wenn man von Pascal, Oberon, ... kommt, doch
schnell. Bei OO- Tja, das dauert ein paar Monate, bis man das mentale
Modell tatsächlich "gefressen" hat, mitunter bis zu 1/2 Jahr, wenn man
sich 2-3 /Woche mal je ein Stündchen neuen Code anschaut und programmiert.
> Die Vorgehensweise, sich das System zu erschließen, indem man es
> durchforstet, ist auch völlig ungewohnt.
Nun, für mich war Squeak ja auch völlig neu, Smalltalk konnte ich nicht,
aber ich habe es in ca. 20 Stunden, mit ein paar doofen Fragen doch
hinbekommen, eigene Kacheln zu implementieren .... sodaß nun
selbstgemalte Objekte eine selbstgemalte Rutsche hinunter gleiten, um
dann bei Y=0 zu zerschellen.
Bei mir jedoch stimmte das mentale Modell von OO perfekt. Alles, was ich
untersuchte, rastete bei mir in vorhandene Schablonen ein, und erzeugte
bei mir sogar extatische Gefühle - geil, einfach nur noch geil, das Zeug.
>  Hier ist es ebenfalls
> schwierig, zu vermitteln, dass gerade das ein revolutionärer Ansatz ist.
Ist es nur dann, wenn zuvor didaktisch korrekt das mentale Modell zu OO
aufgebaut wurde. Und das geht z.B. bei Squeak über EToys und die
Vermittlung von rein OO-Begriffen. So z.B. bei dem Behälter, wo man
Zeiger auf Objekte im Behälter setzen kann. Man kann da auch völlig
andere Dinge hineinschmeißen, die dann der Reihe nach ausgeführt werden
... Iteratoren halt, was die Inkrementieren, und was sich das Männeken
dann für Kostüme anzieht, das ist völlig egal, Vektorobjekte,
Animationen, das Aussehen von Männeken, die auch wieder Kostüme anhaben,
Skripte, Textverarbeitungen, Access - Datenbanken, völlig egal. Der
Iteriert einfach durch, zählt, numeriert ... egal, ob man Obstsalat oder
Gemüsebrühe hineintut.
>  
> Es wird nichts versteckt, ich kann mir alles ansehen und sogar das ganze
> System ändern, wenn ich will. Wahrscheinlich fehlt für ein solches
> System das didaktische Konzept für die Lehrer.
Schon dabei.
> Das muss genauer
> ausgearbeitet sein, am besten mit Unterrichtsbeispielen und allem drum
> und dran. Eigentlich müssten wir die BotsInc-Umgebung ins Deutsche
> übersetzen, ich könnte mir vorstellen, dass man damit diese
> Vorgehensweise gut lernen kann.
>
>  
Aha.

>>> Ich finde schon, dass Schüler auch mit herkömmlichen
>>> Textverarbeitungssystemen umgehen können sollten.
>>>      
>> *lach* Und nach 20 Stunden beherrschen die immer noch nicht das
>> Rechnen im Text? In Squeak mache ich ein Fenster auf, tippe 34*0.57
>> und ALT-P ... das Ergebnis steht dann da....
>>    
> Hm, ist Rechnen im Text denn das Kriterium? Ich weiß, wie einfach das in
> Squeak geht. Vielleicht fehlt mir da selber noch das Verständnis, aber
> einen Brief würde ich in Squeak nicht schreiben.
Wieso nicht? Ich kann sogar über Postscript PDF's aus Squeak erzeugen
und drucken ...
> Das muss aber heute
> fast jeder, der sich irgendwo bewerben will. Und ich finde es
> erschreckend, dass den meisten völlig fremd ist, dass man einen Text
> strukturieren kann.
Och. Das geht in Squeak nicht? Es geht sogar grafisch. Einfach
Textfelder auf den Schirm malen, mit Connector-Pfeilen verbinden, damit
klar ist, welcher Text nach welchem geschrieben wird. Einen Iterator
bauen, der die Texte einsammelt und druckt. Und wenn ich will packe ich
die alle auch noch in das Buch, mit Seitenzahlen drunter, und lasse die
der Reihe nach ausdrucken. Dafür ist der Morph "Buch" ja da.

Have fun!

Viele liebe Grüße, Guido



Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Christian Mascher
In reply to this post by Rita Freudenberg
stepken schrieb:

>> Achgottchen... erst imperative Programmierung und dann OO? Völlig
>> falsche Reihenfolge, aus didaktischer Sicht, das versaut die
>> Denkstrukturen.
>>
>> Z.B. werden zu Beginn immer Scheifen programmiert. Wozu gibt es das
>>
>> "foreach element in liste von Objekten machmalwasdamit ..." ...
>> Iteratoren, wie in Squeak ETOYS auch.
>
Ich würde das auch eine Schleife nennen. Was denn sonst? Und Abläufe
muss man in Smalltalk auch programmieren,
also begriffen haben, was der Unterschied von einer Sequenz, Verzweigung
oder eben Schleife ist.

Natürlich ist es schön, wenn man zeigen kann, dass man in den neueren
Sprachen oft nicht mehr so denken muss, wie ein Prozessor/Computer.  
Wenn es geht, vermeide ich die Zahlen auch.


>> Ich brauche mir nur OO-Code anzuschauen, und wenn ich da irgendwelche
>> Zähl-Schleifen drin finde, weiß ich - Der Mensch hat OO überhaupt
>> nicht verstanden - ein Grund, ihn/sie aus dem Team zu schmeißen ...
>
>
OK, ich schmeiß dann alle Schüler raus, die noch so denken ;-). Ich
denke, man muss beides kennen, ausprobiert haben. Dann wird man auch in
vielen Fällen wirklich begründet dafür sein, _nicht_  stur zu zählen,
weil es verständlicher, fehlersicherer ist. Andererseits mag es Fälle
geben, wo eine Zählschleife einfacher zu verstehen ist.  Über Stil kann
man immer endlos streiten. Beispiele und Gegenbeispiele überzeugen.


Rita schrieb:

> Ja, das mag in Entwicklerteams so funktionieren. Ich weiß ja nicht,
> wie viel Erfahrung du mit dem deutschen Bildungssystem hast, aber es
> gibt Rahmenrichtlinien, an die sich der Lehrer halten muss und die in
> jedem Bundesland wieder anders sind. Du magst ja recht haben mit
> deinen Ausführungen und das ist nicht die reine Smalltalk-Lehre, es
> geht ja nicht darum, die Schüler alle zu Programmierern zu machen. Die
> Reihenfolge, in der Stoff behandelt wird, ist in den Rahmenrichtlinien
> festgelegt (also, dass z.B. zuerst die Grundstrukturen drankommen).
> Und das ist auch nichts Negatives. Hast du mal das Buch von Stephane
> Ducasse (Squeak Learning Programming with Robots) gelesen? Er führt da
> auch wunderbar diese Grundstrukturen ein und das ist einfach etwas,
> was Schüler in diesem Alter erfassen und verstehen können. Das ist
> doch der Zweck der Programmiersprache im Unterricht, die Dinge, die
> man programmiert, zu verstehen.

100% deiner Meinung, Rita.

Schöne Grüße,

Christian

Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Markus Schlager-2
In reply to this post by Rita Freudenberg
> > > Das mag aus deiner Sicht ja alles stimmen, aber im Schulsystem kann man
> > > nicht machen, was man will, selbst wenn man davon überzeugt ist, recht zu
> > > haben. Veränderungen erreicht man nur schrittweise, frag mal die Leute,
> > > die das seit Jahren versuchen!
> > Kein Problem. Da maile ich einfach mal durch, wer mir Ansprechpartner nenen
> > kann, die im Kultusministerien in den Gremien sitzen, und genau denen
> > schreibe ich dann ein kleines Pamphlet, mit Codebeispielen, und dringenden
> > Vorschägen zur Änderung .... nicht länger als 1 A4-Seite... und dann mal
> > schauen, was passiert ... vielleicht noch in die F.A.Z., Süddeutsche ...
> > Medien aufmerksam machen ...
> Da wünsche ich dir viel Erfolg, wirklich, es wäre schön, wenn es gelänge,
> einflussreiche Leute von Squeak zu überzeugen.
> > > Man muss sich da mit Beamten auseinandersetzen, die den Kern des Problems
> > > gar nicht erfassen.
> > Das läßt ich in wenige Worte packen.
> Das Problem dabei ist, die Relevanz zu erkennen. Wenn du das mit wenigen
> Worten sagen kannst, dann würde ich mich freuen, wenn du mir einen kurzen
> Abschnitt schicken könntest. Ich komme hin und wieder in die Lage, Squeak
> Leuten vorzustellen, die es zu überzeugen lohnt.

> > >  Es wird an verschiedenen Stellen versucht, Smalltalk und Squeak in die
> > > Schulen zu bringen und das ist eine Sysiphos-Arbeit.
> > Jepp.
> > >  Es ist ein Wunder, dass noch nicht alle aufgegeben haben. Wenn man dann
> > > noch kommt und alles umwerfen will, weil es veraltet ist und keine Zukunft
> > > hat, braucht man entweder einen Schulleiter, der einem freie Hand lässt
> > > (was wohl kaum vorkommen dürfte), oder eine Privatschule, in der man sich
> > > zwar auch an die Vorgaben der Rahmenrichtlinien halten muss, aber viel
> > > mehr Gestaltungsspielraum hat oder man kann gleich einpacken. Also
> > > versucht man es "durch die Hintertür", orientiert sich an den Vorgaben und
> > > benutzt alternative Software.
> > >  
> > Naja, an das Curriculum muß man sich wohl halten ... wo man aber die
> > Schwerpunkte setzt, bleibt Lehrern überlassen. Meiner Meinung nach scheitert
> > es an vernünftig ausgearbeiteten Unterrichtseinheiten für Smalltalk/Squeak,
> > und genau daran schreibe ich auch mit ...
> Das ist gut. Wenn ein Lehrer ein Lehrbuch vorliegen hat, auf deutsch
> natürlich, dann ist das schon die halbe Miete:)


Hallo Guido!

Das würde ich gern konkret machen. Erst einmal Dank an Rita für die
Einschätzung der Lage. Das meiste davon erlebe ich täglich genau so.  
Eine Anmerkung aber (jedenfalls zu Situation in Bayern): Es ist keineswegs
so, daß ein im Dienst befindlicher Informatiklehrer (jedenfalls am
Gymnasium) eine Programmiersprache kennt. Das liegt daran, wie dieses Fach
vor zwei Jahren eingeführt wurde: Von heute auf morgen, ohne überhaupt
Lehrer dafür zu haben. So gesehen gehöre ich mit zwei Jahren
Nebenbei-Kompaktstudium zur absoluten Luxusvariante. Der Normalfall in der
Unterstufe (und mangels Stellen und qualifiziertem Personal wird es auch
in der kommenden 9./10. Klasse an vielen Schulen so bleiben) sind Lehrer,
die - vielleicht(!) - eine Fortbildung von maximal einer Woche mitbekommen
haben und zu einem erheblichen Teil nicht einmal Mathematiklehrer sind.
Wenn die *eines* brauchen, dann Material, das sich einfach so einsetzen
läßt. In der Luxusfassung kapiert dank solchen Materials dann außer den
Schülern sogar auch noch der Lehrer, was der eigentlich springende Punkt
am Konzept ist.

Um den Fakten ins Gesicht zu sehen (konkret am bayerischen Gymnasium):

Die Links zu den Lehrplänen (alles ganz kurz, mußte schließlich laut
Vorgabe vom Ministerium pro Jahrgangsstufe auf 2 Din-A4-Seiten passen):

6. Klasse
http://www.isb-gym8-lehrplan.de/contentserv/3.1/g8.de/index.php?StoryID=26433
7. Klasse
http://www.isb-gym8-lehrplan.de/contentserv/3.1/g8.de/index.php?StoryID=26436
9. Klasse (ab 2008/9)
http://www.isb-gym8-lehrplan.de/contentserv/3.1/g8.de/index.php?StoryID=26434
10. Klasse (ab 2009/10)
http://www.isb-gym8-lehrplan.de/contentserv/3.1/g8.de/index.php?StoryID=26435

In info 6/7 ist der Zug erst einmal schon abgefahren. Die Schulbücher
sind gedruckt, die betroffenen Kollegen haben sich schon einmal einen Weg
durch das Material gesucht. Diejenigen, die diesen Weg bei künftigen
Durchläufen deutlich variieren werden, sind eine kleine Minderheit
(natürlich hat das auch etwas mit der Qualifikation des Lehrpersonals zu
tun - sollte ich plötzlich etwa Biologieunterricht halten müssen, wäre
ich auch heilfroh, einen Pfad durch den Dschungel gefunden zu haben).

info9 ist im wesentlichen auch schon gegessen - die Schulbücher dürften
bereits bei den Prüfungskommissionen liegen. Wer hier noch Alternativen
ins Rennen bringen will, hat Zeit bis maximal Juli. Dann muß Material im
Netz verfügbar und dafür geworben sein. Die Lehrerfortbildungen laufen
spätestens demnächst an. Bleibt allenfalls info10, wo sich noch wirklich
etwas 'retten' (so man das bewerten will) läßt. Das ist z.B.  ein Grund,
warum ich jetzt an meinen Folien bastle. Damit dann etwas *da* ist und ich
schon einmal sagen kann, ob das überhaupt auch funktioniert. Manko von
meiner Seite: Ich kenne z.B. Squeak noch zu wenig, um abschätzen zu
können, was sich bei den Stundentafeln und Lehrplanvorgaben als Idealziel
aus dem System herausholen läßt.

Konkrete Einladung an Dich: Schau Dir die Lehrplanvorgaben an, stell ein
Konzept (z.B. für die 10. Klasse) zusammen, das Du da für die praktische
Umsetzung vorschlagen würdest und mach es publik. Jemandem wie mir (der
ich gewohnt bin, mir meine Sachen selber zusammenzuschrauben) würden
schon einmal grobe Ideen genügen, damit ich weiß, in welche Richtung es
sich zu denken und zu lernen (bei mir ist es erst die sechste Sprache, in
die ich hineinzuschnuppern anfange)  lohnt. Andere erwarten sicher mehr,
wenn sie das umsetzen sollen - sprich konkrete Inhalte in praktikabler
Portionierung mit Materialien, die sich einsetzen lassen *as is* und vor
allem auch konkreten Ideen für Aufgaben (mit Zeitrahmen!), die man den
Schülern stellt.

Noch konkreter: Im Juli findet an der LMU ein jährlicher 'Tag der
Informatiklehrer' statt. Da kreuzen z.B. auch Leute auf, die mit den
Schulbuchverlagen zu tun haben und teilweise auch die Bücher schreiben.  
Nachdem unter anderem ich lange genug in diesem Umfeld von Alternativen zu
Robot Karol (den ich wirklich nicht geeignet finde, der aber ganz
offensichtlich sämtlichen Buchautoren vor vier Jahren als einziges
unterstufentaugliches Programmierwerkzeug bekannt war - darunter auch ein
Herr Hubwieser, seines Zeichens Professor für Didaktik der Informatik in
München - mithin ein definitiv maßgeblicher Mann) vorgeschwärmt habe
(konkret die eToys und eben Scratch - das durchaus den *Vorteill* hat,
wenig zu können), soll dieses Jahr neben Datenflüssen und
Datenmodellierung ein Thema doch tatsächlich Programmierumgebungen für
info7 werden (obwohl das jetzt schon das zweite Jahr unterrichtet wird).  
Namen, die bislang gefallen sind: Scratch und Alice. Das wäre z.B. eine
Gelegenheit, wo man (z.B. Du) einer sehr konkreten Zielgruppe (die z.B.
auch eng mit http://www.digitale-schule-bayern.de verzahnt ist - durchaus
potentielle Multiplikatoren) einmal etwas zeigen kann - ganz konkret.


Noch zu meinem Material, nachdem mir so schön der Kopf gewaschen wurde:

Was ich dort mache, ist auch nichts Anderes als das, was sich in den
einschlägigen Büchern zu Smalltalk (nur eben nicht auf Deutsch) findet.  
Ob ich eine Schleife nun Schleife, Loop oder Iterator nenne, halte ich
für unerheblich, weil Zählschleifen in OO eben mit Iteratoren realisiert
werden. Wenn das Wort imperativ ein rotes Tuch ist, spreche ich eben von
Kontrollstrukturen - das tut mir nicht weh. Allerdings weiß ich nicht,
wie ich in OO eine Methode ohne Kontrollstrukturen schreiben sollte.
Sprache ohne Grammatik funktioniert auch nicht wirklich gut.

Diskussionen über OO versus imperativ gab es in letzter Zeit erst wieder
auf der edu-sig-Liste (oder eben gerade auch nicht). Ob OO der Weisheit
letzter Schluß ist, halte ich in gewissem Sinne für völlig irrelevant.
Wer weiß, was danach kommt?

Worum es in meinen Augen in Schulfächern wie Mathematik und eben auch
Informatik geht, ist, daß die Schüler exemplarisch an einem (mehr oder
weniger abstrakten - hoffentlich aber schönen (was auch immer 'schön'
bedeuten soll)) Modell Grundtechniken und strukturiertes Denken lernen,
das sie in ganz anderen Kontexten umsetzen können. Daß man in Informatik
Rechner einsetzt, ist nett und schön, hat aber mit der Sache an sich gar
nichts zu tun. Da kann ich mich nur Rita anschließen: Rechner und was man
damit so macht (auch programmieren), sollte etwas sein, das in anderen
Fächern als ein selbstverständliches Vehikel neben anderen einfach so
eingesetzt wird.

Im Moment geht es im Informatikunterricht (bei uns in Bayern jedenfalls)
aber ganz massiv darum, Schülern beizubringen, daß etwa eine
Überschrift etwas anderes ist als großer, fetter Text, oder daß es sich
lohnen kann, in einem Zettelkasten Ordnung zu halten. Was ein Objekt ist,
sollen sie ausgerechnet an so statischen Dingen wie Graphikobjekten und
Textdokumenten lernen, die nun wirklich nicht in intuitiv eingängiger
Weise Nachrichten empfangen und selbst umsetzen.  Daß sich Rita vor dem
Spiegel selbst schminkt, leuchtet natürlich ein, daß sich der
Lippenstift dabei selbst verkleinert und seine Farbe auf Anfrage der Lippe
freiwillig hergibt, schon etwas weniger, und daß ein Rechteck
selbständig unter meinem Mauszeiger mitwandert und nicht von mir
verschoben wird, ist eine ganz andere Geschichte (zumal für eineN
ElfjährigeN).  Dazu kommt dann noch, daß die Informatik aus politischen
Gründen mit den Naturwissenschaften in ein gemeinsames Fach gezwängt
wurde, was sehr für den Sachverstand der entscheidenden Instanzen
spricht.

Aus dem Bauch heraus würde ich übrigens schätzen, daß Dir BotsInc gar
nicht besonders gut gefallen dürfte. Zu eng und zu konservativ. Bin
gespannt auf Deine Kommentare.

Schöne Grüße

Markus
-----------------------------------------------
 Markus Schlager               m.slg(at)gmx.de

Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Stefan Schmiedl
In reply to this post by stepken
stepken (13.03. 15:18):

> Jaja, wo ist das Problem? In 5 Minuten stelle ich die verschiedenen
> Schleifen vor, und danach alles nur noch mit Iteratoren....

Ich habe einen Katalog mit 2300 Einträgen und soll die seitenweise
zu je 20 Stück anzeigen. Nachdem das über 100 Seiten sind, soll es
die Möglichkeit geben "schnell" zu blättern, d.h. 10 Seiten weiter.
Das sieht dann so ähnlich aus wie die Navigation von xpdf.

Wie mach ich das mit Iteratoren so elegant wie mit einer Schleife?

firstIndex to: lastIndex do: [:index |
  (catalog at: index) showOn: aStream ]

Jetzt du!

> *lach* 300 Mannjahre Entwicklungsarbeit in Squeak und "verstehen"?

Na aber sicher doch. Ich weiß nicht, wie viele Mannjahre hinter
aktueller Mathematik (von mir aus auch Schulmathematik) stehen,
aber trotzdem kann man sie verstehen. Der Witz an der Stelle ist,
dass Nachfolger durch geschickte Aufzeichnungen der Vorgänger
Abkürzungen nehmen können und nicht alles neu *erfinden* müssen.
Aber verstehen können Sie's trotzdem.

> Wenn man das mentale Modell von Squeak sauber verinnerlicht
> hat, also komplett OO-Denke drauf hat, ist die Programmiersprache
> Smalltalk eh ein Witz, weil sie der menschlichen Sprache sehr ähnlich
> ist. Wenn ich da zurück denke, mit C++ oder Java .... grausts mich. Ich
> sehe S# mit Vergnügen entgegen, überlege, ob ich nicht mal ein Projekt
> anstoße, Squeak und EToys auf S# zu portieren..... Aber S# ist doch sehr
> viel anders, als Smalltalk (Ihhh, Mehrfachvererbung....)

Mehrfachvererbung mit "Ihhh" abzutun, macht auf mich keinen guten
Eindruck. In Common Lisp (CLOS) ist die Mehrfachvererbung sauber
implementiert und sehr gut einsetzbar, da sie nicht nur eine
Spezifikation der Schnittstellen enthält, sondern i.d.R. auch eine
generische Implementation. Spart unheimlich viel Arbeit.

> >Ich finde schon, dass Schüler auch mit herkömmlichen
> >Textverarbeitungssystemen umgehen können sollten.

Ich persönlich wäre schon zufrieden, wenn die Schüler in der Lage wären,
mit einem Nur-Text-Editor einen inhaltlich brauchbaren Text zu
schreiben anstatt Stunden in die "richtige" Verzierung reinzubuttern.

> >Du urteilst ganz schön hart.
> Fakt, jederzeit belegbar. Das begründet z.B. auch, warum Smalltalk
> Seaside und Ruby on Rails so einen durchschlagenden Erfolg haben.

Durchschlagend? Ruby on Rails hat Erfolg, weil es zur rechten Zeit
am rechten Ort war und DHH marketingmäßig sehr geschickt ist. Technisch
bin ich von RoR nicht beeindruckt. Zu viel Bloat.

> >Das mag aus deiner Sicht ja alles stimmen,
> >aber im Schulsystem kann man nicht machen, was man will, selbst wenn man
> >davon überzeugt ist, recht zu haben. Veränderungen erreicht man nur
> >schrittweise, frag mal die Leute, die das seit Jahren versuchen!
> Kein Problem. Da maile ich einfach mal durch, wer mir Ansprechpartner
> nenen kann, die im Kultusministerien in den Gremien sitzen, und genau
> denen schreibe ich dann ein kleines Pamphlet, mit Codebeispielen, und

Schon verloren. Entscheider lesen keinen Code, weil sie keinen Code
lesen können. Entscheider lieben "Industriestandards", damit ein
Praxisbezug gewährleistet ist. Verwende einen Industriestandard, da
kannst du nichts falsch machen.

> >Ich weiß es aus eigener leidvoller Erfahrung, wie lange es dauert, ehe
> >man das verinnerlicht hat, ich bin noch nicht an dem Punkt, dass ich
> >sagen würde, ich habe es vollkommen verstanden.
> Was ist daran schwer zu verstehen? Du stehst morgens vor dem Spiegel
> (nehme ich mal an) und schminkst Dich, weil Du als Objekt dich selber am
> besten kennst. Schminkte ich Dich, so wie es bei
> imperativen/prozeduralen Programmiersprachen üblich ist, würde ich (in
> üblicher Prozedur malend) danebenmalen, wenn Du den Mund öffnetest,
> gähntetest.

Deswegen schminken sich Schauspieler auch selber, weil sie damit um
Welten bessere Ergebnisse erzielen als mit einem professionellen
Visagisten oder wie sich die Maler da nennen.

Schnellschussmetaphern gehen oft daneben, weil man gegen sie
argumentieren kann ohne sich auf die Sache zu beziehen.

> >Das ist für mich das Hauptproblem, zu vermitteln, was das
> >Besondere an Squeak und Smalltalk ist, eben weil es so anders ist als
> >alle anderen Sprachen und Werkzeuge.
> Squeak und Smalltalk sind normal, alles andere ist "unnormal".

Squeak und Smalltalk passen gut in deine Welt, zu deinen
Aufgabenstellungen und zu deinen Denkmustern. Deswegen sind sie noch
lange nicht "normal".

Waschmaschine, Wäschetrockner, Geschirrspüler, Toaster, Kühlschrank,
Staubsauger,.... nirgendswo ein Squeak zu sehen. Desktop-Applikationen
sind vielleicht "laut", aber dafür selten. Genau wie Menschen im
Vergleich zu Insekten.

Für die Programmierung oder auch nur den Ablauf mit minimalen Ressourcen
ist fast jedes OO-System zu komplex und aufgebläht.

> OO-Datenbank. Die Struturen kannst Du jederzeit ohne Datenverlust und
> irgendwelche Datenbank - Kenntnisse verändern. Anlernzeit - 10 Minuten.

Na schön, jetzt können die Kids mit Squeak das machen, was sie mit
Bleistift und Papier machen können. Haben sie jetzt auch was über
Datenbanken gelernt? Wie man seine Daten organisiert, um einen
zuverlässigen Zugriff zu bekommen? Bei vielen Daten? Bei unscharfen
Suchkriterien? Da steckt mehr dahinter als "10 Minuten" Einarbeitung.

> > Du kannst aber nicht auf
> >einen Schlag alles Bekannte abschaffen und durch komplett Neues
> >ersetzen.
> Doch, ich kann. Schon mal Zope (Plone) angeschaut? Alles rein OO-mäßig
> implementiert. Ich brauche ungefähr 10 Minuten, dann habe ich eine
> OO-Datenbank mit Eingabefeld, Suchfenster und Listenausgabe für's
> Internet fertig!!!!!!!!!!! Ohne irgendwelche Datenbankkenntnisse.

Ich nehme dabbledb, das geht noch schneller. Aber was kann ich jetzt?
Was hab ich dabei gelernt? Hab ich mich durch das Anklicken
vorgefertigter Komponenten irgendwie weiterentwickelt?

> > Er-Diagramme sind wieder eine Methode, Zusammenhänge zu
> >veranschaulichen und was ein Schüler z.B. dabei lernt, ist Modellierung.
> >  
> Wer braucht denn das überhaupt noch, angesichts OO-Datenbanken ud
> Fulltext - Index? Googles Technik mit fast 0!!! - Suchzeit in Pentabyte
> großen Datenbanken ist doch super erfolgreich. Dahinter steckt einfach
> nur - Glimpse. Siehe auch TRIES.

... und ein cleveres MapReduce-Verfahren und *tausende* gleichzeitig
rödelnder PCs. Wenn ich diese Rechenleistung nicht habe, ist's vorbei
mit der schönen neuen Welt.

s.
--
Stefan Schmiedl
+-------------------------------+----------------------------------------+
|Approximity GmbH               | EDV-Beratung Schmiedl                  |
|http://www.approximity.com     | Am Bräuweiher 4, 93499 Zandt, Germany  |
|mailto:[hidden email]  | Tel. (09944) 3068-98, Fax -97          |
+-------------------------------+----------------------------------------+

Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Stefan Schmiedl
In reply to this post by stepken
stepken (13.03. 17:32):

> >Das muss aber heute
> >fast jeder, der sich irgendwo bewerben will. Und ich finde es
> >erschreckend, dass den meisten völlig fremd ist, dass man einen Text
> >strukturieren kann.
> Och. Das geht in Squeak nicht? Es geht sogar grafisch. Einfach
> Textfelder auf den Schirm malen, mit Connector-Pfeilen verbinden, damit
> klar ist, welcher Text nach welchem geschrieben wird. Einen Iterator
> bauen, der die Texte einsammelt und druckt. Und wenn ich will packe ich
> die alle auch noch in das Buch, mit Seitenzahlen drunter, und lasse die
> der Reihe nach ausdrucken. Dafür ist der Morph "Buch" ja da.

Inhaltlich! Nicht technisch.

s.

Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Marcus Denker
In reply to this post by Stefan Schmiedl

On 13.03.2007, at 20:47, Stefan Schmiedl wrote:


>>>
>> Wer braucht denn das überhaupt noch, angesichts OO-Datenbanken ud
>> Fulltext - Index? Googles Technik mit fast 0!!! - Suchzeit in  
>> Pentabyte
>> großen Datenbanken ist doch super erfolgreich. Dahinter steckt  
>> einfach
>> nur - Glimpse. Siehe auch TRIES.
>
> ... und ein cleveres MapReduce-Verfahren und *tausende* gleichzeitig
> rödelnder PCs. Wenn ich diese Rechenleistung nicht habe, ist's vorbei
> mit der schönen neuen Welt.
>
Neben tausenden von prozessoren haben die auch noch ne Menge wirklich
guter Leute... das sollte man nicht vergessen. Da programmiert sich  
nix von
alleine.

Mich errinnert diese diskussion ein bischen an diesen text:

The death of computing
http://www.bcs.org/server.php?show=ConWebDoc.9662

Hier meint jemand schon die sterbe-glocken der Informatik
leuten zu hoeren, nur weil er seine Kinder beim spielen eines
"ich programmiere meinen Robotor" - Spieles beobachtet hat:

"
Virtual robots - Zooks - can be created by eight-year olds without
needing programming, logic or discrete mathematics skills. Web designers
build complex business sites, graphic designers build animations,  
accountants
assemble business systems without needing to go object-oriented.
"

Sehr amuesant, der text ;-)

        Marcus

smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Markus Gälli-3

On Mar 13, 2007, at 9:05 PM, Marcus Denker wrote:

>
> Neben tausenden von prozessoren haben die auch noch ne Menge wirklich
> guter Leute... das sollte man nicht vergessen. Da programmiert sich  
> nix von
> alleine.
>
> Mich errinnert diese diskussion ein bischen an diesen text:
>
> The death of computing
> http://www.bcs.org/server.php?show=ConWebDoc.9662
>
> Hier meint jemand schon die sterbe-glocken der Informatik
> leuten zu hoeren, nur weil er seine Kinder beim spielen eines
> "ich programmiere meinen Robotor" - Spieles beobachtet hat:
>
> "
> Virtual robots - Zooks - can be created by eight-year olds without
> needing programming, logic or discrete mathematics skills. Web  
> designers
> build complex business sites, graphic designers build animations,  
> accountants
> assemble business systems without needing to go object-oriented.
> "

Naja, ich denke schon, dass es eine Hauptaufgabe von uns  
Informatikern ist und sein wird,
unseren Mitmenschen das Programmieren zu ermöglichen. Alle Smalltalk-
Projekte,
die ich kenne und mich besonders faszinieren, gehen in diese Richtung:
smalltalk(sic!) [1], etoys/scratch, dabbledb, opencroquet, cmsbox [2]  
oder qwaq[3]...

Auch klar, dass Funktionalitäten wie "Mache einen Kreis"  
bereitzustellen, eher "Fische verfüttern"
als "Angeln beibringen" entsprechen würde. [4]
Die Kunst dabei ist, die richtigen Werkzeuge zu identifizieren und  
bereitzustellen.

Klar, wir sind noch lange nicht da, und werden es bei einer  
"Phantasieerweiterungsmaschine"
wohl auch nie sein, aber die Richtung stimmt...

Liebe Grüsse,

Markus

[1] Wie sagte doch Alan Kay: "Martin Luther was one of the greatest  
user-interface designers."
Warum? Weil er nicht versucht hatte, den Leuten Latein beizubringen
(hab grad gegenteiliges von "unserem" Papst gehört, der will wohl  
wieder mehr Latein
in den Kirchen), sondern einfach die Bibel in eine mehr oder weniger  
gemeinsame Sprache
übersetzt hatte. Smalltalk hat da in der ersten Iteration nicht so  
ganz funktioniert, sprechen es
doch nur ein paar "Hohe-Priester", auch wenn diese wenigstens nicht  
dem "Cult of the dead code"
frönen...

[2] Glückwunsch an unsere Schweizer Kollegen von Netstyle!
(Danke für den Link, Marcus) -- sieht seehhr cool aus:
http://www.cmsbox.ch
natürlich besonders schön: Squeak meets Education einmal anders:  
http://info.juniorwebaward.ch/?page=31
(Ein Wettbewerb von switch, dem Schweizer denic)

[3] Grade heute auf die Croquet Liste gepostet, Glückwunsch Andreas  
und Co.:

>> Hi everyone,
>>
>> Just wanted to let you all know that we have announced Qwaq Forums  
>> today. Qwaq Forums is a collaborative Enterprise platform built on  
>> top of Croquet. It is based upon the same open source code that  
>> you have access to - and will continue to have.
>>
>> We are 100% committed to the Croquet Project - in fact, many of  
>> the things we learned in building the Qwaq Forum system was  
>> directly incorporated into the next Croquet release, and in my  
>> opinion improved the system considerably.
>>
>> You can read more about Qwaq and Qwaq Forums at: <http://
>> www.qwaq.com>.
>>
>> Thanks everyone,
>>
>> David
>>

[4] "Give a man fire, and he will be warm for a day, set a man on  
fire, and he will burn until the rest of his life" -- couldn't  
resist... ;-)


Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

stepken
In reply to this post by stepken
Hallo, Stefan!

>
>  
>> Jaja, wo ist das Problem? In 5 Minuten stelle ich die verschiedenen
>> Schleifen vor, und danach alles nur noch mit Iteratoren....
>>    
>
> Ich habe einen Katalog mit 2300 Einträgen und soll die seitenweise
> zu je 20 Stück anzeigen. Nachdem das über 100 Seiten sind, soll es
> die Möglichkeit geben "schnell" zu blättern, d.h. 10 Seiten weiter.
> Das sieht dann so ähnlich aus wie die Navigation von xpdf.
>
>  
Kann sein .... denke aber, daß PDF sicher nicht für riesige Listen
gedacht war ...
> Wie mach ich das mit Iteratoren so elegant wie mit einer Schleife?
>
> firstIndex to: lastIndex do: [:index |
>   (catalog at: index) showOn: aStream ]
>
> Jetzt du!
>
>  
Workspace öffnen:

'dies ist ein Beispiel' select: [:each |  each isVowel ]. <ALT-P>

statt select kann man auch do oder collect schreiben ... siehe Handbuch.

>> *lach* 300 Mannjahre Entwicklungsarbeit in Squeak und "verstehen"?
>>    
>
> Na aber sicher doch. Ich weiß nicht, wie viele Mannjahre hinter
> aktueller Mathematik (von mir aus auch Schulmathematik) stehen,
> aber trotzdem kann man sie verstehen. Der Witz an der Stelle ist,
> dass Nachfolger durch geschickte Aufzeichnungen der Vorgänger
> Abkürzungen nehmen können und nicht alles neu *erfinden* müssen.
> Aber verstehen können Sie's trotzdem.
>  
*lach* Mathematik und logisch?  Wo denn?

Berechne doch z.B. mal Inhalt und Oberfläche der Funktion von 1/x von 1
bis oo.

Inhalt: PI. Oberfläche: oo Wenn ich als so einen Behälter anmalen will
(innen oder außen), brauche ich unendlich viel Farbe. Wenn ich aber Pi
Liter Farbe hineinschütte, ist er perfekt angemalt. Den Rest kann ich
wieder ausschütten. Viel Spaß beim Rätseln.

Logische Widersprüche in der Mathematik kenne ich zuhauf....

>  
>> Wenn man das mentale Modell von Squeak sauber verinnerlicht
>> hat, also komplett OO-Denke drauf hat, ist die Programmiersprache
>> Smalltalk eh ein Witz, weil sie der menschlichen Sprache sehr ähnlich
>> ist. Wenn ich da zurück denke, mit C++ oder Java .... grausts mich. Ich
>> sehe S# mit Vergnügen entgegen, überlege, ob ich nicht mal ein Projekt
>> anstoße, Squeak und EToys auf S# zu portieren..... Aber S# ist doch sehr
>> viel anders, als Smalltalk (Ihhh, Mehrfachvererbung....)
>>    
>
> Mehrfachvererbung mit "Ihhh" abzutun, macht auf mich keinen guten
> Eindruck.
Sorry.
> In Common Lisp (CLOS) ist die Mehrfachvererbung sauber
> implementiert und sehr gut einsetzbar, da sie nicht nur eine
> Spezifikation der Schnittstellen enthält, sondern i.d.R. auch eine
> generische Implementation. Spart unheimlich viel Arbeit.
>
>  
Lisp durchsucht bei Mehrfachvererbung ja die Klassenhierarchie in einer
vordefinierten Reihenfolge. Die erste Oberklasse wird genommen. Bei C++
muß der Klassenname vorangestellt, also genau bestimmt werden. Unter
bestimmten Voraussetzungen, gerade im Zusammenhang mit
Grabage-Collection und Mehrprozessorsystemen gibt es gigantische
Schwierigkeiten, auch beim Compilerbau ...  daher -> Konzept wackelig.
Außerdem kann es passieren, daß die Laufzeit des Programms explodiert,
völlig unvorhergesehen, z.B. dann, wenn sich die Katze in den Schwanz
beißt, sprich Oberklassen von Unterklassen umdefiniert werden.

>>> Ich finde schon, dass Schüler auch mit herkömmlichen
>>> Textverarbeitungssystemen umgehen können sollten.
>>>      
>
> Ich persönlich wäre schon zufrieden, wenn die Schüler in der Lage wären,
> mit einem Nur-Text-Editor einen inhaltlich brauchbaren Text zu
> schreiben anstatt Stunden in die "richtige" Verzierung reinzubuttern.
>
>  
>>> Du urteilst ganz schön hart.
>>>      
>> Fakt, jederzeit belegbar. Das begründet z.B. auch, warum Smalltalk
>> Seaside und Ruby on Rails so einen durchschlagenden Erfolg haben.
>>    
>
> Durchschlagend? Ruby on Rails hat Erfolg, weil es zur rechten Zeit
> am rechten Ort war und DHH marketingmäßig sehr geschickt ist. Technisch
> bin ich von RoR nicht beeindruckt. Zu viel Bloat.
>
>  
Was bedeutet das?

>>> Das mag aus deiner Sicht ja alles stimmen,
>>> aber im Schulsystem kann man nicht machen, was man will, selbst wenn man
>>> davon überzeugt ist, recht zu haben. Veränderungen erreicht man nur
>>> schrittweise, frag mal die Leute, die das seit Jahren versuchen!
>>>      
>> Kein Problem. Da maile ich einfach mal durch, wer mir Ansprechpartner
>> nenen kann, die im Kultusministerien in den Gremien sitzen, und genau
>> denen schreibe ich dann ein kleines Pamphlet, mit Codebeispielen, und
>>    
>
> Schon verloren. Entscheider lesen keinen Code, weil sie keinen Code
> lesen können. Entscheider lieben "Industriestandards", damit ein
> Praxisbezug gewährleistet ist. Verwende einen Industriestandard, da
> kannst du nichts falsch machen.
>
>  
Ah, ok! "Leute, esst Scheiße, millionen Fliegen können nicht irren!"
> Deswegen schminken sich Schauspieler auch selber, weil sie damit um
> Welten bessere Ergebnisse erzielen als mit einem professionellen
> Visagisten oder wie sich die Maler da nennen.
>
> Schnellschussmetaphern gehen oft daneben, weil man gegen sie
> argumentieren kann ohne sich auf die Sache zu beziehen.
>  
Stimmt, sollte auch nur die Idee dahinter erläutern.

>  
>>> Das ist für mich das Hauptproblem, zu vermitteln, was das
>>> Besondere an Squeak und Smalltalk ist, eben weil es so anders ist als
>>> alle anderen Sprachen und Werkzeuge.
>>>      
>> Squeak und Smalltalk sind normal, alles andere ist "unnormal".
>>    
>
> Squeak und Smalltalk passen gut in deine Welt, zu deinen
> Aufgabenstellungen und zu deinen Denkmustern. Deswegen sind sie noch
> lange nicht "normal".
>
> Waschmaschine, Wäschetrockner, Geschirrspüler, Toaster, Kühlschrank,
> Staubsauger,.... nirgendswo ein Squeak zu sehen. Desktop-Applikationen
> sind vielleicht "laut", aber dafür selten. Genau wie Menschen im
> Vergleich zu Insekten.
>
> Für die Programmierung oder auch nur den Ablauf mit minimalen Ressourcen
> ist fast jedes OO-System zu komplex und aufgebläht.
>  
Nö, Squeak lief auch auf meinem ARM 250 MHz, 32 MByte RAM....
Apropos: Mein Win32 - Rechner, auf dem ich gerade tippe, zeigt mir 7.5
MByte RAM für Squeak.exe an ....

>  
>> OO-Datenbank. Die Struturen kannst Du jederzeit ohne Datenverlust und
>> irgendwelche Datenbank - Kenntnisse verändern. Anlernzeit - 10 Minuten.
>>    
>
> Na schön, jetzt können die Kids mit Squeak das machen, was sie mit
> Bleistift und Papier machen können. Haben sie jetzt auch was über
> Datenbanken gelernt? Wie man seine Daten organisiert, um einen
> zuverlässigen Zugriff zu bekommen? Bei vielen Daten? Bei unscharfen
> Suchkriterien? Da steckt mehr dahinter als "10 Minuten" Einarbeitung.
>  
Bei vielen Daten? So mit 800 MByte in 0.1 Sekunden nach beliebigen
Suchstrings durchforsten? Siehe Anschluß an Gemstone/S, Magma und deren
Performance.
> Ich nehme dabbledb, das geht noch schneller. Aber was kann ich jetzt?
> Was hab ich dabei gelernt? Hab ich mich durch das Anklicken
> vorgefertigter Komponenten irgendwie weiterentwickelt?
>
>  
Kenne ich leider nicht .... aber zur Weiterentwicklung - lohnt es
perfekt runde Räder neu zu erfinden?

>> Wer braucht denn das überhaupt noch, angesichts OO-Datenbanken ud
>> Fulltext - Index? Googles Technik mit fast 0!!! - Suchzeit in Pentabyte
>> großen Datenbanken ist doch super erfolgreich. Dahinter steckt einfach
>> nur - Glimpse. Siehe auch TRIES.
>>    
>
> ... und ein cleveres MapReduce-Verfahren und *tausende* gleichzeitig
> rädelnder PCs. Wenn ich diese Rechenleistung nicht habe, ist's vorbei
> mit der schönen neuen Welt.
>
>  
Nenee. Probier mal Fulltext - Hash aus ... Suchzeit fast nur wenige
Millisekunden..... auch bei 300 Gigabyte Datenbestände noch im Bereich
von unter 1/10 Sekunde.
> s.
>  

Viele Grüße, Guido Stepken

Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Stefan Schmiedl
stepken (13.03. 21:52):

> Hallo, Stefan!
> >
> >  
> >>Jaja, wo ist das Problem? In 5 Minuten stelle ich die verschiedenen
> >>Schleifen vor, und danach alles nur noch mit Iteratoren....
> >>    
> >
> >Ich habe einen Katalog mit 2300 Einträgen und soll die seitenweise
> >zu je 20 Stück anzeigen. Nachdem das über 100 Seiten sind, soll es
> >die Möglichkeit geben "schnell" zu blättern, d.h. 10 Seiten weiter.
> >Das sieht dann so ähnlich aus wie die Navigation von xpdf.
> >
> >  
> Kann sein .... denke aber, daß PDF sicher nicht für riesige Listen
> gedacht war ...

Hab ich auch nicht gesagt. Ich habe gesagt, dass das Benutzer-Interface
so wie bei xpdf aussieht.

> >Wie mach ich das mit Iteratoren so elegant wie mit einer Schleife?
> >
> >firstIndex to: lastIndex do: [:index |
> >  (catalog at: index) showOn: aStream ]
> >
> >Jetzt du!
> >
> >  
> Workspace öffnen:
>
> 'dies ist ein Beispiel' select: [:each |  each isVowel ]. <ALT-P>

nicht mogeln. Wie kriege ich mit einem Iterator die Einträge aus der
Liste? Wenn ich deinem Beispiel folge, frage ich jeden Katalogartikel
nach seiner Position. Die sollte der aber eigentlich nicht kennen, denn
gemäß OO-Prinzip Verkapseln und Verstecken, weiß der einzelne Artikel
nicht, dass er in einer Liste gesammelt ist.

>
> statt select kann man auch do oder collect schreiben ... siehe Handbuch.

Ich weiß, welche Iteratoren Smalltalk zur Verfügung stellt. Ich wusste
nicht, dass Squeak ein Handbuch hat, in dem so was steht :-)

>
> >>*lach* 300 Mannjahre Entwicklungsarbeit in Squeak und "verstehen"?
> >>    
> >
> >Na aber sicher doch. Ich weiß nicht, wie viele Mannjahre hinter
> >aktueller Mathematik (von mir aus auch Schulmathematik) stehen,
> >aber trotzdem kann man sie verstehen. Der Witz an der Stelle ist,
> >dass Nachfolger durch geschickte Aufzeichnungen der Vorgänger
> >Abkürzungen nehmen können und nicht alles neu *erfinden* müssen.
> >Aber verstehen können Sie's trotzdem.
> >  
> *lach* Mathematik und logisch?  Wo denn?
>
> Berechne doch z.B. mal Inhalt und Oberfläche der Funktion von 1/x von 1
> bis oo.

Ich bin in Bayern zur Schule gegangen und hab hier auch fürs Lehramt
studiert. Mit mir musst du langsam reden. Was ist der Inhalt und die
Oberfläche der Funktion 1/x?

>
> Inhalt: PI. Oberfläche: oo Wenn ich als so einen Behälter anmalen will
> (innen oder außen), brauche ich unendlich viel Farbe. Wenn ich aber Pi
> Liter Farbe hineinschütte, ist er perfekt angemalt. Den Rest kann ich
> wieder ausschütten. Viel Spaß beim Rätseln.

Aha. Pi. Also lassen wir vermutlich 1/x um die x-Achse rotieren.
Ich kann zwar auf Anhieb die Oberfläche eines Rotationskörpers nicht
mehr ausrechnen, aber glaube das \infty einfach mal.

Wo ist das Problem? Du kannst die Farbe doch gar nicht reinschütten, weil
- du nicht groß genug bist, um zur Öffnung "oben" raufzulangen
- weil die Öffnung oben zu klein ist, als dass da Farbmoleküle
  durchpassen würden
- wenn du "die Spitze nach unten" hältst, die eingefüllte Farbe nicht
  aus dem Gravitationstrichter der Erde rausläuft
- es schwierig sein dürfte, das Einfüllen abzuwarten, wenn wir mal die
  Lichtgeschwindigkeit als Obergrenze für Bewegung nehmen.
- der Behälter nicht ins (endliche) Universum passt

Ich kann auch flächenfüllende Kurven und raumfüllende Flächen finden,
aber wo ist das Problem mit der Logik? Es gibt vielleicht ein Problem
mit der Anschauung/persönlichen Erfahrung, aber die Logik spielt da
keine Rolle. Logik heißt, konsequente Anwendung von Regeln, aufbauend
auf Axiomen.

> Logische Widersprüche in der Mathematik kenne ich zuhauf....

Wissen wir seit Gödel, dass es so was geben muss. Aber was hat das mit
der Verstehbarkeit eines Systems zu tun, das du nie selbst erfinden
könntest?

> >  
> >>Wenn man das mentale Modell von Squeak sauber verinnerlicht
> >>hat, also komplett OO-Denke drauf hat, ist die Programmiersprache
> >>Smalltalk eh ein Witz, weil sie der menschlichen Sprache sehr ähnlich
> >>ist. Wenn ich da zurück denke, mit C++ oder Java .... grausts mich.
> >>Ich sehe S# mit Vergnügen entgegen, überlege, ob ich nicht mal ein
> >>Projekt anstoße, Squeak und EToys auf S# zu portieren..... Aber S# ist
> >>doch sehr viel anders, als Smalltalk (Ihhh, Mehrfachvererbung....)
> >>    
> >
> >Mehrfachvererbung mit "Ihhh" abzutun, macht auf mich keinen guten
> >Eindruck.
> Sorry.
> >In Common Lisp (CLOS) ist die Mehrfachvererbung sauber
> >implementiert und sehr gut einsetzbar, da sie nicht nur eine
> >Spezifikation der Schnittstellen enthält, sondern i.d.R. auch eine
> >generische Implementation. Spart unheimlich viel Arbeit.
> >
> >  
> Lisp durchsucht bei Mehrfachvererbung ja die Klassenhierarchie in einer
> vordefinierten Reihenfolge. Die erste Oberklasse wird genommen.

Was meinst du damit? Wofür wird die "erste Oberklasse" genommen?

> Bei C++
> muß der Klassenname vorangestellt, also genau bestimmt werden. Unter
> bestimmten Voraussetzungen, gerade im Zusammenhang mit
> Grabage-Collection und Mehrprozessorsystemen gibt es gigantische
> Schwierigkeiten, auch beim Compilerbau ...  daher -> Konzept wackelig.

1. Bei C++ oder Lisp?
2. Hab ich mit GC bei Einfachvererbungs-Sprachen wie Smalltalk nicht
   die gleichen Probleme? Was hat GC überhaupt mit Vererbung zu tun?
3. Nur weil die Implementation nichts taugt, muss ein Konzept nicht
   wackelig sein.

> Außerdem kann es passieren, daß die Laufzeit des Programms explodiert,
> völlig unvorhergesehen, z.B. dann, wenn sich die Katze in den Schwanz
> beißt, sprich Oberklassen von Unterklassen umdefiniert werden.

Was heißt, dass Oberklassen von Unterklassen umdefiniert werden?

> >Durchschlagend? Ruby on Rails hat Erfolg, weil es zur rechten Zeit
> >am rechten Ort war und DHH marketingmäßig sehr geschickt ist. Technisch
> >bin ich von RoR nicht beeindruckt. Zu viel Bloat.
> >
> >  
> Was bedeutet das?

Viel Zeugs eben, das das System unheimlich langsam macht. Rails ist
das Vista der Ruby-Webframeworks. Vor vielen Jahren hat Avi Bryant
ein Framework namens IOWA in Ruby begonnen, das er Kirk Haines vererbt
hat. In nächster Zeit wird's da endlich die offizielle Version 1.0 geben
und von der Geschwindigkeit und dem Ressourcenbedarf her ist das um
Klassen besser.

> >>>Das mag aus deiner Sicht ja alles stimmen,
> >>>aber im Schulsystem kann man nicht machen, was man will, selbst wenn man
> >>>davon überzeugt ist, recht zu haben. Veränderungen erreicht man
> >>>nur schrittweise, frag mal die Leute, die das seit Jahren versuchen!
> >>>      
> >>Kein Problem. Da maile ich einfach mal durch, wer mir Ansprechpartner
> >>nenen kann, die im Kultusministerien in den Gremien sitzen, und genau
> >>denen schreibe ich dann ein kleines Pamphlet, mit Codebeispielen, und
> >>    
> >
> >Schon verloren. Entscheider lesen keinen Code, weil sie keinen Code
> >lesen können. Entscheider lieben "Industriestandards", damit ein
> >Praxisbezug gewährleistet ist. Verwende einen Industriestandard, da
> >kannst du nichts falsch machen.
> >
> >  
> Ah, ok! "Leute, esst Scheiße, millionen Fliegen können nicht irren!"

Nicht "Leute" und "Fliegen", sondern "Fliegen" und "Fliegen". Wenn man
diese Diskrepanz aus dem Satz rausnimmt, ist er zwar immer noch
unappetitlich, aber viel einleuchtender.

Es handelt sich halt um einen typischen Fall von CYA (cover your a55),
mit dem ein potenzieller Schaden an der eigenen Karriere vermieden wird.
"Ich folge dem Standard, also hab ich nicht grob fahrlässig gehandelt."

Das heißt nicht, dass ich diese Einstellung billige, aber das ist nun
mal die vorherrschende Mentalität.

> >Für die Programmierung oder auch nur den Ablauf mit minimalen Ressourcen
> >ist fast jedes OO-System zu komplex und aufgebläht.
> >  
> Nö, Squeak lief auch auf meinem ARM 250 MHz, 32 MByte RAM....

250 MHz und 32 MB? Minimale Ressourcen sind eher x kHz und y kB,
wobei x und y deutlich unter 100 liegen...

> >Na schön, jetzt können die Kids mit Squeak das machen, was sie mit
> >Bleistift und Papier machen können. Haben sie jetzt auch was über
> >Datenbanken gelernt? Wie man seine Daten organisiert, um einen
> >zuverlässigen Zugriff zu bekommen? Bei vielen Daten? Bei unscharfen
> >Suchkriterien? Da steckt mehr dahinter als "10 Minuten" Einarbeitung.
> >  
> Bei vielen Daten? So mit 800 MByte in 0.1 Sekunden nach beliebigen
> Suchstrings durchforsten? Siehe Anschluß an Gemstone/S, Magma und deren
> Performance.

Gemstone war nicht ganz billig, als ich das letzte Mal nachgeschaut hab.
Was mach ich, wenn ich das Geld nicht hab?

> >Ich nehme dabbledb, das geht noch schneller. Aber was kann ich jetzt?
> >Was hab ich dabei gelernt? Hab ich mich durch das Anklicken
> >vorgefertigter Komponenten irgendwie weiterentwickelt?
> >
> >  
> Kenne ich leider nicht

dabbledb.com, IIRC. Von Avi Bryant, baut auf Seaside auf.

> .... aber zur Weiterentwicklung - lohnt es
> perfekt runde Räder neu zu erfinden?

Bitte lies doch, was ich schreibe. Hab ich *mich* weiterentwickelt?

Ich werde zwar zunehmend runder, aber ein perfektes Rad bin ich noch
lange nicht. Ich muss mich auch nicht neu erfinden, sondern nur stetig
verbessern. Wenn es da ein lokales Maximum geben sollte, hab ich es noch
nicht erreicht. Wenn ich es erreicht habe, werd' ich hochbezahlter
Manager und lehne alles Neue ab, was ich nicht schon immer so gemacht
hab. Just kidding.

> >>Wer braucht denn das überhaupt noch, angesichts OO-Datenbanken ud
> >>Fulltext - Index? Googles Technik mit fast 0!!! - Suchzeit in Pentabyte
> >>großen Datenbanken ist doch super erfolgreich. Dahinter steckt einfach
> >>nur - Glimpse. Siehe auch TRIES.
> >>    
> >
> >... und ein cleveres MapReduce-Verfahren und *tausende* gleichzeitig
> >rädelnder PCs. Wenn ich diese Rechenleistung nicht habe, ist's vorbei
> >mit der schönen neuen Welt.
> >
> >  
> Nenee. Probier mal Fulltext - Hash aus ... Suchzeit fast nur wenige
> Millisekunden..... auch bei 300 Gigabyte Datenbestände noch im Bereich
> von unter 1/10 Sekunde.

300 GB Textdaten? Unter 1/10 Sekunde? Mit Squeak? Cool. Wie groß ist
denn da die Indexdatei?

s.

--
Stefan Schmiedl
+-------------------------------+----------------------------------------+
|Approximity GmbH               | EDV-Beratung Schmiedl                  |
|http://www.approximity.com     | Am Bräuweiher 4, 93499 Zandt, Germany  |
|mailto:[hidden email]  | Tel. (09944) 3068-98, Fax -97          |
+-------------------------------+----------------------------------------+

Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Bert Freudenberg
On Mar 13, 2007, at 22:51 , Stefan Schmiedl wrote:

>>> Wie mach ich das mit Iteratoren so elegant wie mit einer Schleife?
>>>
>>> firstIndex to: lastIndex do: [:index |
>>>  (catalog at: index) showOn: aStream ]
>>>
>>> Jetzt du!
>>>
>>>
>> Workspace öffnen:
>>
>> 'dies ist ein Beispiel' select: [:each |  each isVowel ]. <ALT-P>
>
> nicht mogeln. Wie kriege ich mit einem Iterator die Einträge aus der
> Liste?

<klugscheiß>

        catalog atAll: (firstIndex to: lastIndex)

</klugscheiß>

Das Tolle an der Smalltalk-"For-Schleife" ist, dass sie nur ein  
Iterator über Zahlenintervalle ist. So wie man über normale  
Sammlungen iteriert (mit #do:, #collect:, #select: etc.) kann man das  
auch mit Intervallen machen:

        (1 to: 5) do: [:i | ...]
        (1 to: 5) collect: [:i | ...]
        (1 to: 5) select: [:i | ...]

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Stefan Schmiedl
Bert Freudenberg (13.03. 23:12):

> >nicht mogeln. Wie kriege ich mit einem Iterator die Einträge aus der
> >Liste?
>
> <klugscheiß>
>
> catalog atAll: (firstIndex to: lastIndex)
>
> </klugscheiß>

Aber nicht doch ... gibt's atAll: wirklich? Boah! Jahrelang übersehen!

Danke!

>
> Das Tolle an der Smalltalk-"For-Schleife" ist, dass sie nur ein  
> Iterator über Zahlenintervalle ist.

Das ist richtig. Entspricht aber "vom Gefühl her" genau der alten
BASIC/C-For-Schleife, weil "nur" über Zahlen iteriert wird, und die
gelten anscheinend nicht als Objekte. Sonst wäre Guido nicht so
versessen drauf, sie nicht zum Abarbeiten von Collections herzunehmen.

Ich wollte eigentlich darauf hinaus, dass Schleifen zu bestimmten
Gelegenheiten durchaus sinnvoll sein können, und bin jetzt eines
(hilfreichen) Besseren belehrt worden :-)

s.

--
Stefan Schmiedl
+-------------------------------+----------------------------------------+
|Approximity GmbH               | EDV-Beratung Schmiedl                  |
|http://www.approximity.com     | Am Bräuweiher 4, 93499 Zandt, Germany  |
|mailto:[hidden email]  | Tel. (09944) 3068-98, Fax -97          |
+-------------------------------+----------------------------------------+

Reply | Threaded
Open this post in threaded view
|

Re: Re: SqueakInf11-Schlager Anmerkungen

Markus Schlager-2
In reply to this post by Bert Freudenberg
> Das Tolle an der Smalltalk-"For-Schleife" ist, dass sie nur ein Iterator
> überZahlenintervalle ist. So wie man über normale Sammlungen iteriert
> (mit #do:, #collect:, #select: etc.) kann man das auch mit Intervallen
> machen:
>
>        (1 to: 5) do: [:i | ...]
>        (1 to: 5) collect: [:i | ...]
>        (1 to: 5) select: [:i | ...]
>

Super, *das* hatte ich auch schon verstanden! :)

Ad \infty und pi, physikfrei, Guido: Dann schreib pi doch mal hin und
erklär bitte, was das mit 'endlich' zu tun hat? Es soll schließlich
nicht zu viel Farbe sein, aber auch nicht zu wenig. (Entschuldige, aber
das konnte ich mir nicht verkneifen.)

Markus
-----------------------------------------------
 Markus Schlager               m.slg(at)gmx.de

123