Aus Das deutschsprachige Scratch-Wiki

Detailbereicht zu: Bericht vom Scratch Day 2013 in Bochum / Hattingen#Jens Mönig

ACHTUNG: Dieser Bericht ist um Details aus dem Hintergrundwissen des Autors ergänzt, geht also über den reinen Vortrag von Jens hinaus und entspricht in seiner Begeisterung für Jens Weg auch nicht dem beschiedenen und zurückhaltenden Stil, in dem Jens seinen eigenen Beitrag beschreibt. @Jens: Bitte nicht übelnehmen, melde Dich, wennn etwas aus dem Bericht gar nicht geht ;-)

2007: Ein Rechtsanwalt entdeckt Scratch

Angefangen hatte es für Jens Mönig mit dem "Spass am Spielen" nach Feierabend seiner damaligen eigenen Rechtsanwaltkanzelei. Seine Vergangenheit als Smalltalk-Programmierer bei IBM, in der er unter anderem ein graphisches System zur besseren Begreifbarkeit juristischer Zusammenhänge entwickelt hatte, lag schon 10 Jahre zurück, als ihm 2007 durch Zufall - beim Schwelgen in alten Programmiererzeiten und gleichzeitigem Durchblättern von aktuellen Smalltalk-Projekten - Scratch über den Weg lief. Das "genial eingängige Design" der Scratch-Entwicklungsumgebung faszinierte ihn sofort, schon allein, weil Scratch als eines der wenigen Squeak-Smalltalk-Projekte das volle Design-Potential nutzte. "So etwas Schönes hatte ich zuvor noch nie gesehen" erklärte Jens seine "Liebe auf den ersten Blick" zu Scratch.

2007: engagierter Hobby-Scratcher & Forums-Moderator

