Ein Mann sitzt an einem Schreibtisch vor einem Bildschirm. Im Vordergrund schemenhaft Programmiercode und Balkendiagramme.
IoT

Go: Die wichtigsten Infos zur kompilierbaren Google-Programmiersprache

Eine syntaktisch einfache, quelloffene Programmiersprache, die zwischen C++, C#, Python und Java angesiedelt und dabei einfach zu erlernen ist? Google Go bringt genau diese Eigenschaften mit und ist mit Programmier-Vorkenntnissen in wenigen Wochen erlernbar.

Die meisten modernen Programmiersprachen sind inzwischen mächtige Entwicklerwerkzeuge, die von Version zu Version neue Funktionen hinzubekommen. Bei aller äußeren Logik und Aufgeräumtheit verbergen sich hinter der Fassade oft ausgefeilte Verschachtelungsmöglichkeiten, die Einsteiger:innen das Erlernen schwer machen und selbst für Profis noch so manche Programmierfalle bereithalten.

Google Go geht hier einen umgekehrten Weg und will bewusst mit Einfachheit punkten. Und die geht keineswegs auf Kosten der Praktikabilität.

Inhaltsverzeichnis

Was ist Google Go?

Die Programmiersprache Google Go (auch Golang genannt) ist eine Compiler-Sprache, die 2007 von den Google-Mitarbeitern Robert Griesemer, Robert C. Pike und Ken Thompson entwickelt wurde. Seit 2009 wird Google Go quelloffen als Open-Source-Projekt auf GitHub weitergeführt.
Das Bild zeigt eine Hand unter einer symbolischen Wolke

Flexibel, skalierbar und sicher: Vodafone Cloud- und Hosting-Services

Sie suchen Cloud-Lösungen, die sich individuell und flexibel entsprechend Ihrer Business-Anforderungen anpassen lassen?

Bei der Sie bei Bedarf alle Services aus einer Hand erhalten und sich über Performance und Datensicherheit keine Gedanken machen müssen?

Gerne helfen wir Ihnen bei der Auswahl der passenden Cloud & Hosting Services für Ihr Unternehmen und unterstützen Sie mit Informationen, worauf es anderen Unternehmen bei der Auswahl eines passendens Cloud-Anbieters ankommt. 

Empfohlener externer Inhalt
Hier ist ein Video-Inhalt von YouTube. Er ergänzt die Informationen auf dieser Seite.
Sie können ihn mit einem Klick anzeigen und wieder ausblenden.
Ich bin einverstanden, dass externe Inhalte angezeigt werden. So können personenbezogene Daten an Drittplattformen übermittelt werden. Mehr in unserer  Datenschutzerklärung.
Datenschutzerklärung

Google Go im Überblick – die Stärken der kompakten Sprache

