Visual-Programming-IDEs erleichtern den Einstieg in die Software-Erstellung durch eingängige Programmierkonzepte, einfache Befehle und spezielle Hilfestellungen. Wir stellen fünf Kandidaten vor.
Programmieren scheint ein ziemlich kompliziertes Unterfangen zu sein – das muss man zumindest glauben, wenn man in der Buchhandlung seines Vertrauens einen der dicken Schinken zu C++, C# oder Java aus dem Regal zieht. Die beim Durchblättern dieser Wälzer an den Augen vorbeiziehenden kryptischen Befehlskolonnen legen den Verdacht nahe, es handele sich um eine Wissenschaft für eine kleine, verschworene Gemeinde. Genau das Gegenteil wollen Alice, Greenfoot, Hackety Hack, Processing und Scratch beweisen: Die fünf Entwicklungsumgebungen helfen nicht nur beim Einstieg ins Programmieren, sondern führen auch extrem schnell zu einer kompletten Anwendung. Alice, Greenfoot und Scratch richten sich dabei explizit auch an Kinder.
Klickibunti
Alle fünf IDEs nutzen einen visuellen Ansatz: Der angehende Programmierer lädt in einem Fenster grafische Objekte ab, die er dann dreht, skaliert, bewegt oder anderweitig manipuliert. Bei Alice und Scratch genügt es bereits, aus einer Palette passende Autos, Figuren und Häuser in das Fenster zu ziehen und sich dann den gewünschten Programmablauf aus fertigen Bausteinen zusammenzuklicken. Hackety Hack, Greenfoot und Processing verlangen hingegen, dass man Befehle eintippt. Diese verändern nicht nur die Objekte, sondern erzeugen auch die Grafiken. Das verlangt etwas mehr Einarbeitung und Vorstellungskraft, erlaubt dafür aber auch komplexere Ergebnisse.
Da der Benutzer grafische Objekte manipuliert, sieht er sofort die Auswirkungen seiner Anweisungen. Diese Interaktivität animiert zum Experimentieren mit neuen, unbekannten Funktionen und führt vor allem Kinder und Jugendliche spielerisch an die Programmierung heran. Selbst erfahrene Programmierer sollten über die hier vorgestellten Umgebungen nicht schmunzeln: Sie eignen sich nämlich hervorragend zum Bau von Prototypen. Der von Greenfoot und Processing produzierte Java-Code lässt sich sogar leicht in andere Programme übernehmen.
Alle fünf IDEs bieten eine übersichtliche, einfach aufgebaute Benutzeroberfläche. Auch Neulinge finden sich nach einer kurzen Orientierungsphase schnell darin zurecht. Greenfoot, Hackety Hack und Scratch bieten auf ihrer Homepage zudem eine Programmgalerie. Die dort präsentierten Anwendungen zeigen nicht nur, was alles mit der Entwicklungsumgebung möglich ist, sie geben auch Anregungen für eigene Programme.
Kasten: Objektiv
Fast alle hier vorgestellten Werkzeuge nutzen das Konzept der Objektorientierung, das sich in der Programmierung als besonders erfolgreich erwiesen hat. Dabei geht man davon aus, dass ein Programm aus mehreren Objekten besteht. Ein Beispiel für ein solches Objekt wäre eine auf dem Bildschirm sichtbare Schaltfläche oder ein Auto. Diese Objekte besitzen Eigenschaften, wie etwa eine Farbe, und stellen sogenannte Methoden bereit, die das Objekt verändern. Das Auto könnte beispielsweise Methoden wie Fahren, Bremsen oder Parken anbieten. Darüber hinaus dürfen Objekte Ereignisse senden und empfangen. Klickt etwa ein Benutzer auf den Knopf, meldet dieser das Ereignis Ich bin gedrückt. Das Programm kann eine diesen Ereignissen gemäße Reaktion auslösen – etwa das Auto “losfahren” lassen. Schließlich gibt es für die Objekte noch “Baupläne”, die sogenannten Klassen. Bis auf wenige Ausnahmen tritt die Objektorientierung in allen fünf IDEs durchweg in den Hintergrund, Vorkenntnisse darüber brauchen Sie nicht.
Alice
Von der Carnegie-Mellon-Universität in Pittsburgh stammt Alice [1], dessen erste Version bereits 1999 erschien. Die Entwickler haben Alice unter eine eigene Lizenz gestellt, die sich der BSD-Lizenz orientiert, jedoch die Verwendung des Namens Alice in abgeleiteten Werken untersagt.
Alice soll vor allem erste Gehversuche in der objektorientierten Programmierung ermöglichen. Die IDE stellt eine virtuelle Welt bereit, welche Sie per Drag & Drop mit 3D-Objekten wie Personen, Tieren und Fahrzeugen bestücken. Anschließend ziehen sie aus einer Palette leicht verständliche Aktionen (etwa Drehen oder Verschieben) in einen Ablaufplan und erstellen so aus den bislang statischen Szenen Animationen oder sogar kleine Spiele. Alice verwendet dabei in seiner Oberfläche bereits die typischen englischen Begriffe aus der Objektorientierung.

