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.