Die Verwandtschaft von Google Go zur großen Familie der C-Sprachen und die Nähe zur Unix-Welt sind klar erkennbar. Kein Wunder: Immerhin hat Co-Autor Ken Thompson einst das Betriebssystem Unix mitentwickelt und ist auch Schöpfer der C-Vorgängersprache B. Auch Robert C. Pike war bei den Bell Labs im dortigen Unix-Team. Gleichwohl ist Google Go eine moderne Programmiersprache des 21. Jahrhunderts und speziell des Cloudzeitalters geworden. Das zeigt sich schon an der durchgehenden Skalierbarkeit auf allen Ebenen. Zu den Stärken von Go im Einzelnen:
Quelloffenheit: Durch die Offenlegung des Quellcodes ist Google Go eine vergleichsweise sichere Sprache. Mögliche Fehler im Compiler-Code können so schneller erkannt und behoben werden. Das macht es Hacker:innen schwerer, Lücken auszunutzen. Zudem lädt Quelloffenheit andere Programmierer:innen zur Weiterentwicklung der Sprache oder zur Bereitstellung eigener Tools rund um die Sprache ein. Entsprechend sind neben Gccgo schon viele weitere Werkzeuge und Programmierhilfen für Google Go entstanden.
Kompilierbarkeit: Compiler-Sprachen bieten gegenüber Skriptsprachen in der Regel große Geschwindigkeitsvorteile. Kompilierter Code liegt direkt in Maschinensprache vor und kann von den Prozessorkernen entsprechend schnell gelesen und ausgeführt werden. Bei Skriptsprachen läuft hingegen permanent ein Interpreter im Hintergrund, der den Code in Echtzeit übersetzt. Das bremst die eigentliche Ausführung erheblich aus. Gerade in Bereichen wie 3D-Grafik, Künstlicher Intelligenz, Augmented Reality oder Spracherkennung wird deswegen üblicherweise mit Compiler-Sprachen gearbeitet.
Eigene Garbage Collection: Viele Anwender kennen das Problem: Trotz immer größerer Speicher frieren bestimmte Applikationen regelmäßig ein, weil sie den Arbeitsspeicher des jeweiligen Endgerätes mit nicht mehr benötigten Daten zum Überlaufen bringen. Google Go hat einen eigenen Aufräumdienst, einen sogenannten Garbage Collector („Müllsammler“) an Bord, der nicht mehr benötigte Speicherbereiche wieder freigibt. Google Go ist nicht die einzige Programmiersprache, die einen solchen Dienst beinhaltet. Aber sie hebt sich damit von Sprachen ab, die Speicherverschwendung nicht aktiv unterbinden.
Mut zur Einfachheit: Google Go verzichtet bewusst auf viele Technologien anderer Sprachen wie C# und C++. So gibt es zwar Pointer (Zeiger), aber keine zugehörige Zeiger-Arithmetik. Es gibt ‚for‘-Schleifen, aber ohne ‚while‘-Befehl. Es gibt keine Vererbung und nur wenige Variablentypen. Auch wenn dies auf den ersten Blick erhebliche Einschränkungen sind, so lassen sich viele Aufgaben auf anderen Wegen lösen. Der nicht vorhandene ‚while‘-Befehl ist schlicht nicht notwendig, weil der ‚for‘-Befehl sehr leistungsfähig ist. Die Zeiger-Arithmetik gilt zudem vielen Sprachen-Entwickler:innen als Büchse der Pandora, da sie zu Programmierfehlern (Bugs) förmlich einlädt. Google Go findet auch hier andere Wege, um ans gewünschte Ziel zu kommen.
Nebenläufigkeit: Mit Google Go erstellte Programme funktionieren auf Wunsch nebenläufig. Das bedeutet: Programmbestandteile, die auf bestimmte Berechnungen oder Trigger warten, blockieren nicht ungewollt andere Funktionen, die in der Zwischenzeit weiterlaufen könnten. Jede Funktion oder Methode kann hierfür als sogenannte Go-Routine angelegt werden, indem sie per „go“ aufgerufen wird: Intern verteilt ein Multiplexer Funktionen auf unterschiedliche Threads. Wird ein solcher Thread durch eine laufende Berechnung blockiert, verschiebt der Multiplexer die so ausgebremste Go-Routine einfach auf einen anderen, weiter lauffähigen Thread. Und: Funktionen selbst arbeiten nicht mit gemeinsamen, globalen Variablen sondern tauschen Werte über sogenannte Channels untereinander aus. Auch dies reduziert die Gefahr des „Einfrierens”.
Gute Lesbarkeit: Gerade bei der Arbeit in verteilten Entwickler:innen-Teams oder beim Debugging ist es sehr praktisch, den Code anderer Programmierer:innen leicht lesen und verstehen zu können. Go-Code ist weitgehend einheitlich formatiert und gut lesbar. Viele komplexe Programmier-Tricks über mehrere Funktionen hinweg sind nicht möglich. Sie müssen also später beim Gegencheck auch nicht mühsam aufgeschlüsselt werden.
Das sind nur einige der Vorteile von Google Go, die mit erklären, warum die Sprache in ihrer noch jungen Geschichte in Beliebtheits-Rankings für Programmiersprachen neben den Platzhirschen Java, C# oder Python regelmäßig vordere Plätze belegt. 2017 landete Google Go imTIOBE-Ranking erstmals unter den zehn meistgeschätzten Sprachen weltweit.
Empfohlener externer Inhalt
Hier ist ein Video-Inhalt von YouTube. Er ergänzt die Informationen auf dieser Seite.
Sie können ihn mit einem Klick anzeigen und wieder ausblenden.
Ich bin einverstanden, dass externe Inhalte angezeigt werden. So können personenbezogene Daten an Drittplattformen übermittelt werden. Mehr in unserer  Datenschutzerklärung.
Datenschutzerklärung
Video: YouTube / media.ccc.de

Was Google Go nicht ist

Auch wenn Google Go viele Stärken mitbringt, gibt es doch naturgemäß Aufgaben und Einsatzgebiete, für die diese Sprache weniger geeignet ist.
So ist Google Go keine ideale Einsteiger:innensprache. Programmierkenntnisse in PHP, C, C++, C# oder Pascal sind hilfreich für den Einstieg und speziell für das schnellere Verständnis von Go-typischen Funktionen, Variablen und Zeigern. Absolute Anfänger:innen sind mit einer etablierten (Script-)Sprache wie VBA, JavaScript oder Python mit umfassendem SDK (Software Development Kit) jedoch wahrscheinlich besser bedient.
Eine Frau und ein Mann stehen auf einer Baustelle

Jetzt mit IoT Easy Connect durchstarten

Zwei sorgenfreie IoT-Prepaid-Tarife ermöglichen Ihr eigenes IoT-Projekt auf Basis unseres Hochleistungsnetzes:

  • IoT Easy Connect 2G/4G für hohe Datenraten
  • IoT Easy Connect 2G/NB-IoT/LTE-M für schwierige Bedingungen
Auch für schlanke Hardware-Umgebungen mit wenig Speicher – wie die Arduino-Welt auf Basis der ATmega-Chips – war Google Go bisher ungeeignet. Mit dem hauseigenen Compiler erzeugter Code erreicht in der Regel Megabyte-Volumina – zu groß für das winzige Onboard-RAM der meisten Microcontroller. Mittlerweile gibt es aber auch hier ein eigenes Entwickler-Projekt in Gestalt von TinyGo, das mit seinem eigenen Compiler besonders byte-sparende Programme erzeugt.
Ganz zuletzt ist Google Go keine kreative Programmiersprache. Soll heißen: Wer seinen Programmiercode gerne sehr individuell gestaltet, dabei um jedes Byte ringt und prinzipiell gerne tief verschachtelte Strukturen schafft, wird mit Google Go nicht glücklich. Die Sprache simplifiziert ganz bewusst und erzwingt damit einfachen und gut nachvollziehbaren Code – auch im Hinblick auf die Zusammenarbeit in Entwickler:innen-Teams.

Google Go – erste Schritte

Ziel der Go-Entwicklerung war es, eine Sprache zu kreieren, die gleichermaßen simpel zu programmieren und zu kompilieren ist und auf allen unterstützen Plattformen hohe Ausführungsgeschwindigkeiten erreicht. Besonders bei Webanwendungen oder Programmierschnittstellen (API) zeigt Google Go seine Stärken. Möchten auch Sie austesten, ob Google Go für Ihre Zwecke die passende Sprache ist? Dann laden Sie es doch von der Webseite herunter.
Nach dem Download des Komplettpaketes unter https://golang.org/ (für Windows im msi-Format) wird die Software über den mitgelieferten Installer eingerichtet. In der Regel wird Google Go dabei im Windows-Ordner C:\Programme\Go\ abgelegt, auf englischsprachigen Rechnern unter C:\Program Files\Go\ an. Ältere Versionen von Go erzeugen abweichend den Ordner C:\Go. Nach der Installation finden Sie im Unterordner in\ die ausführbare Go-Datei go.exe sowie das Formatierungstool gofmt.exe, mit dem Sie Ihren Code später gut lesbar autoformatieren können.
Mit Windows-Taste + R öffnen Sie ein Ausführen-Fenster, in dem Sie per „CMD“ die Kommandozeile öffnen. Dort starten Sie Go mit der Eingabe „Go“. Erscheint nun die Go-Parameterübersicht, wurde das Programm korrekt auf Ihrem Computer installiert.
Übrigens: Mit Firebase stellt Google auch eine umfangreicher Entwicklerplattform mit weitreichenden API-Schnittstellen zur Entwicklung eigener Apps zur Verfügung.
Das könnte Sie auch interessieren:
IoT
Ansicht von oben auf einen üppigen Wald, in der Mitte ein See. Auf dem blauen Wasser steht in grüner Schrift „CO2“.

CO2-Äquivalente berechnen und bestimmen: Das sollten Sie wissen

Wissen Sie, wie klimafreundlich Ihr Unternehmen derzeit arbeitet? Mit einer Software können Sie das schnell herausfinden: Ein CO2-Rechner gibt Ihnen einen Überblick über die Menge an Treibhausgasen (THG), die durch Ihre betrieblichen Aktivitäten – auch in Lieferketten – entstehen. Das Tool ist für jede Branche geeignet und berechnet alle Arten von THG-Emissionen in der Maßeinheit „CO2-Äquivalent“ (CO2e). Ob durch Produktionsprozesse, das Verbrennen fossiler Energieträger, die Tierhaltung oder den Transport: Betriebe erzeugen direkt oder indirekt THG-Emissionen, die „klimawirksam“ sind, d.h. sie haben einen Einfluss auf die Erdatmosphäre. Seit der Industrialisierung sind es deutlich mehr Emissionen geworden und so wird es auf der Erde immer wärmer. Der Klimawandel führt zu einem Umdenken in der Wirtschaft. Mit einer Software zur Berechnung von CO2-Äquivalenten können Unternehmen ihren CO2-Fußabdruck transparent machen und Potenziale für die Reduktion von Treibhausgasen aufspüren. Bis 2030 will die EU die CO2-Emissionen um 55 Prozent senken.

Telefon

Digitalisierungs-Beratung

Sie haben Fragen zur Digitalisierung? Jetzt kostenlos beraten lassen. Montag-Freitag von 8-18 Uhr, außer an Feiertagen.

0800 505 4539

Hilfe und Service

Montag bis Freitag von 8 bis 20 Uhr, außer an Feiertagen.

0800 172 1234
Online
Vor Ort