Custom DecimalNumber … ein.” width=”300″ height=”214″ />
Abbildung 1: In Alice bestücken Sie zunächst eine Szene mit Objekten, wie hier einer Palme. Die Positionierung im Raum erweist sich dabei als etwas hakelig. Die von der Palme angebotenen Aktionen ziehen Sie dann auf die rechte Seite. Benötigte Werte wählen Sie aus deinem Kontextmenü oder tippen sie überCustom DecimalNumber ... ein.Alice steht auf der Homepage sowohl in der älteren Version 2 als auch in der neu entwickelten Version 3 bereit. Die Macher empfehlen die ältere Fassung für kleinere Kinder, Alice 3 hingegen für Jugendliche, die später auf Java umsteigen wollen oder müssen. Der Funktionsumfang der beiden Versionen ist allerdings weitgehend identisch.
Die IDE bringt zahlreiche vorgefertigte Objekte mit. Dank einer Kooperation mit dem Spiele-Anbieter Electronic Arts sind darunter im Fall von Alice 3 sogar Figuren und Objekte aus dem Spiel “Die Sims 2”. Für Alice 2 stellen die Entwickler weitere kostenlose Objekte in einer Galerie bereit [2]. Eigene Modelle lassen sich in Alice 2 im ASE-Dateiformat von 3D Studio MAX importieren, Alice 3 fehlt eine solche Möglichkeit noch. Für beide Versionen gibt es mit der Sound Gallery noch eine Sammlung mit Tönen und Hintergrundmusik.
Alice selbst ist in Java geschrieben und benötigt neben einem vollständigen JDK auch eine aktivierte 3D-Beschleunigung via OpenGL. Die IDE, belegt in der Version 3.1 fast 600 MByte auf die Festplatte und verlangt mindestens 1 GByte Hauptspeicher. Die Installation übernimmt ein Assistent. Den Vorgänger Alice 2.3 (Abbildung 2) müssen Sie einfach nur entpacken. Prinzipiell lässt sich Alice 3 auch auf die deutsche Sprache umschalten, auf unserem Testrechner mit Ubuntu 12.10 wollte das jedoch nicht gelingen.

Abbildung 2: Die Benutzeroberfläche der älteren Alice-Version 2.3 wirkt etwas aufgeräumter als die ihres Nachfolgers.
Nach dem Start wählen Sie als Erstes einen Bodenbelag für die virtuelle Umgebung aus. Anschließend erscheint das Hauptfenster, das links oben die aktuelle Szene zeigt. Darunter findet sich eine Liste aller vom derzeit in der Szene angewählten Objekt angebotenen Aktionen. Die gewünschte Handlung ziehen Sie einfach mit der Maus nach rechts, wo auf diese Weise sukzessive einen Ablaufplan entsteht. Am unteren Fensterrand finden sich schließlich noch nützliche Kontrollstrukturen, wie Schleifen oder Wenn/dann-Abfragen, die Sie ebenfalls einfach in den Ablaufplan ziehen.
Abläufe lassen sich in Funktionen und Prozeduren zusammenfassen. Um weitere Objekte der Szene hinzufügen, müssen Sie in die dafür gedachte Ansicht zurückschalten. Dort stehen in einer kleinen Galerie alle verfügbaren Objekte bereit, die Sie per Drag & Drop in die Szene ziehen. Für einen Test des zusammengestellten Ablaufplans müssen Sie man das Programm lediglich starten, eine Kompilierung ist nicht notwendig. Es öffnet sich dann ein neues Fenster, in dem die Anwendung abläuft. Erst wenn Sie dieses Fenster wieder schließen, dürfen Sie im Hauptfenster Korrekturen vornehmen.
Für Lehrer gibt es englischsprachiges Kursmaterial mit Aufgaben und Beispielen [3]. Auf dieses Material ist allerdings auch angewiesen, wer im Alleingang erste Gehversuche mit Alice wagen möchte. Ein klassisches Handbuch oder eine Einführung gibt es nicht, wohl aber zahlreiche englischsprachige Bücher. Fragen beantworten eine FAQ sowie andere Nutzer im offiziellen Alice-Forum, Lehrkräfte können sich auf einer eigens dafür eingerichteten, englischsprachigen Mailingliste austauschen.
Greenfoot
Einen ersten Einstieg in die objektorientierte Java-Programmierung möchte Greenfoot [4] vermitteln. Die gemeinsam von der University of Kent und der La Trobe University in Australien entwickelte Lernumgebung erlaubt das schnelle Erstellen von zweidimensionalen grafischen Anwendungen, insbesondere von Simulationen und Spielen. Zielgruppe sind Schüler der High School, also etwa ab dem vierzehnten Lebensjahr. Die Entwicklung von Greenfoot begann bereits 2003, erst seit 2009 steht das Werkzeug unter der GPL.
Die Programmierung in Greenfoot erfolgt in Java, wobei die Entwicklungsumgebung bereits vorgefertigte Klassen beziehungsweise Objekte bereitstellt. In der Regel repräsentiert dabei jedes Objekt einen sichtbaren Gegenstand in der virtuellen Welt (Abbildung 3), den die Schüler über bereitgestellte Methoden drehen, skalieren und anderweitig verändern können. Im Gegensatz zu Alice geschieht dies jedoch durch die direkte Eingabe von Java-Code. Wie man den schreibt, erklären die Tutorials auf der Greenfoot-Homepage nur bedingt – um ein Java-Buch dürfte man nicht herumkommen. Die erstellten Programme gilt es zudem vor der Ausführung zu übersetzen. Dies geschieht jedoch komfortabel mit einem einzigen Mausklick aus der Benutzeroberfläche heraus.
Greenfoot basiert auf der Java-Entwicklungsumgebung BlueJ, von der es einige Funktionen erbt. So hebt der Editor die einzelnen Bestandteile des Quellcodes unterschiedlich farbig hervor und bietet eine automatische Code-Vervollständigung während des Tippens (Abbildung 3). Musik und Töne lassen sich mit einem eingebauten Sound-Recorder aufnehmen oder als MP3-Datei importieren. Da in Greenfoot die Programmierung direkt in Java erfolgt, lassen sich die eigenen Programme sehr leicht weiterentwickeln. Prinzipiell stehen alle Möglichkeiten offen, man darf folglich auch externe Java-Bibliotheken anflanschen. Darüber hinaus lassen sich die Projekte leicht in andere IDEs übernehmen, der “nackte” Java-Code liegt im Projekt-Verzeichnis.

Abbildung 3: Der Editor von Greenfoot bietet nicht nur Syntax-Highlighting, sondern am rechten Rand auch eine Übersicht, mit der man sehr schnell zur gewünschten Code-Stelle navigiert.
Die Greenfoot-Entwickler stellen Binaries als DEB-Pakete für Ubuntu und Debian bereit. Auf anderen Distributionen müssen Sie zu einem Installationspaket greifen, das Sie man per java -jar Greenfoot-generic-221.jar starten. Nach dem Start erstellen Sie zunächst ein neues Szenario erstellen. Daraufhin öffnet sich das Hauptfenster, das in seinem großen Teil die Ausgaben des Programms anzeigt (Abbildung 4). Auf der rechten Seite bietet Greenfoot als kleine Hilfe ein Klassendiagramm an. So sehen Sie, welche Klassen von welchen anderen abstammen. Ein Doppelklick auf eine Klasse öffnet deren Java-Code im Editor.

