Logo ist eine 1967 von Wally Feurzeig, Seymour Papert und Cynthia Solomon bei Bolt, Beranek and Newman entwickelte Bildungssprache. Der Name stammt vom griechischen lógos (Wort, Gedanke). Papert, ein Schüler Jean Piagets, wollte Kindern eine Umgebung geben, in der sie Mathematik und Denkprozesse durch eigenes Handeln entdecken — seine konstruktionistische Philosophie machte Logo zur ersten weithin bekannten Programmiersprache für Kinder. Berühmt wurde Logo durch die Turtle-Grafik: Eine Schildkröte (anfangs ein Roboter, später ein Cursor) zeichnet Linien auf dem Bildschirm.

Die wichtigsten Befehle

Logo ist eine prozedurale Sprache mit Listen, Rekursion und Wortverarbeitung. Die Grundbefehle der Turtle-Grafik sind:

  • Bewegung: FD 100 (forward), BK 50 (back), RT 90 (right turn), LT 90 (left turn), SETPOS [100 100] (Position setzen), HOME (zur Mitte).
  • Stift: PENUP/PU (Stift heben), PENDOWN/PD (senken), SETPENCOLOR [255 0 0] (Farbe), SETPENSIZE 3.
  • Steuerung: REPEAT 4 [FD 100 RT 90] (Wiederholung — zeichnet ein Quadrat), IF ... THEN ..., REPEAT UNTIL, FOR [i 1 10].
  • Prozeduren: TO QUADRAT ... END definiert eine eigene Prozedur, die danach wie ein eingebauter Befehl aufrufbar ist; Parameter: TO QUADRAT :SEITE.
  • Listen und Rekursion: FIRST, BUTFIRST, LPUT, FPUT; Rekursion ist das zentrale Konzept — die berühmte Koch-Schneeflocke oder Bäume entstehen durch sich selbst aufrufende Prozeduren.

Ein Klassiker: REPEAT 4 [FD 100 RT 90] zeichnet ein Quadrat, REPEAT 360 [FD 1 RT 1] einen Kreis.

Implementierungen

Verbreitete Dialekte sind UCBLogo (Berkeley Logo, frei verfügbar), MSWLogo (Windows) und FMSLogo (Nachfolger). Auch python-Module wie turtle setzen die Turtle-Grafik in moderner Form um — die Befehle (forward, right, left, penup, pendown) sind bewusst an Logo angelehnt. In der Sonderform StarLogo und NetLogo leben Logo-Ideen in der Agenten- und Multiagentensimulation weiter.

Bedeutung heute

Logo hat die visuelle Programmierbewegung geprägt: Scratch-Befehle übernehmen die konstruktionistische Idee und die Bildschirm-Figur, Blockly-Befehle das Prinzip des grafischen Programmierens. Wer mit der textbasierten Programmierung weitermachen möchte, findet in Python-Befehle die moderne Entsprechung inklusive Turtle-Modul.