Aus Linux-Magazin 04/2014

Ein Informatik-Buch sowie ein Programmier-Ratgeber

Die Bücherseite beschäftigt sich diesmal sowohl mit Theorie als auch mit Praxis: Der erste Titel macht deterministische Automaten und Turing-Maschinen anschaulich, der zweite verhilft ganz pragmatisch zu besserem Code beim alltäglichen Programmieren.

Welche Probleme lassen sich mit Computern überhaupt in endlicher Zeit lösen? Dieser Frage geht nicht nur die theoretische Informatik nach, sondern auch Tom Stuart in seinem englischsprachigen Buch “Understanding Computation”.

Verstehen ohne Mathe

Dabei verzichtet der Autor auf mathematische Formeln und dröge Beweise. Stattdessen setzt er durchgehend auf anschauliche Beispiele und liefert dazu gleich passenden Ruby-Code. Nach einer Schnelleinführung in Ruby geht Stuart auf den Unterschied zwischen Syntax und Semantik ein. Anschließend baut er einfache endliche Automaten und zeigt, wie diese reguläre Ausdrücke auswerten. Es folgen Kellerautomaten, die als Parser Verwendung finden, sowie im fünften Kapitel die erstaunlich universellen Turing-Maschinen.

Im zweiten Buchteil dreht sich zunächst alles um den Lambda-Kalkül und seine Implementierung. Danach stellt Stuart ein paar einfache Systeme vor, die überraschenderweise eine Turing-Maschine simulieren und somit beliebige Programme ausführen können – darunter sogar Conway’s Game of Life. Das achte Kapitel kümmert sich um unmögliche Programme. Dort stellt Stuart auch den Begriff der Entscheidbarkeit und das Halteproblem vor. Im letzten Kapitel zeigt der Autor noch, wie sich Probleme durch Abstraktionen lösen lassen – zumindest annähernd – und geht auf die Vorzüge einer statischen Semantik ein.

Tom Stuart schafft es, das komplexe und schwierige Thema leicht verdaulich aufzubereiten. Allerdings endet sein Buch genau dort, wo es spannend wird. Viele Bereiche der theoretischen Informatik streift er nur oder lässt sie sogar ganz aus, etwa die NP-Vollständigkeit oder Chomsky-Grammatiken. Dennoch eignet sich das Buch für Programmierer, die ein wenig in die Berechenbarkeit hineinschnuppern möchten, sowie für Informatikstudenten als Ergänzung zu einem umfassenderen Lehrbuch.

Info

Tom Stuart:

Understanding Computation

O’Reilly, 2013

330 Seiten

29 Euro

(E-Book 23 Euro)

ISBN 978-1-4493-2927-3

Code-Besserung

Das vor einem Monat geschriebene Programm macht, was es will, und der damals eindeutige Quelltext scheint zu Spaghetticode mutiert: Solche Situationen wollen Kathrin Passig und Johannes Jander mit ihrem Buch “Weniger schlecht programmieren” verhindern. Auf knapp 430 Seiten erhalten Entwickler Ratschläge für besseren Programmcode mit weniger Fehlern. Die Tipps beruhen auf den Praxiserfahrungen zahlreicher professioneller Programmierer. Die wenigen enthaltenen Codezeilen sind in Java, C++, C und PHP geschrieben.

Zu Beginn verraten die Autoren, warum Entwickler sich an Style Guides halten sollten, wie man Variablen benennt, was verständliche Kommentare ausmacht, wo und wie man um Hilfe bittet und wie der Einzelne im Team überlebt. Anschließend erfährt der Leser, wie er Fehler aufspürt, Diagnosewerkzeuge einsetzt, wann Refactoring nützlich ist und wie er sein Werk testet. Als Bonus liefern die Autoren eine Liste mit typischen Fehlerquellen.

Im letzten Drittel geht es um die Wahl der richtigen Werkzeuge. Entwickler erfahren hier, warum sich der Griff zu Bibliotheken und der Einsatz einer Versionskontrolle lohnen. Zudem gibt es Ratschläge zur Arbeit auf der Kommandozeile, zur objektorientierten Programmierung und zur Sicherheit, darunter etwa Tipps zum richtigen Umgang mit Passwörtern.

Kathrin Passig und Johannes Jander verwenden einen lockeren, witzigen Schreibstil. Tragikkomische Beispiele aus der Praxis verdeutlichen, wie wichtig die vorgestellten Ratschläge sind. Insbesondere im ersten Drittel arbeiten die Autoren jedoch immer wieder mit recht ausufernden bildhaften Vergleichen, bei denen man sich wünscht, sie mögen doch endlich zum Punkt kommen.

Die Verfasser richten sich zwar primär an Anfänger, Hobby-Entwickler und “nicht so erfahrene Programmierer”, ihr Buch liefert aber auch professionellen Entwicklern noch wertvolle Tipps. “Weniger schlecht programmieren” macht sich damit gut auf dem Tisch jedes Programmierers.

Info

Kathrin Passig, Johannes Jander:

Weniger schlecht programmieren

O’Reilly, 2013

460 Seiten

25 Euro

(E-Book 20 Euro)

ISBN 978-3-89721-567-2

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben