Buchrezension: Go – Das Praxisbuch

Als kompakter Einstieg führt das Buch an Go interessierte Entwickler anhand praktischer Beispiele und etwas Theorie an die Sprache heran.

In Pocket speichern vorlesen Druckansicht
Buchrezension: Go – Das Praxisbuch
Lesezeit: 5 Min.
Von
  • Jan Stamer
Inhaltsverzeichnis

Andreas Schröpfer
Go – Das Praxisbuch
Einstieg in Go und das Go-Ökosystem

dpunkt.verlag, Juni 2020
328 Seiten, 39,95 € (Print, PDF, ePub etc.)
ISBN: 978-3-86490-713-5

Die Programmiersprache Go ist angesagt – und das zu Recht. Populäre Projekte wie Kubernetes, Docker oder Terraform zeigen, dass Go bestens geeignet ist, um moderne Anwendungen für die Cloud zu entwickeln. Die Sprache ist einfach zu lernen, wird als nativer Maschinencode performant ausgeführt und bietet mit den Go-Routinen ein mächtiges und innovatives Konzept, um die gesamte Leistung moderner Hardware zu nutzen. Nicht umsonst ist Go bei GitHub die am schnellsten wachsende Programmiersprache und bereits mehrfach als Sprache des Jahres ausgezeichnet.

Mit seinem Praxisbuch möchte Andreas Schröpfer einen kompakten Einstieg in die Programmierung mit Go geben. Das Buch richtet sich an all jene, die am besten anhand von praktischen Beispielen und Erfahrungen lernen. Dazu mischt Schröpfer Theorie und Praxis und führt die Leser Schritt für Schritt heran. Kenntnisse in anderen Programmiersprachen sowie ein wenig praktische Erfahrung in der Softwareentwicklung sollten Leserinnen und Leser aber mitbringen, um im Anschluss an die Lektüre eine erste Anwendung mit Go zu entwickeln und sich im Ökosystem der Go-Programmierung zurechtzufinden.

(Bild: dpunkt.verlag)

Go ist stolz auf seine "langweilige" Syntax, die das Buch in einem einführenden Kapitel verständlich präsentiert. Danach folgt sofort die Praxis. Leser lernen, welche Tools zur Go-Entwicklung dienen, wie sich Go-Code formatieren und in Paketen sowie Modulen strukturieren lässt. Dabei bezieht sich der Autor bereits auf die neuen, mit Go v1.14 im Februar 2020 eingeführten Go Module.

Beim Vermitteln von Basiswissen anhand erster Projekte wie einer Kommandozeilenanwendung, die Dateien ausgibt oder Inhalte aus dem Web herunterlädt, ist das Buch gut und schlüssig aufgebaut, verwendet gelegentlich aber Konzepte, die der Autor erst in späteren Kapiteln näher erläutert. Ein Beispiel dafür ist der Umgang mit Fehlern. Während andere Programmiersprachen spezielle Konzepte für Ausnahmen (Exceptions) vorsehen, sind Fehler in Go gewöhnliche Datenstrukturen. Die Behandlung eines Fehlers in einem Codebeispiel auf Seite 65 löst Schröpfer für den Leser erst in einem Kapitel gegen Ende des Buches auf. Erfahrene Entwickler sollten dem Tempo des Autors dennoch gut folgen können und daher rasch in der Lage sein, eigene Programme mit Go umzusetzen.

Die anschaulichen Praxisbeispiele reichen von nebenläufiger Programmierung in Go über einen Image Resizer bis zum Webserver. Die Projekte bauen aufeinander auf und nehmen kontinuierlich an Größe und Komplexität zu. Die zahlreichen Codebeispiele ergänzt der Autor immer wieder um praktische Tipps – beispielsweise zum Umgang mit einem leeren Interface – und Hinweisen auf weiterführende Literatur.

Auch wenn manche Projekte wie das Tool zur Codegenerierung aus Kapitel 7 etwas konstruiert wirken, lernen Leser die wichtigsten Konzepte und Funktionen anzuwenden und erhalten Einblicke in die Go-Standardbibliothek – beispielsweise zur Arbeit mit HTTP Requests, Dateien und Verzeichnissen, dem Einbinden externer Pakete, dem Testen von Go-Code oder Interfaces wie io.ReaderWriter. Nebenbei machen sich Leser mit der Go-Dokumentation vertraut.

Das Buch gibt einen breiten Überblick der wichtigsten Themen zur Anwendungsentwicklung mit Go, Wartung und Betrieb von Go-Applikationen sind hingegen nur am Rande erwähnt. Das geht in Ordnung, zumal diese Themen genug Stoff für ein eigenes Praxisbuch bieten.

Es gibt aber durchaus wichtige Themen, die in dem kompakten 300-Seiten-Buch fehlen. So dürften einige Leser Anleitungen zum Ansprechen relationaler Datenbanken mit Go vermissen. Auch Frameworks zur Entwicklung mit Go jenseits der Standardbibliothek kommen zu kurz – darunter beispielsweise Buffalo, das im Go-Ökosystem beim Entwickeln von Webanwendungen eine durchaus wichtige Rolle spielt.

Die Herausforderung, auf rund 300 Seiten einen praxisnahen Einstieg in die Programmierung mit Go zu geben, hat Andreas Schröpfer gut gemeistert. Das Buch vermittelt die Grundlagen der Sprache sowohl verständlich als auch unterhaltsam. Es macht Leser mit den wichtigsten Tools und Tricks der Go-Entwicklung bekannt. An Stelle eher exotischer Themen wie Codegenerierung oder Reflection hätten aber wichtige Frameworks oder erste Tipps zu Wartung und Betrieb den Inhalt sinnvoll abrunden können.

Für alle, die gerne anhand praktischer Beispiele und Projekte lernen, ist das Buch bestens als Einstieg in Go geeignet. Es bereitet auf erste Go-Projekte vor, sodass dem Werdegang als echter "Gopher" nichts mehr im Weg steht.

Jan Stamer
ist Solution Architect bei der comdirect bank. In einem agilen Umfeld sorgt er dafür, dass auch komplexe Vorhaben zu einer gemeinsamen (und nachhaltigen) Lösung führen. Er nutzt den gesamten comdirect-Technologiestack – von Java, Spring und Hibernate über Kotlin und REST bis Docker, Maven und Kubernetes.

[Anmerkung d. Red.: Der dpunkt.verlag als Herausgeber des Buchs ist Teil der Heise Gruppe]

(map)