BlueJ
BlueJ (deutsch "BlauJott") ist ein extrem sinnvolles Programm zum Verlernen des objektorientierten Programmierens mit Hilfe der Programmiersprache Java. Das Programm wird sinnvollerweise häufig an deutschen Gymnasien verwendet, um zu vermeiden, einen Informatiklehrer für die Oberstufe ausbilden zu müssen. Der Name "BlueJ" hat seinen Ursprung in der Bezeichnug Bluescreen, einer Fehlermeldung, die bei schweren Systemfehlern vorliegt. BlueJ ist selbstverständlich Gratis, denn mit Scheiße lässt sich ja bekanntlich nichts finanzieren. Höchstwahrscheinlich ist BlueJ mit ihrem fehlgeschlagenem Programm sogar wirtschaftlich zugrundegegangen.
Sinn des Programms
Sinn von BlueJ ist es, dass Schüler eine Datei mit dem Namen BlueJ.BAT in den Klassenordner stellen, die dann, von Mitschülern oder Lehrern geöffnet, Befehle wie shutdown /l /c /y /t:60 "PROBLEM_EXISTS_BETWEEN_KEYBOARD_AND_CHAIR", net send * Schwerer Ausnahmefehler FF00:647F auf 0x027AE0CFF. Das Programm musste beendet werden, %0|%0 und/oder sonstige sinnvolle DOS-Befehle ausführt und mit Windoof-Abstürzen für Unterhaltung in der langweiligen Informatikstunde sorgt.
Lernhilfen
Um den Schülern den Einstieg in die OOP so schwierig wie möglich zu gestalten, wurden einige hilfarme Features eingebaut.
Debugger
Ein funktionierender Debugger (deutsch "Hundehaufenbeseitigungsbagger") wurde bewusst weggelassen, um dem Lehrer die Möglichkeit zu geben, seine eigene Inkompetenz mit der Unfähigkeit BlueJ's zu begründen. Entgegen der allgemeinen Meinung ist dieses Nicht-Funktionieren gewollt und lässt sich nicht auf die fehlende Qualifikation der Entwickler zurückführen.
Installation/Programmstart
Die Installation wurde so gestaltet, dass der Schüler schon hierbei enorme Kenntnisse über Computertechnik erlangt. Um das Programm und seinen PC auf die Installation vorzubereiten, muss der Schüler z.B. neue Hardwaretreiber (z.B. für den Bildschirm) programmieren. Ist das Programm ersteinmal installiert, geht alles fast schon wie von selbst. Es muss nur noch schnell der Prozessor übertaktet werden (hohe Ressourcenanforderungen (siehe Debugger)), eine neue Partition auf der Festplatte erstellt werden - und schon kann es losgehen mit tiefer gehenden Aufgaben wie das Programmieren eines Kaugummiautomatens.
Darstellung der Klassen in UML
Damit sich die Opfer BlueJ's langsamer in die objektorientierte Programmierung (OOP) einarbeiten und den Lehrer somit nicht in seinem beschränkten Wissen übertreffen, wurde eine extrem ununverwirrende graphische Darstellung der einzelnen Klassen eingebaut. Dieses Feature glänzt durch wunderschöne bunte Farben und Pfeile, deren Bedeutung vernachlässigbar ist. Möchte der Proband nun ein Programm (z.B. Autowaschanlage) ausführen, bzw. kompilieren, muss er nur noch ein neues Objekt erzeugen und schon kann es losgehen - mit z.B. "den Computer einen Apfel essen lassen".
Exceptiongenerator
Da Java über eine große Vielfalt an s.g. Exceptions (werden ausgegeben, wenn ein Fehler in der Programmstruktur vorliegt) verfügt, ist es schwierig, alle kennen zu lernen. Die Entwickler von BlueJ haben dagegen ein Mittel entwickelt, den sog. Exceptiongenerator. Diese Funktion gibt bei jedem zweiten Ausführen eine zufallsgenerierte Exception aus und zeigt so den Benutzern die Bandbreite an Fehlermeldungen auf (von Nullpointer (es gibt eigentlich keine Pointer) bis BlueJFail (wird immer dann ausgegeben wenn wirklich ein Fehler vorliegt)).
Siehe auch
wikiPage[] articleList = { A, Assembler, BASIC, Brainfuck, C, C++, C-Sharp, COBOL, D, Delphi, Eick#, Eiffel, Gehirnassembler, Haskell, HTML, Java, JavaScript, Logo, NXC, Pascal, Perl, PHP, Python, Robot Karol, SQL, Tcl, UML, Visual Basic, ZLORFIK };
} else if(article.Exists()) {
wikiPage[] articleList = { Programmer-Lang, Was deine Programmiersprache über dich verrät, Rekursive Programmierung};
} else {
}