Wombat und zwei vom Typ Leaf.” width=”300″ height=”212″ />
Wombat und zwei vom Typ Leaf.Greenfoot unterscheidet zwischen einer World-Klasse, die einem rechteckigen Bereich auf dem Bildschirm entspricht, und Actor-Klassen, welche die grafischen Objekte in der virtuellen Welt repräsentieren. Als Anwender leiten Sie eigene Klassen von den vorgegebenen World– und Actor-Klassen ab und füllen deren Methoden mit entsprechendem Java-Code. Dabei können Sie auf von Greenfoot vorgegebene Funktionen und Methoden zurückgreifen, etwa solche, die das Objekt auf dem Bildschirm umplatzieren. Die wenigen vorgefertigten Klassen lassen sich bequem über ein entsprechendes Fenster importieren. Mit einem Rechtsklick auf eine der Klassen im Klassendiagramm legen Sie ein neues Objekt an und platzieren es im Fall eines Actors mit der Maus auf der Zeichenfläche. Mit einem Rechtsklick auf den Actor rufen Sie direkt seine Methoden auf oder begutachten seine derzeitigen Eigenschaften.
Zu Greenfoot stellen die Macher Lehrmaterialien bereit, es existiert sogar ein eigenes deutsches Lehrbuch [5]. Für Schüler gibt es mehrere Tutorials, eine Referenz und weiterführende Anleitungen, etwa zum Einsatz von Microsofts Kamera Kinect mit Greenfoot. Fragen dürfen Anwender in einem recht einfach gestrickten Forum untereinander klären. Die fertigen Projekte, von Greenfoot “Scenarios” genannt, stellt auf Wunsch die Greenfoot Gallery aus [6]. Hier können andere Greenfoot-Anwender oder Lehrkräfte die Arbeiten kommentieren und bewerten. Die die dort präsentierten Programme lassen sich sogar – ein installiertes Java-Plugin vorausgesetzt – direkt im Browser ausführen.
Für Lehrer existiert mit dem Greenroom eine eigene Plattform [7] zum Austausch von Lehr- und Übungsmaterial. Des Weiteren gibt es überall auf der Welt sogenannte Hubs, die Kurse für Lehrkräfte anbieten. In Deutschland befinden sich derzeit Hubs an der Universität Potsdam und der FU Berlin [8].
Hackety Hack
Wollen Sie Ruby lernen, sollten Sie einen Blick auf das unter der MIT-Lizenz stehende Hackety Hack [9] werfen: Diese IDE bringt Ihnen die populäre Skriptsprache anhand von eingebauten Übungen bei. Lehrer können eigene Übungen als Textdateien mit Markierungen im Markdown-Format hinzufügen [10]. Gegenüber der Konkurrenz handelt es sich noch um ein recht junges Projekt, die erste stabile Version datiert auf das Jahr 2010.
Hackety Hack kommt als 12 MByte große Programmdatei, die Sie einfach nur starten. Das Hauptfenster besteht lediglich aus einem einfachen Editor, der Einsteiger sofort an die Hand nimmt und deutet auf den Lessons-Knopf deutet. Sobald Sie eine der Übungen starten, erscheinen im rechten Teil des Hauptfensters Anweisungen, die Sie im Editor auf der linken Seite umsetzen (Abbildung 5).

Abbildung 5: Hackety Hack besteht lediglich aus einem Hilfe-Fenster mit einem Editor. Letzterer hebt die einzelnen Bestandteile des Codes immerhin farbig hervor.
Ähnlich wie beim altehrwürdigen Logo kennt auch Hackety Hack einen Malstift (“Turtle”), den Sie mit entsprechenden Anweisungen über den Bildschirm ziehen. Zudem enthält Hackety Hack die Bibliothek Shoes [11], mit der sich besonders einfach grafische Benutzeroberflächen schreiben lassen.
Die Dokumentation beschränkt sich derzeit auf die von Hackety Hack mitgelieferten vier Übungen zum Mitmachen. Die sind zwar einfach verständlich, aber auch recht kurz und dürften zahlreiche Fragen offen lassen. Auf der Homepage von Hackety Hack dürfen Sie die selbst erstellten Programme präsentieren [12], eine Bewertung oder Kommentare wie bei Greenfoot gibt es allerdings nicht. Für Hilfesuchende existiert ein einfaches Forum.
Angeblich liegen dem Paket Beispielprogramme bei, die in unserer Testinstallation aber fehlten. Darüber hinaus entfernte der Editor in der Version 1.0.1 beim Löschen eines Zeichen immer mal wieder eines aus der vorherigen Zeile.
Processing
Während sich die Konkurrenz explizit an Programmieranfänger richtet, möchte Processing [13] die Entwicklung von Computerprogrammen mit grafischer Ausgabe vereinfachen. Mit Processing lassen sich unter anderem Abläufe visualisieren, grafische Kunstwerke erzeugen, Diagramme zeichnen, prozedurale Grafiken oder oder Apfelmännchen generieren (Abbildung 6). Einen Einblick in die vielfältigen Möglichkeiten gibt eine recht umfangreiche Ausstellung auf der Processing-Homepage [14].

