Aus Das deutschsprachige Scratch-Wiki
Jens hielt einen mitreißenden Vortrag über seinen Weg vom ersten Kontakt zu Scratch, das ihm zunächst zur Berufung und später zum Beruf wurde. Besondes eindrucksvoll schilderte er seine Begegnungen mit den damit verbundenen Menschen, speziell den Leuten vom Lifelong Kindergarten am MIT Media Lab und der University of California, Berkeley, die "brennen" um Wissen besser vermitteln zu können und ihn zur ständigen Weiterentwicklung vom BYOB und Snap! anspornten.
Details zu: Bericht vom Scratch Day 2013 in Bochum / Hattingen#Jens Mönig
Auf das Zusammentreffen mit Jens Mönig hatten sich viele Teilnehmer gefreut, weil er wie kein anderer in Deutschland die Entwicklung von Scratch mitgeprägt hat und im direkten Kontakt mit den Leuten vom Lifelong Kindergarten am MIT Media Lab , zunächst Scratch stark weiterentwickelt und später in Zusammenarbeit mit der University of California, Berkeley die Programmierumgebungen Build Your Own Blocks (Programmiersprache) und Snap! als eine Art "Fortsetzung von Scratch" entwickelte. Durch Jens Arbeit können die Konzepte von Scratch auch in der Oberstufe bis zum Abitur und in Universitätsvorlesungen, wie "Algorithmen und Datenstrukturen" eingesetzt werden, wo es das Potential hat, die Art wie komplexe Begriffe der Informatik verstanden werden können, zu revolutionieren. Außerdem läuft Jens' Scratch-Fortsetzung Snap! auch auf iOS-Systemen, da es auf Javascript basiert, während Scratch 1.x Squeak+Java und Scratch 2.0 Flash nutzen.
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.
siehe auch Scratch-Day_2009_in_Bochum#Weitere_Entwicklungen_von_Scratch
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.
{{#ev:youtube|rXN81Hsj_A4|320x190||||}}
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 die gleiche Komplexität abdecken kann. Es war möglich nur sehr 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 war quasi auf dem Höhepunkt seiner Verbreitung und technologischen Möglichkeiten und damit am etabliertesten. Flash war aber auch problematisch aufgrund von Proprietät, mangelnder Mobil-Device-Orientierung, stark abnehmende Unterstützung durch immer wichtiger werdende Betriebssysteme / Marktteilnehmer (iOS / Apple , inzwischen auch Android / Google). Für viele deutete sich damit bereits ein Niedergang von Flash an, 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ß. Ein wichtiger Punkt für Flash waren die für das Scratch-Team wichtigen wesentlich besseren Soundfähigkeiten. 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 Javasrcipt. Auf beiden Plattformen wurde Scratch bzw. BYOB komplett von der Wurzel neu implementiert, wobei die "alte Smalltalk-Hasen" John Maloney und Jens Mönig mit Flash und JavaScript jeweils für sie neue Technologie beherrschen lernen mussten.
2014-2015 GP entsteht
Nachtrag:
Inzwischen arbeitet Jens für die CDG Labs US (25-Mann Innovationsschmiede geleitet von Alan Kay finanziert von SAP mehr infos) und ist dort zusammen mit -#John Malony und -#Yoshiki Ohshima dabei die GP (Programmiersprache) zu entwickeln, die keine Lehrsprache mehr sein soll, sondern eine vollwertige professionelle Programmiersprache, die auf den Grundlagen von Scratch aufbaut. Der Arbeitstitel "GP" steht für "General Purpose Blocks Programming Language". Zielgruppe sind "Gelegenheitsprogrammierer". GP soll helfen jedem, schnell und einfach Software zu erstellen, ohne sich Tief und zeitaufwändig einarbeiten zu müssen. John hat dies auch als "Casual Programming" bezeichnet. Mit GP wird es einfacher, einem Experten auf einem bestimmten Gebiet Programmieren beizubringen, als einem Programmierer das fehlende Expertenwissen zu vermitteln, um für den Experten eine bestimmte Anwendung zu erstellen. Dabei soll es keine Beschränkung bezüglich Anwendungsgebiet, Plattform oder Professionalität geben. Während also ScratchJr die "Scratch-Idee" wie Computer literacy erreicht werden kann in den Kindergarten erweitert, erweitert GP (Programmiersprache) diese Idee in den Bereich der professionellen Anwender.
(...to be continued...)
[wiki=de:Jens Mönig am Scratch Day 2013]Jens Mönig am Scratch Day 2013[/wiki]