Allgemeine Betrachtungen zur Entwicklungumgebung BlueJ
1. Einleitung
BlueJ ist eine integrierte Java-Umgebung, die speziell zu Lehrzwecken entworfen wurde. Es wurde an der Sydney University and Monash University, Australia in 1999 entwickelt. Das Ziel von BlueJ ist eine leicht zu nutzende Umgebung zur Verfügung zu stellen, in der Anfänger Java erlernen können.
BlueJ ist in Java geschrieben und auf Solaris, Linux, Macintosh und einer Vielzahl von Windows-Versionen getestet. Es läuft auf allen Plattformen, auf denen eine neuere JVM installiert ist.
Wesentlicher Unterschied zu den üblichen Entwicklungsumgebungen ist die Darstellung von Klassen und Objekten als Basiseinheiten. Schüler/Studenten sollen beim Programmieren in diesen Begriffen denken. Der übliche Ballast an Overhead-Programmierung soll für den Anfänger vermieden werden.
Das Entwicklungssystem ist leicht zu bedienen, einfach strukturiert und damit auch ohne Einführung nutzbar. Es unterstützt wechselseitige Kommunikation und fordert zum Experimentieren auf.
Der bedeutenste Unterschied zu herkömmlichen Entwicklungsumgebungen ist, daß in BlueJ die Klassenstrukturen angezeigt werden. Ein Problem zu strukturieren ist einer der wichtigsten Aspekte der OO-Programmierung. Dennoch haben viele Schüler/Studenten unterschiedliche Vorstellungen von Klassen und Objekten, denn alles was sie bisher davon gesehen haben sind Codezeilen, bzw. Buttons und Menüs!
2. Probleme einiger Entwicklungsumgebungen
3. Die Lösung durch BlueJ
4. Java-Probleme (BlueJ's Antworten)
Java besitzt als Einstiegsprogrammiersprache betrachtet einige Probleme. Zwei wesentliche davon werden hier kurz dargestellt:
main-Funktion: Jede Funktion besitzt eine Signatur. Für die main-Funktion ist es folgende:
Die Fragen der Schüler/Studenten dazu: "static? void? array? ..., was hat das mit OO zu tun?" können nicht an dieser Stelle beantwortet werden.
I/O: Text I/O, im Besonderen input-Funktionen, verursacht eine Vielzahl an Problemen.
Antworten von BlueJ:
5. Echter OO-Unterricht
In vielen Java-Büchern wird der Anspruch gefordert: "objects first", aber die meistens dieser Bücher beginnt mit der Einführung von Objekten und Klassen erst in Kapitel 4+. Der Grund hierfür liegt an Java selbst: Um Klassen zu definieren benötigt man Code um die Klassenoperationen ausführen zu können (zum Überprüfen der Ergebnisse). Um diesen Code zu schreiben benötigen wir Java-Instruktionen.
In BlueJ wird dieser Code nicht benötigt!
Operationen werden interaktiv aufgerufen, damit steht dem echten OO-Unterricht ab der ersten Stunde nichts mehr im Weg. Schülern/Studenten wird eine Klasse zur Verfügung gestellt, von der sie Objekte erzeugen können. Mit diesen Objekten können sie arbeiten (öffnen, lesen, verändern, ...).
6. Erfahrungen im Einsatz mit BlueJ
Experimente mit BlueJ haben gezeigt, dass die Entwicklungsumgebung bei Programmieranfängern sehr schnell unabhängig genutzt wurde. Sie hat geholfen die wichtigen OO-Konzepte zu übermitteln.
BlueJ wird international bei vielen Universitäten eingesetzt (siehe die Liste der User).
7. Literatur- und Quellenangaben