Abbildung 6: Mit Processing lassen sich schnell Grafikeffekte programmieren – hier ein Partikelsturm, vom Code aus Abbildung 7 produziert.
Processing besteht aus einer Entwicklungsumgebung und der gleichnamigen Programmiersprache. Letztgenannte lässt sich als stark vereinfachtes Java beschreiben. So genügen schon die zwei Zeilen Programmcode, Fenster mit einem grünen Hintergrund zu erzeugen – Java-Kenner dürften jetzt verzückt aufschreien. Da man somit schnell und einfach zu (visuellen) Ergebnissen gelangt, bietet sich Processing insbesondere auch für Programmieranfänger an. Processing entstand bereits 2001 am Massachusetts Institute of Technology (MIT) und steht unter der GPL.
Das von der Homepage heruntergeladene Processing-Archiv müssen Sie lediglich auf der Festplatte entpacken, wo es rund 400 MByte belegt. Nach dem Start öffnet sich lediglich ein kleiner Editor, in dem Sie direkt losprogrammieren (Abbildung 7). Das eigenhändig verfasste Programm lässt sich dann direkt per Knopfdruck starten. (Fehler-)Meldungen erscheinen im kleinen schwarzen Konsolenfenster unterhalb des Editors.

Abbildung 7: Processing meldet sich mit einem recht einfach gehaltenen Editor, der jede Datei (Sketch) in einem eigenen Register öffnet und den Programmcode einfärbt.
Die in Processing geschriebenen Programme übersetzt ein eingebauter Compiler in Java-Code. Programmierer können deshalb sogar Java-Bibliotheken einbinden und nutzen. Umgekehrt sieht man die Auswirkungen der Anweisungen erst, nachdem man das selbst geschriebene Programm gestartet hat. Processing bringt bereits einige Bibliotheken mit, die Funktionen und Objekte vor allem zum Zeichnen bereitstellen. Die erstellten Programme laufen wahlweise als eigenständige Anwendung oder im Browser.
Die Dokumentation besteht aus einer umfassenden englischsprachigen Referenz, einem Wiki und mehreren, gut geschriebenen englischsprachigen Tutorials. Letztgenannte gehen aber recht schnell im Stoff voran und verlangen zudem mathematische Grundkenntnisse aus der Oberstufe. Ergänzend gibt es eine äußerst umfangreiche Bibliothek mit Beispielprogrammen. Das Wiki bietet durchweg nur Code-Schnipsel, was auch für die überwiegende Mehrzahl der dort anzutreffenden Texte aus der Rubrik Tutorials gilt. Glücklicherweise existieren zu Processing zahlreiche Bücher, darunter auch zwei deutschsprachige Titel. Spezielles Übungsmaterial für Lehrer gibt es nicht, offene Fragen dürfen Anwender in einem Forum stellen.
Scratch
Ähnlich wie Alice stellt auch Scratch einen Programmierbaukasten bereit [15]. In der Entwicklungsumgebung repräsentieren kleine bunte Blöcke die möglichen Aktionen – Sie ziehen diese lediglich mit der Maus zu einer Befehlskette zusammen (Abbildung 8). Soll das Programm beispielsweise eine Sekunde pausieren, befördern Sie den mit wait beschrifteten Block unter die bereits existierenden Befehle und tragen dann in das weiße Eingabefeld die 1 ein. Da man in Scratch keine einzige Zeile Programmcode eintippen muss, eignet sich die Entwicklungsumgebung insbesondere für Kinder. Genau wie Processing hat Scratch seinen Ursprung am MIT. Der Quellcode steht sowohl unter der GPLv2 als auch einer eigenen, liberaleren Scratch Source Code License. Letztgenannte enthält weder das geschützte Logo noch den Namen Scratch und kann somit als Grundlage für eigene Entwicklungsumgebungen dienen.

