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 |
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 |
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 |
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] |
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. > > 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. > > 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 |
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 ... 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 |
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. 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. 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. > 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. (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 |
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.... 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"? 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.... 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 ... 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 ... 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 ... 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 > > |
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. 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. 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 |
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 |
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 |
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 | +-------------------------------+----------------------------------------+ |
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. |
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. > 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 |
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... ;-) |
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. > > 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. > 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. > 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. > > >>> 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. > > > 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. > 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. > 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. > > Millisekunden..... auch bei 300 Gigabyte Datenbestände noch im Bereich von unter 1/10 Sekunde. > s. > Viele Grüße, Guido Stepken |
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 | +-------------------------------+----------------------------------------+ |
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 - |
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 | +-------------------------------+----------------------------------------+ |
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 |
Free forum by Nabble | Edit this page |