Scratch-Ableger und Erweiterungen

Da ich mich derzeit wieder etwas intensiver mit Scratch beschäftige (jaja, auch wenn man gegen aussen (noch) nichts sieht, wir arbeiten fleissig an http://iLearnIT.ch weiter), bin ich auf ein spannendes Ökosystem rund um Scratch gestossen.

w02030.jpg

Was ich bereits vorher wusste: Scratch (Biblionetz:w02030) baut auf Squeak (Biblionetz:w01597), was wiederum auf einem Smalltalk-Dialekt (Biblionetz:w01332) aufbaut.

Scratch ist Open Source, d.h. der Squeak-Quellecode kann frei heruntergeladen und verändert werden. Das MIT hat aber ein Interesse daran, dass möglichst viele mit der offiziellen Version von Scratch entwickeln, da nur so der Austausch von Programmen via Scratch sichergestellt ist. Entsprechend dürfen Scratch-Ableger weder den den Namen Scratch verwenden noch den Upload auf die Scratch-Community-Website ermöglichen.

Derzeit existieren mindestens folgende Scratch-Ableger:

  • Chirp ist eine auf Scratch 1.2.1 aufbauende Scratch-Weiterentwicklung von Jens Moenig. Sie bietet unter anderem die Möglichkeit, Programme als XML zu exportieren und zu importieren, Scratch-Programme als direkt unter Windows lauffähige EXE-Programme zu speichern, Windows-Screensaver zu programmieren und Programmblöcke per Kontextmenu zu verändern.
  • Mit BYOB (Build Your Own Blocks) bietet Jens Moenig eine weitere Scratch-Erweiterung an, die auf Scratch 1.4 aufbaut. Mit BYOB 2.0 ist es möglich, eigene Programmblöcke zu programmieren, d.h. Scratch wird um Funktionen und Prozeduren erweitert. Zudem ist es möglich, auf das darunter liegende Squeak zuzugreifen, womit sich ungeahnte Möglichkeiten (und Abgründe) auftun:
    byob.jpg

    Als dritte spannende Erweiterung ist die Zusammenarbeit in einem Mesh-Netzwerk möglich, womit Scratchprogramme via Netzwerk miteinander reden können.
  • Streak: Erweiterung von Scratch 1.3.1 vorwiegend um Dinge, die im offiziellen Scratch 1.4 auch eingeführt worden sind (z.B. Frage-Block mit Antwort als Variable). Eine detaillierte Liste der Erweiterungen ist in der Versionsgeschichte zu finden.

Alles in allem spannende Ansätze, welche die Potenziale von Scratch erweitern. Es ist zu hoffen, dass die sich bewährenden Konzepte dieser Scratch-Erweiterungen in spätere, offizielle Scratch-Versionen Einzug halten werden.

Des weiteren taucht regelmässig die Frage nach Scratch auf verschiedenen (mobilen) Plattformen auf: Scratch für Playstation, Scratch für das iPhone, etc. Derzeitiger offizieller und halboffizieller Informationsstand: Aufgrund fehlender Entwicklungsressourcen sind derzeit vom MIT keine entsprechenden Entwicklungen möglich.

Als dritte Erkenntnis habe ich anlässlich meiner Recherche gemerkt, dass Scratch per TCP/IP kommunizieren und so mit anderen Programmen Daten austauschen kann. Unter Scratch Connections sind verschiedene Anleitungen und Beispiele zu finden, wie Scratch z.B. RSS-Feeds verarbeiten kann oder man mit Scratch einen Chat programmieren kann.

Auslöser unserer Recherche war die Frage, ob man in Scratch Variablen einfach umbenennen könne. Dieses Ansinnen taucht auf, wenn man Beispielprogramme auf deutsch und französisch anbieten will: Wie nennen wir die Variablen? Deutsch - dann müssen wir aber für die französische Version nicht nur die Texte, sondern auch das Programm selbst anpassen - in Scratch eine mühsame Handarbeit. Benennen wir die Variablen stattdessen auf englisch, so entfällt dieser Übersetzungsaufwand, dafür sinkt die Verständlichkeit des Programms inbesondere für Primarschüler. Es ist ja einer der Vorteile von Scratch als Programmiersprache für Kinder, dass sich die Sprache der Programmblöcke im laufenden Betrieb ändern lässt, so dass ein mit deutschen Programmierblöcken geschriebenes Programm mit einem Mausklick in Französich oder Türkisch darstellen lässt. Da ist es dann schade, wenn die Variablen englisch sind. Wir sind nicht die einzigen, die auf der Suche nach einer Lösung für dieses Problem sind, aber bisher haben wir keine wirklich effiziente Lösung gefunden.

Sachdienliche Hinweise nehmen wir gerne entgegen...


 
Zum Kommentieren ist eine Registration notwendig.

Kategorien: IsaBlog, IsaScratch, IsaiLearnIT

Kontakt

  • Beat Döbeli Honegger
  • Plattenstrasse 80
  • CH-8032 Zürich
  • E-mail: beat@doebe.li