Abbildung 8: Die Benutzeroberfläche von Scratch ist einfach und bonbonbunt. Letzteres soll nicht nur Kinder ansprechen: Jeder Block trägt je nach seiner Aufgabe eine andere Farbe, wodurch man die Abläufe schneller erfasst.
Scratch setzt auf der Entwicklungsumgebung Squeak [16] und somit der Programmiersprache Smalltalk auf, wobei man mit beidem als normaler Benutzer nicht in Berührung kommt. Fertige Scratch-Programme lassen sich auch ohne die Entwicklungsumgebung mit dem Scratch-Player im Browser abspielen. Dieser basiert allerdings auf Java oder Flash, wobei in zukünftigen Scratch-Versionen nur noch Flash zum Einsatz kommen soll. Die Macher stellen Scratch-Binärpakete für Fedora, Debian und Ubuntu bereit, Nutzer anderer Distributionen müssen die Umgebung aus dem Quellcode selbst erstellen. Ab Ubuntu 12.04 liegt Scratch sogar in den Repositories.
Die komplette Benutzeroberfläche einschließlich der Aktionen liegt komplett in Deutsch vor. Scratch verwendet dabei seine eigenen Begriffe, die vor allem eine kindgerechte Bildsprache benutzen. So stellt Scratch nicht ein Zeichenfenster, sondern eine Bühne bereit. Auf dieser dürfen Sie Spielfiguren platzieren, die wiederum die von Scratch angebotenen Blöcke manipulieren – beispielsweise verändern sie die Größe der Spielfiguren oder geben ihnen ein anderes Aussehen. Letzteres wiederum bestimmen sogenannte Kostüme, deren Grafiken man selbst austauschen beziehungsweise mit dem eingebauten Malprogramm zeichnen darf.
Nach dem Start erscheint das Hauptfenster mit dem Scratch-Maskottchen auf der ansonsten leeren Bühne rechts oben. Darunter listet Scratch alle im Projekt befindlichen Objekte auf. Weitere Objekte lassen sich über die entsprechenden Knöpfe importieren oder mit dem eingebauten Malprogramm selbst zeichnen (Abbildung 9). Am linken Seitenrand warten nach Gruppen sortiert alle verfügbaren Blöcke, die man mit der Maus in die mittlere Spalte zieht.

