© uri Hoyda/Shutterstock.com, S&S Media, https://blog.golang.org/gopher, Renee French
Fünf Dinge, die man an Go hassen kann (aber nicht muss)

Gopher sind von Natur aus lazy


Unter den Neuankömmlingen der Programmiersprachen rückt Go(lang) in den letzten Monaten und Jahren immer stärker in den Vordergrund. Neuankömmling ist dabei etwas hoch gegriffen, denn tatsächlich wurde Go bereits 2009 von Google vorgestellt und ist seit 2012 als stabile Version (damals 1.0) erhältlich. In der Zwischenzeit hat es Go auf eine stattliche Version 1.10 gebracht und dabei eine Menge an Funktionalitäten gewonnen.

Dass Go gerne eigene Wege beschreitet, wenn es um die Implementierung oder Syntax geht, ist mittlerweile weithin bekannt. Auf Englisch wird es dabei oft liebevoll als „opinionated“ umschrieben. Das Problem dabei ist, dass viele Konstrukte, die aus anderen Programmiersprachen bekannt sind, bei Go in dieser Form schlichtweg nicht existieren oder sich gänzlich anders verhalten als gewohnt. Gerade Letzteres führt dabei zu unerwarteten Fehlern und mitunter auch zu Unverständnis auf Entwicklerseite.

Die strikten Syntaxeigenschaften von Go dagegen erzeugen oftmals nur ein müdes Lächeln. Ungenutzte Importe und Variablen sind vom Go Compiler nicht gerne gesehen und werden ebenso vehement abgeschmettert. Auch eine öffnende, geschweifte Klammer, die unverfroren in eine neue Zeile gesetzt wird, ist ungeliebt. Generell zwingt Go einen zu einem relativ statischen, dafür aber durchaus (nahezu) einheitlichen Programmierstil. Was der Go-Compiler nicht mag, läuft ganz sachlich auf eines hinaus: Compile Error.

Dafür bietet Go strikte Typsicherheit. Teils so strikt, dass wir damit besondere Effekte und Programmierfehler erzeugen können, wie wir im Laufe dieses Artikels sehen werden. Trotzdem muss man in Go nur selten Typen explizit ausschreiben, da diese im Normalfall aus der Wertezuweisung abgeleitet werden (Stichwort: Typinferenz).

I don’t give a FAQ!

Ich habe vor etwas über einem Jahr angefangen, mich intensiver mit Go zu beschäftigen und damit zu entwickeln. Dabei ist Go nicht unbedingt meine Lieblingssprache geworden, aber ich gestehe ein, dass man durchaus produktiv und fix damit arbeiten kann. Tatsächlich habe ich bereits mehrere kleine Dinge in Go gebaut. Hauptsächlich handelt es sich dabei um Anwendungen für Embedded-Systeme. Die Cross-Compiler-Fähigkeiten (also das Kompilieren für ein anderes Betriebssystem oder eine andere CPU-Plattform) der Go Toolchain sind dabei fantastisch und weit vor dem Wettbewerb.

Doch zurück zu den Eigenheiten, die Go so besonders machen. Während der Einstieg bei Go recht leicht ist und gerade einmal ein Wochenende ver...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang