Diesmal stellen wir ein Buch rund um die vielen Aspekte der Webentwicklung vor sowie eines, das beim Studium der theoretischen Informatik hilft.
Alles für Webentwickler
Philip Ackermanns Buch über Webentwicklung weist sich im Untertitel als “Handbuch für Fullstack-Entwickler” aus, und entsprechend unternimmt es auch den großen Rundumblick unter den Webtechnologien. Das beginnt nach einer kurzen Einführung mit der Web-Basistechnologie schlechthin, HTML. Sie stellt die wesentlichen Elemente der Auszeichnungssprache nebst deren Attributen vor. Der Fokus liegt dabei strikt auf technischen Aspekten, auf gestalterische Fragen geht das Buch nicht ein. Weiter geht es dann mit dem verwandten Thema CSS, das ebenfalls von Grund auf vorgestellt wird.
Das nächste Kapitel widmet sich der Client-seitigen Programmierung von HTML-Seiten mit Javascript. Naturgemäß lässt sich auf den dafür reservierten, nicht einmal 25 Seiten nur eine erste Vorstellung vermitteln, zumal keinerlei Vorkenntnisse nötig sind. Dass der Autor selbst auch ein über 1000 Seiten starkes Javascript-Handbuch verfasst hat, illustriert am besten die extreme Verkürzung. Die wichtigsten Elemente der Sprache finden zwar Erwähnung, für eine vertiefende Einarbeitung muss aber auf spezialisierte Literatur verwiesen werden. Weiter geht es mit dem Webprotokoll HTTP und mit Datenformaten im Web, von CSV, XML und JSON bis zu Bild-, Video- und Audioformaten.
Im Anschluss daran werden einige Web-APIs besprochen, hauptsächlich die DOM- und die Ajax-Fetch-API. Danach geht der Autor kurz auf das Thema Barrierefreiheit im Web ein. Eine der großen Javascript-Bibliotheken, nämlich React, stellt das nächsten Kapitel vor; um Webarchitekturen im Allgemeinen geht es im darauf folgenden. Das nächste Thema ist die serverseitige Programmierung und insbesondere die Implementierung von Webservices mit SOAP, REST und GraphQL. Auch die folgenden Themen richten sich an Programmierer: Hier geht es um Datenbanken, das Testen von Webapplikationen, das Hosting und die Web-Security, bevor das Buch mit dem Management von Webprojekten schließt.
Ein Pluspunkt des Titels ist die relative Vollständigkeit der Themen für Webentwickler. Die erkauft das Werk freilich damit, dass es im Einzelfall wenig mehr als eine knappe Übersicht präsentiert.
Informatiktheorie
Beim zweiten Werk handelt es sich um ein klassisches Lehrbuch mit Kontrollfragen und Lösungen, Aufgaben für die Vertiefung des Stoffs, Stichworten in einer Randspalte und einer ausgearbeiteten Gliederung. Das, was es lehren will, steht in der IT-Welt oft als schwierig und praxisfern in Verruf: die theoretische Informatik. Allerdings gelingt es Stefan Neubert an vielen Stellen, den Gegenbeweis anzutreten und sein Fachgebiet als durchaus spannend und relevant zu präsentieren.
Los geht es mit einem Kapitel über mathematische Notation, das das Vokabular für die folgenden Erörterungen erarbeitet, und das kurze Abstecher in die Mengenlehre und die Graphentheorie einschließt. Mit Informatiktheorie geht es dann ab Kapitel 3 los, zuerst mit der Berechenbarkeitstheorie: Ist jedes Problem durch Computer lösbar? Gibt es welche, auf die wir so prinzipiell niemals eine Antwort finden können? Und was überhaupt ist ein Problem?
Um Berechnungsmodelle für Probleme zu beschreiben, kann man sich formaler Sprachen bedienen, denen sich mehrere Kapitel widmen. Das ausführlichste beschreibt reguläre Sprachen und ihre Umsetzung durch deterministische endliche Automaten. Abschnitte über kontextfreie, kontextsensitive und aufzählbare Sprachen sowie ein Kapitel über Nichtberechenbares schließen sich an. Im Buchteil zur Algorithmik geht es nicht mehr nur um die prinzipielle Berechenbarkeit, sondern um die Performance der Berechnung, sprich die Laufzeiten diverser Algorithmen. Ein folgender Abschnitt führt schließlich in die Komplexitätstheorie ein.
Alles in allem präsentiert sich “Grundkurs Theoretische Informatik” als anspruchsvolles Buch insbesondere für Informatikstudenten und für alle, die sich für das theoretische Fundament der Informatik interessieren.