Abbildung 9: Eigene Objekte zeichnet man in Scratch mit dem eingebauten Malprogramm oder importiert sie.
Die so erstellten Abläufe beziehen sich immer auf das gerade gewählte Objekt, die einzelnen Akteure auf der Bühne können somit unabhängig voneinander agieren. Darüber hinaus dürfen Sie für ein Objekt mehrere Ablaufpläne hinterlegen, die in unterschiedlichen Situationen starten. Auf diese Weise unterstützt Scratch sogar die parallele Programmierung. Fertige Programme lassen sich direkt in Scratch starten und während der Ausführung weiter bearbeiten. Die Auswirkungen der Änderungen sieht man dann umgehend in der Bühne. Vorführen lässt sich das Ergebnis in einem Präsentationsmodus, in dem die Bühne den kompletten Bildschirm ausfüllt.
Ausgerechnet das sehr gut gestaltete Handbuch “Durchstarten mit Scratch” sowie das Referenzhandbuch mit allen Aktionen gibt es nur in Englisch. Glücklicherweise existiert ein deutschsprachiges Wiki, das nicht nur eine Einführung liefert, sondern auch fortgeschrittene Themen wie etwa 3D-Grafik behandelt [17]. Lehrer können sich auf einer eigenen Plattform austauschen [18]. Selbst geschriebene Programme dürfen Sie direkt aus Scratch heraus auf der Projekte-Seite [19] der Scratch-Homepage vorstellen. Dort können dann andere Nutzer Kommentare und eine Bewertung abgeben.
Fazit
In Alice, Greenfoot und Scratch entsprechen Objekte einem konkreten grafischen Gegenstand auf dem Bildschirm, was den Einstieg in die objektorientierte Programmierung erleichtert. Bei Alice und Scratch kann man zudem per Drag & Drop Programme zusammenklicken, ohne dabei auch nur eine Zeile Code schreiben zu müssen. Die Benutzeroberfläche von Alice verlangt allerdings eine etwas längere Einarbeitungszeit – selbst computererfahrene Erwachsene dürften ohne das Lehrmaterial von der Alice-Homepage nicht weit kommen. Im Gegenzug sind auch dreidimensionale Anwendungen möglich.
Da Greenfoot expliziten Java-Code verwendet, sollte man einen entsprechenden Einarbeitungswillen mitbringen. Gleiches gilt für Hackety Hack, das zudem nur einen Einstieg in die Ruby-Programmierung ermöglicht. Die enthaltenen vier Übungen sind an einem Nachmittag abgearbeitet, danach ist ein Griff zu einem guten Ruby-Buch unumgänglich. Hackety Hack eignet sich folglich für alle, die einmal kurz in Ruby hineinschnuppern möchten und sich an den kleinen Programmfehlern im Editor nicht stören.
Zwar diente Processing ursprünglich als Lehrumgebung, ein Einstieg fällt aber nicht so leicht, wie bei den anderen Werkzeugen. Wer Processing ins Auge fasst, muss die Bereitschaft mitbringen, sich durch viele Anleitungen und das Wiki zu lesen. Idealerweise greift man zu einem deutschen Processing-Buch. Auch aufgrund der deutlichen Nähe zum recht kryptischen Java und der erforderlichen mathematischen Grundlagen ist Processing für Kinder weniger geeignet.
Am schnellsten zu Ergebnissen kommt man mit Scratch: Die Entwicklungsumgebung bietet einen überschaubaren Satz an Aktionen und Kontrollstrukturen. Wermutstropfen ist der Player, der zukünftig nur noch auf Flash setzt. Unter Linux muss man daher alle selbst geschriebenen Programme direkt in Scratch starten.
Durch ihre unterschiedlichen Ansätze und Fähigkeiten lassen sich die vorgestellten Entwicklungsumgebungen recht gut miteinander kombinieren: Kinder beginnen mit Scratch, in der Mittelstufe geht es mit Alice weiter, es folgen Greenfoot und schließlich in der Oberstufe Processing. Auch Erwachsene, die noch nie programmiert haben, sollten diesen Weg gehen. Professionelle Programmierer sollten zudem einen Blick auf Greenfoot und Processing werfen.
Glossar
-
IDE
-
Integrated Development Environment. Eine solche integrierte Entwicklungsumgebung fasst alle zur Programmierung benötigten Teilanwendungen wie Editor, Compiler/Interpreter, Linker und Debugger unter einer gemeinsamen Oberfläche zusammen.
-
JDK
-
Java Development Kit, Laufzeitumngebung für Java-Programme.
-
Logo
-
In den 1960er-Jahren entwickelte, bildungsorientierte funktionale Programmiersprache. Berühmt für die sogenannte Turtle-Grafik, bei der man virtuelle Schildkröten über den Bildschirm bewegt, die bei Bedarf eine farbige Linie hinter sich herziehen.
-
Smalltalk
-
Dynamische objektorientierte Programmiersprache, bereits in den 1970er-Jahren entwickelt. Smalltalk hatte später starken Einfluss auf die Entwicklung unter anderem von Java und Ruby. Anders als die meisten Sprachen implementiert Smalltalk selbst primitive Datentypen wie Zeichen oder Ganzzahlen über Klassen und Objekte.
Infos
[1] Alice: http://www.alice.org
[2] Alice-Programmgalerie: http://www.alice.org/index.php?page=gallery/index
[3] Alice-Lehrerportal: http://www.aliceprogramming.net
[4] Greenfoot: http://www.greenfoot.org
[5] Greenfoot-Buch: http://www.greenfoot.org/book/
[6] Greenfoot-Programmgalerie: http://www.greenfoot.org/scenarios
[7] Greenroom: http://greenroom.greenfoot.org/door
[8] Deutsche Greenfoot-Hubs: http://www.greenfoot.org/hubs/berlin/
[9] Hackety Hack: http://hackety.com
[10] Von Hackety Hack genutztes Markdown-Format: http://daringfireball.net/projects/markdown/syntax
[11] Shoes-Bibliothek: http://shoesrb.com
[12] Hackety-Hack-Programmgalerie: http://hackety.com/programs
[13] Processing: http://www.processing.org
[14] Processing Programmgalerie: http://www.processing.org/exhibition/
[15] Scratch: http://scratch.mit.edu
[16] Squeak: http://www.squeak.org
[17] Deutschsprachiges Wiki zu Scratch: http://scratch-dach.info
[18] Scratch-Plattform für Lehrkräfte: http://info.scratch.mit.edu/de/Educators
[19] Scratch-Programmgalerie: http://scratch.mit.edu/channel/featured





