Blue ist eine Lehrsprache mit integrierter Entwicklungsumgebung für den objektorientierten Programmierunterricht. Sie wurde von Michael Kölling und John Rosenberg zunächst an der University of Sydney und dann an der Monash University in Melbourne entwickelt und 1996 auf der SIGCSE-Konferenz vorgestellt. Blue ist ein Verwandter der Sprache Eiffel und der direkte Vorgänger von BlueJ, das das Blue-Design auf Java überträgt.

Grundprinzipien

  • Objekte zuerst: Lernende erzeugen Objekte interaktiv und rufen Methoden direkt auf, statt erst ein vollständiges Programm schreiben zu müssen.
  • Klassenbrowser: Die Umgebung zeigt Klassen und Objekte grafisch; Objekte werden per Mausklick instanziiert und inspiziert.
  • Bewusst einfache Sprache: Blue reduziert die Sprachmittel auf das, was für den Einstieg nötig ist: Klassen, Objekte, Attribute, Methoden, Vererbung.
  • Klasse statt Konstruktor-Boilerplate: Die Umgebung erzeugt Klassengerüste und hält die Syntax sichtbar.

Arbeiten mit Blue

class Person          % Klassendefinition
  ...
end Person

!! newPerson          % Objekt interaktiv erzeugen (Objekt-Bench)
newPerson.alter       % Methode direkt aufrufen und Ergebnis ansehen

In der Blue-Umgebung stehen neben dem Editor ein Objekt-Bench (Leiste mit erzeugten Objekten), ein Inspektor für Attribute und ein Debugger mit Haltepunkten bereit. Dadurch wird das Verhalten einzelner Objekte unmittelbar sichtbar.

Praxis-Tipps

  • Das BlueJ-Projekt (ab 1999) übernahm die Umgebungs-Philosophie von Blue für Java; Blue selbst blieb eine reine Lehrsprache.
  • Der Ansatz „Objects First“ (erst Objekte, dann Syntax) prägt bis heute viele Einführungskurse.
  • Köllings spätere Arbeit an Greenfoot setzt die Idee für interaktive Welten fort.

Verwandte Grundlagen: Self-Befehle, Emerald-Befehle, Eiffel-Befehle, Smalltalk-Befehle, Java-Befehle.