Zielgruppe
Der erste Satz des Vorwortes lautet: ``Dieses
Buch wendet sich an erster Stelle an Anfänger eines
Informatikstudiums, und hat das Ziel, das Erlernen des Programmierens
zu erleichtern.`` Und dieses Ziel, um es vorweg zu sagen, erreicht das
Buch voll und ganz - und mehr als das. Aber von vorne:
Aufbau und Stil
Das Buch läßt sich grob in drei
Teile aufteilen, nämlich in zwei einleitende Kapitel, den
Hauptteil und einige Anhänge. Im ersten Teil werden zunächst
im Schnelldurchlauf die Grundbegriffe der Informatik erläutert
(Algorithmus, Turingmaschine, Berechenbarkeit, Von-Neumann-Rechner,
usw.).
Den Hauptteil bilden 14 Kapitel, in denen systematisch die verschiedenen Konstrukte anhand von Anwendungs- und Codebeispielen illustriert werden. Von den Klassikern (Anweisungen, Datentypen, Suchen & Sortieren etc.) ausgehend wird nichts ausgelassen, wobei die Autoren stets den Stand der Technik wiedergeben und praxisnahe Tips geben (z.B. zur Wahl if oder case, oder wie Mengentypen zu verwenden seien. Den Autoren gelingt es durchweg, konkret und präzise zu sein, und ihre Beispiele sind einfach, aussagekräftig und anschaulich (Stereoanlage für Modularisierung, Sparschwein als Datenkapsel). In der Regel benutzen sie deutsche Worte und geben jeweils bei Einführung des zugrundeliegenden Begriffes das englische Original in Klammern an. Einerseits werden schale Anbiederung und billige Scherzchen, wie man das aus manchen amerikanischen Veröffentlichungen kennt, vermiden, andererseits reden sie auch nicht vom hohen Roß herab oder verschanzen sich hinter Abstraktion, wie das hierzulande vorgezogen wird. Zu manchen Themen hätte ich persönlich gerne mehr gesehen, oder eine größere formale Tiefe, aber das hätte die Dinge für die Zielgruppe schwieriger gemacht, und wäre damit der erklärten Absicht der Verfasser zuwider gelaufen.
Den Abschluß bilden vier Anhänge, Literatur und Register. Die Anhänge enthalten ein mittelgroßes Programmbeispiel, einen Sprachreport, die Standard-Bibliotheksschnittstellen und eine formale Syntax in EBNF. Letztere ist aber hilfreich gesetzt, mit nummerierten Querverweisen gespickt und nach Klassen untergliedert, so daß man damit bei praktischer Arbeit ganz gut zurecht kommen sollte. Das Register ist zwar eher knapp (lkeine Verweise auf Personen, nicht alle Abkürzungen und englischen Begriffe), aber brauchbar.
Auch das Literaturverzeichnis ist eher knapp ausgefallen, und enthält leider einige kleine unnötige Fehler, z.B. werden als Autoren für ``Programming in Prolog`` Clocksin/Messish angegeben, was zwar nicht ganz frei erfunden ist, aber nicht nett gegenüber Chris Mellish, und Allen Turing mag zwar ziemlich allein gewesen sein (siehe seine Biographie), heißt deswegen aber trotzdem nicht Alain. Mehrmals werden für Quellen nur die deutschen Übersetzungen angegeben, und nicht die Originale, vermutlich aus falsch verstandener Studentenfreundlichkeit. Bei der sonst an den Tag gelegten Sorgfalt ist mir auch unklar, warum man BiBTeX's 'and' zwischen Autorennahmen belassen hat - kein Drama, sicher, aber an diesem Buch noch der größte Makel.
Butter bei die Fische
So, und für alle, die nicht
mehr Studienanfänger sind, aber vielleicht an Modula-3
interessiert sind, kommt jetzt auch noch was. Modula-3 ist eine
objektorientierte Erweiterung und gründliche Überarbeitung
von Modula-2. Die Neuerungen bestehen in einigen kleineren
syntaktischen Verbesserungen (z.B. INTERFACE statt
DEFINITION MODULE, und folgenden Neuerungen:
Alle diese Konstrukte erscheinen mir extrem gut integriert und wohldurchdacht. Modula-3 ist auf UNIX und PC frei verfügbar, die Autoren liefern die FTP Adresse zum Saugen und eine URL mit Installationshinweisen und geben eine knappe Anleitung zum Umgang mit der (integrierten) Umgebung. (Diese Seite konnte ich aber in mehreren Versuchen noch nicht erreichen.)
Bewertung
Wie eingangs schon erwähnt, dürfte
jeder Student am Anfang des Studiums mit diesem Buch seine Leib- und
Magenlektüre erwerben (sofern Modula-3 Lehrsprache ist). Man kann
davon ausgehen, daß dieses Buch über Jahre hinweg keinen
Staub im Regal ansetzt: Zunächst zum Lernen, dann zur
A-Prüfung, als Referenz für Modula-3, als Nachschlagewerk
und schliesslich einfach so, um sich daran zu erfreuen.
Bei einem Preis von DM 58,- und einem Umfang von knapp 600 Seiten bekommt man ein hervorragendes Preis/Leistungsverhältnis geboten. Ich kenne außer den Büchern von Uwe Schöning keine vergleichbaren. Dem Geleitwort von Joseph Weizenbaum kann ich mich voll anschliessen: ``[...]Bücher über Computer und Computersprachen können hingegen mehr oder weniger vernünftig geschrieben werden, wenn auch nicht gerade poetisch oder lyrisch. Dieses Buch ist ein Beispiel dieser Kunst und soll als Vorbild für alle dienen, die versuchen, anderen Menschen inhärent schwierige Sachen beizubringen.``
Harald
László Böszörményi, Carsten Weich
{Programmieren mit Modula-3. Eine Einführung in stilvolle
Programmierung
577+XXI Seiten, 48 Abb., DM 58,--
Springer-Verlag
ISBN 3-540-57911-7