Begeistert begann Jens in seiner Freizeit Scratch-Projekte zu entwickeln und hochzuladen (hier zu sehen), fand über seine Scratch-Forum-Beiträge in die Scratch Community und fiel dort, aufgrund seiner engagierten und kompetenten Unterstützung anderer Scratcher dem Scratch-Team am MIT auf, die ihn einluden Community Moderator zu werden. Natürlich blieb es bei Jens nicht beim reinen Scratchen...ihn interessierte der Squeak-Quellcode von Scratch, wie erstmals in seinem Project Source vom 17. Juli 2007 öffentlich wurde, das einen Bug in Scratch dokumentiert, mit dem man schon damals die "hochglanzpollierte Motorhaube" von Scratch öffnen und auf direkt die genialen Squeak-Smalltalk-Maschinerie dahinter sehen konnte (siehe auch: Scratch Implementierung in Squeak Smalltalk#Wie kommt man von Scratch nach Squeak?).

2008: wieder Entwickler: Modding, Chirp + MIT-Team-Mitglied

Noch bevor die - vom Scratch-Team immer zugesagte, aber etwas in die Länge gezogene - offizielle Veröffentlichung des Quellcodes der Entwicklungsumgebung erfolgte, begann Jens mit dem Modden von Scratch und fand bald begeisterte Anhänger und Unterstützer für seine erste Scratch-Mod Chirp zu deren Entwicklung er eine englischsprachige Website einrichte ( http://www.chirp.scratchr.org/ ) für deren Blog er auch heute - selten aber regelmäßig - Beiträge schreibt. 2008 gehörte er dann - neben Joren Lauwers - zu den fünf internationalen Teilnehmern der ersten Scratch-Konferenz am MIT, denen das Scratch Team den Flug und Aufenthalt sponserte, um sie auf jeden Fall dabei zu haben.

Inzwischen war es bereits zu intensivem Gedanken- und Code-Austausch zwischen Jens und dem legendären Scratch-Chefprogrammierer John Maloney gekommen (zu John Maloney siehe MIT-Online-Konferenz am SC-2009). So konnte Jens beim Scratch-Day 2009 in Bochum bereits viele Features der kommenden Scratch 1.4-Version vorstellen, die zum Teil "auf seinem Mist" gewachsen waren, denn das Scratch-Team hat ihn in Form eines "Nebenjobs" als einen der Entwickler integriert und ihn durch die faszinierende Aufgabe "denk Dir neue Features aus" hoch motiviert. Einige dieser Features wie Nestable Sprites fanden aber nie Eingang in Scratch sondern blieben immer ein Teil von BYOB, dem Nachfolger von Chirp.

Gleichzeitig war auch eine IT-Firma auf Jens aufmerksam geworden, die einen kompetenten Smalltalk-Kenner mit juristischem Hintergrundwissen suchte und - nachdem er einige Top-Leistungen für sie erbracht hatte - bereit war ihm viele Freiheiten für seine eigenen Projekte zu gewähren: Das Angebot war so gut, dass Jens dafür seine Kanzlei aufgab und sich auch beruflich wieder der Softwareentwicklung zuwendete, weil er hier "Spaß und Arbeit" besser verbinden konnte.

ab 2009: BYOB entsteht

BYOB war durch den Kontakt zu Prof. Brian Harvey, dem für sein UCB-Logo bekannten Berkeleyprofessor entstanden, den Jens auf der 2008er MIT Konferenz kennen gelernt hatte und der inzwischen sein bester Freund ist. Die Berkeley-Leute waren 2008 von Scratch begeistert, suchten aber - als Nachfolger für ihr Scheme eine voll funktionsfähige Programmiersprache, die nicht nur für Kinder, sondern für eine komplette anspruchsvolle Universitätsvorlesung für Erwachsene geeignet wäre.

Dazu fehlte Scratch 1.4 vieles, wie z.B. Unterfunktionen, in Scratch natürlich "Blöcke", die man selber definieren kann. Daher auch der Name der neuen auf Scratch basierenden Programmiersprache "Build Your Own Blocks". Weiterhin fehlten Scratch 1.4 auch Rekursion, richtige Objektorientierung und einiges mehr um die Ansprüche des Berkeley-Teams zu erfüllen.

Aber das Berkeley-Team wollte sogar noch mehr: Eine der "höchsten Weihen" von Programmiersprachen, deren volles Potential vielen Programmierern auch heute noch kaum bekannt ist, sollte ebenfalls durch die gesuchte neue Sprache abgedeckt sein: Das sogenannte Lambda-Kalkül. Es bedeutet eigentlich nichts anders, als dass Quellcode selber ein Objekt sein kann, das in Variablen gespeichert und als Eingabe- und Ausgabeparameter in Unterfunktionen übergeben werden kann, wie das in Lisp oder Smalltalk schon seit Jahrzehnten üblich ist und inzwischen auch Einzug in viele angeblich "modernere" Programmiersprachen wie Java gefunden hat.

Gemeinsam schaften es Brian und Jens mit BYOB eine solche Sprache zu entwickeln, wobei Brian das Sprachdesign und die Dokumentation beisteuerte, während Jens die gesamte Programmierung durchführte.

2010: BYOB-Einsatz am Berkeley in: "The Beauty and Joy of Computing"

Das Ergebnis BYOB erfüllte alle obigen Ansprüche und war dabei so leicht verständlich wie in keiner anderen Programmiersprache welche gleichen Komplexität abdecken kann. Es war möglich nur seher wenige, aber mächtige Elemente zu Scratch auf eingängige Art hinzuzufügen, so dass die "spielerische Leichtigkeit" von Scratch weitestgehend erhalten werden konnte und BYOB wie die völlig logische Fortsetzung von Scratch erscheint.

BYOB konnte so ab Herbst 2010 - wie geplant - als Grundlage für den Berkeley-Kurs CS10 : BJC (The Beauty and Joy of Computing) (und die folgenden bis Frühling 2013) verwendet werden und dort die Sprache Scheme ablösen, das stets ein "Pferdefuss" des Kurses gewesen war, weil - obwohl es im Prinzip sehr einfach ist - viele Teilnehmer damit keinen Zugang zum eigenen Programmieren gefunden hatten, was sich mit BYOB grundlegend änderte.

2011: Snap! entsteht

Eine wichtige Eigenschaft welche die Version 2.0 von Scratch haben sollte war, dass es vollständig online im Browser laufen sollte, ohne separaten Download und Installation auf dem Rechner. Lange wurde im MIT-Scratch-Team überlegt, welche Web-Technologie hierfür gewählt werden sollte, wobei entweder Flash oder Javascript zur Debatte standen und die Entscheidung sehr schwer fiel. Flash quasi auf dem Höhepunkt seiner Verbreitung und damit am etabliertesten war, der Niedergang sich für viele aber schon langsam andeutete, während Javascript offensichtlich eine große Zukunft als Webplattform bevorstand, aber der aktuelle Status bezüglich Möglichkeiten und Geschwindigkeit noch zu wünschen übrig ließ. Schließlich entschied sich das Scratch-Team vom MIT für die "sichere Gegenwart", also Flash und das BYOB-Team mit Jens für das "Potential der Zukunft", also Javascipt. Auf beiden Plattformen wurde Scratch bzw. BYOB komplett von der Wurzel neu Implementiert, wobei die "alte Smalltalk-Hasen" John Mallony und Jens Mönig mit Flash und JavaScript jeweils für sie neue Technologie beherrschen lernen mussten.

(...to be continued...)

Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.