[Squeak-ev] Etoys/Squeak vs. Scratch (Diskussionsbeitrag von
Ralf Romeike)
Guido Stepken
gstepken at googlemail.com
Fre Nov 5 00:38:23 UTC 2010
Überlegen ist nun Etoys/Squeak aus pädagogischer Sicht sicherlich in
vielerlei Hinsicht. Es kommt bei den Kiddies kaum Frust auf, Spiel
überwiegt. Wenn ich mir allein überlege, wie lange ich für so einen
Quatsch in C++ oder Java bräuchte?
#(1 2 3 4) + 5.
#(6 7 8 9)
#(3 #(3 4) #(5 6 7)) * 3.1415.
#(9.4245 #(9.4245 12.566) #(15.7075 18.849 21.9905))
6 Dinge allerdings machen mir Kopfschmerzen:
1. Einmal Smalltalk - die wollen nie wieder andere Programmiersprachen
erlernen!
2. Smalltalk ist Hacken, kein modernes Software Engineering, wie man
z.B. mit JAVA und BlueJ lernen kann.
3. Multiprozessorunterstützung fehlt bislang (RoarVM kommt wohl bald)
4. Erziehung zur Frusttrationstoleranz. Sich mal auch "durchbeissen
müssen" durch Bits und Bytes
5. Sinnlos erworbenes Wissen, da kein Entscheider Squeak einsetzen wird.
6. Zu hohes Abstraktionsniveau für Einsteiger
zu 6)
The Elements of Computing Systems: Building a Modern Computer from First
Principles ... Von Noam Nisan,Shimon Schocken
http://books.google.de/books?id=THie6tt-2z8C&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false
Wer sich das in Ruhe mal durchliest, wird viele neue Erkenntnisse haben.
Nicht nur, dass das pädagogische System von Shocken sich nicht nur um
Programmierung dreht, sondern ebenfalls um den Entwurf der dazu
gehörigen Hardware, was elementare Einblicke in die Wechselwirkung von
Hard - und Software gibt, kein - man kann einen Computer mit Hardware
simulieren und im Betrieb beobachten. Und später das auch in FPGA oder
ASIC giessen. So erfährt man auch, was es mit diesen Firmware - Treibern
unter Linux auf sich hat! ;-) Z.B. ist es recht anschaulich erklärt, wie
man ein PONG Spiel mit nur wenigen hundert Byte realisiert.
Ich verwende das System zur Ausbildung von Informatik - Studis an der
Berliner Uni. Erinnert mich an die Zeit, wo ich selber noch Chips
gelötet habe.
zu 3)
Schaue ich mir das neue C++0x, die Programmiersprache GO, Haskell an, so
komme ich mit diesen Werkzeugen zu jedem Ziel. Automatische
Parallelisierung steckt bereits in den neuen Libraries.
In Kürze werden alle Computer Mehrprozessorsysteme sein, ARM, INTEL,
GPGPU's sogar massiv. Ein Parallelrechner mit 512 Prozesoren ist für
unter 1000€ zu haben!
Smalltalk besitzt z.B. im Gegensatz zu Haskell keinerlei eingebauten
Parallelismus. In Haskell sind alle verwendeten Algorithmen
*GRUNDSÄTZLICH* parallelisierbar. Keine Library, die nicht
vollautomatisch alle verfügbaren Prozessoren ausnutzt. C++0x wird da
kaum hinterher stehen, GO ebenso. Smalltalk ist zwar theoretisch auf der
RoarVM lauffähig, aber *ALLE* verwendeten Algorithmen in den Libraries
sind Single - Prozessor Algorithmen. Smalltalk müsste, um eine Zukunft
zu haben, angesichts der MP - Welle, *komplett* eingestampft und mit
Parallelalgorithmen völlig neu implementiert werden.
Zu RoarVM siehe: http://forums.instantiations.com/viewtopic.php?f=12&t=5523
Damit komme ich zu 5.)
Es ist für einen Schüler einfach vertane Zeit, Smalltalk zu lernen, wenn
er nach Schulschluß einen Nebenjob in einer Programmierfirma mit C++0x
oder Java haben könnte.
MfG, Guido Stepken