Zahlreiche Bücher zum Einstieg in die Programmiersprache Java erblickten auch im Jahre 2001 das Licht der Welt. Mit dabei: die dritte Auflage von Fritz Jobsts "Programmieren in Java". Der Regensburger Professor konzentriert sich mit seinem Buch schwerpunktmäßig auf eine gründliche Einführung in die Konzepte, Syntax und Semantik der Programmiersprache Java sowie das Erstellen einfacher Anwendungen mit grafischen Benutzeroberflächen. Es werden aber auch Themen wie die Datenbankanbindung mittels JDBC, die Host-Anbindung über RMI und über CORBA sowie das Erstellen von Java Beans in ergänzenden, kleineren Kapiteln vorgestellt. In gut nachvollziehbarer Form werden auch wichtige Konzepte wie Ereignisbehandlung (bei AWT-Applikationen), Ausnahmebehandlung und Nebenläufigkeit (Multithreading) behandelt und mit konkreten Code-Beispielen besprochen. Die Wurzeln des Buches gehen auf die JDK-Version 1.1 zurück, was sich punktuell am verwendeten Quellcode zeigt, da eine Klasse wie Date unter Java 2 als deprecated eingestuft wird. Allerdings wurden auch neuere Aspekte in den Text aufgenommen.
Der aktuellen Entwicklung entsprechend liegt dem Buch keine CD-ROM bei, sondern es wird parallel zu dem Buch eine Web-Seite angeboten, auf der entsprechende Informationen wie z. B. Quellcodes oder Lösungsvorschläge zu den Übungsaufgaben im Buch angesehen und heruntergeladen werden können. Daneben beinhaltet das gut 400 Seiten umfassende Buch auch eine heraustrennbare Kurzreferenz oft benötigter Programmschnipsel, - eine originelle Idee, auch wenn genau diese Code-Fragmente jemandem sehr bald geläufig sind, der auch nur einmal die Woche ein Java-Progrämmlein schreibt.
Aus formaler Sicht gibt es das eine oder andere, das man erwähnen sollte. So wird beispielsweise bei der Vorstellung von Arrays nicht deutlich genug betont, dass es sich hierbei um echte Objekte im Sprachkonzept von Java handelt; dies wird nur implizit durch die Erwähnung eines zugehörigen Attributs deutlich. Und im akademischen Umfeld streitet man sich gelegentlich über den Unterschied zwischen "Array of array" und (echten) mehrdimensionalen Arrays, was allerdings den anwendungsorientierten Leser eher weniger interessieren dürfte.
Die Begriffe "Polymorphie" und "späte Bindung" werden etwas vereinfacht in einen Topf geworfen, obgleich Polymorphie früher ansetzt und "späte Bindung" ein technischer Realisierungsmechanismus ist.
Ebenso ist der Begriff des "Abstrakten Datentyps" in der Regel etwas höher angesiedelt als bei dem der Klasse. Üblicherweise sind z. B. Lineare Listen von int-Werten ein "konkreter" Typ, während Lineare Listen von einem Platzhalter-Typ (also etwa einer abstrakten Oberklasse der fachlich relevanten Vererbungshierarchie) die Kennzeichnung "abstrakt" verdienen.
Manche Begriffe, etwa der des "r-values", werden verwendet, aber nur sehr bruchstückhaft erläutert; hier wäre punktuell etwas mehr an Erläuterung sinnvoll gewesen. Auch kleinere Fehler scheinen sich bei jedem Buch einzuschleichen, im vorliegenden treten diese etwa bei exemplarischen for-Schleifen oder fehlenden Abfragen bei rekursiven Methodenaufrufen auf. Diese (insgesamt aber wenigen) Fehler sind natürlich nicht überzubewerten.
Im Rahmen dieses Buches stellt Jobst auch die sog. "IOTools" vor, eine kleine Bibliothek, die die mitunter recht mühseligen Konstrukte zur Dateneingabe in Java vereinfachen soll. Generell ist dies natürlich der richtige Ansatz, der in dieser kompakten Form aber eher demonstrativen Charakter besitzt und vor allem im Bereich der Lehre Anwendung finden dürfte, da sich kommerzielle Anwendungen i.d.R. ohnedies der grafischen Oberflächen unter Java (AWT, Swing) bedienen.
Insgesamt stellt sich das Buch von Fritz Jobst als gut einsetzbares Werk zum Erlernen von Java dar, vor allem für Leser, die bei den konkreten Beispielen nicht vor mathematischen und informationstheoretischen Algorithmen zurückschrecken (z. B. der rekursiven Berechnung von Fakultäten, der Riemann'schen Integration oder dem Philosophenproblem). Die wesentlichen Grundlagen der insgesamt sehr umfangreichen Programmiersprache Java und die Implementierung von AWT-basierten Anwendungen werden in gut verständlicher Form behandelt.




