Scratch ist eine blockbasierte, visuelle Programmiersprache, die am MIT Media Lab entwickelt wurde. Die erste Version erschien 2003, das heute verbreitete Scratch 3.0 läuft seit 2019 im Browser (HTML5/WebGL). Zielgruppe sind Kinder und Einsteiger ab etwa 5 Jahren: Programme entstehen, indem farbige Blöcke wie Puzzleteile zusammengesteckt werden — Tippfehler und Syntaxfehler gibt es nicht, weil nur passende Blockformen ineinandergreifen.

Die wichtigsten Blockkategorien

Scratch unterscheidet farbcodierte Blöcke nach ihrer Funktion. Die zentralen Kategorien sind:

  • Bewegung (blau): Blöcke wie gehe 10er-Schritt, drehe dich um 15 Grad, gehe zu x: 0 y: 0 — steuert die Figur (Sprite) auf der Bühne.
  • Aussehen (lila): sage Hallo für 2 Sekunden, denke Hmm ..., wechsle Kostüm zu Kostüm1, ändere Effekt Farbe um 25.
  • Klänge (pink): spiele Klang Miau, spiele Ton 60 für 0,25 Schläge.
  • Ereignisse (gelb): Wenn Fahne angeklickt, Wenn Taste Leertaste gedrückt wird, Sende Nachricht1 an alle — der Einstiegspunkt jedes Skripts.
  • Steuerung (orange): wiederhole 10 Mal, falls dann sonst, warte 1 Sekunde, wiederhole fortlaufend.
  • Fühlen (hellblau): frage Wie heißt du? und warte, wird Mauszeiger berührt?, Antwort.
  • Operatoren (grün): +, -, *, /, Zufallszahl von 1 bis 10, und, oder, nicht, Textverkettung verbinde Hallo mit Welt.
  • Variablen (orange): Setze Variable auf 0, ändere Variable um 1 — außerdem Listen und seit Scratch 3.0 eigene Blöcke (Funktionen).

Die Bühne (Stage) mit den Koordinaten x (von −240 bis 240) und y (von −180 bis 180) ist das Spielfeld; Figuren heißen Sprites und können Kostüme und Klänge tragen. Skripte werden pro Sprite an Blöcke gehängt, die typischerweise mit Wenn Fahne angeklickt starten.

Verwandte Konzepte

Scratch geht konzeptionell auf Logo-Befehle zurück: Beide wurden für den spielerischen Einstieg ins Programmieren entwickelt, und beide arbeiten mit einer grafischen Figur auf einer Fläche. Während Logo mit Textbefehlen (FD 100, RT 90) arbeitet, setzt Scratch vollständig auf Blöcke. Als nächste Schritte nach Scratch empfehlen sich Python-Befehle oder JavaScript-Befehle — viele Scratch-Konzepte wie Schleifen, Bedingungen und Variablen übertragen sich direkt.

Wer Scratch erweitern möchte, findet in der Community auf scratch.mit.edu Millionen geteilter Projekte. Für das Verständnis von Block-Bibliotheken lohnt außerdem ein Blick auf Blockly-Befehle, die Google-Alternative, die Blöcke in echten Quellcode übersetzt.