15 Jahre Go: Googles Programmiersprache feiert Geburtstag

15 Jahre Go: Googles Programmiersprache feiert Geburtstag

Rückblick zum Jubiläum im November 2024: wie aus dem Ärger über lange C++-Builds eine Sprache für die Cloud-Infrastruktur wurde

Aktualisiert:

Abstract

Rückblick zum 15. Geburtstag von Go im November 2024: wie die Sprache bei Google entstand, welche Ideen sie prägten und warum sie in der Cloud verbreitet war.
  • #Go
  • #Programmiersprache
  • #Google
  • #Cloud Computing
  • #Innovation

Von der 45-Minuten-Kompilierung zu Docker und Kubernetes: die Geschichte von Go bis 2024

Angenommen, Sie starten einen Build und können in der Zwischenzeit in Ruhe Mittag essen gehen. Bei großen C++-Projekten war das bei Google vor knapp zwei Jahrzehnten kein Scherz, sondern Alltag. Aus genau diesem Ärger entstand Go, eine Programmiersprache, die im November 2024 ihren 15. Geburtstag feierte. Was als Nebenprojekt von drei Entwicklern begann, war zu diesem Zeitpunkt ein Fundament moderner Cloud-Infrastruktur.

Dieser Beitrag erschien zum Jubiläum im November 2024 und beschreibt den damaligen Stand. Eine aktuelle Einordnung der Sprache mit ihren Stärken und Grenzen finden Sie im Beitrag Go-Programmiersprache: Stärken, Grenzen und Zukunftsaussichten.

Wie Go aus Frust über lange Build-Zeiten entstand

Drei erfahrene Entwickler bei Google

2007 begannen drei Entwickler bei Google mit den Überlegungen zu einer neuen Sprache: Robert Griesemer, Rob Pike und Ken Thompson. Alle drei brachten viel Erfahrung mit. Griesemer hatte unter anderem an der JavaScript-Engine V8 gearbeitet, Thompson hatte Unix mitentwickelt. Sie wollten ein Problem lösen, das mit der Größe der Codebasen bei Google immer drängender wurde: Die Software wurde langsamer gebaut, schwerer verstanden und mühsamer gewartet.

Der 45-Minuten-Moment

Rob Pike erzählte später gern eine Anekdote: Hätte das Kompilieren eines Programms damals nicht 45 Minuten gedauert, gäbe es Go heute nicht. Hinter dem Witz steckte ein ernster Kern. Lange Wartezeiten bremsten ganze Teams aus, und die Komplexität von C++ machte große Projekte schwer beherrschbar. Go sollte beides angehen.

Welche Ideen die Sprache prägten

Kernprinzipien und Designziele

Die Entwickler setzten sich wenige, klare Ziele:

  • eine einfache, gut lesbare Syntax
  • Skalierbarkeit für große Codebasen und große Teams
  • effiziente Nebenläufigkeit, also das gleichzeitige Abarbeiten vieler Aufgaben
  • schnelles Kompilieren trotz statischer Typisierung, bei der Datentypen schon beim Übersetzen geprüft werden

Ein Maskottchen mit Spezifikation

Typisch für die Entwicklerkultur rund um Go: Selbst das Maskottchen, der Go Gopher, wurde sorgfältig dokumentiert. Für die Figur gibt es ein eigenes Model Sheet, also ein Zeichenblatt mit ihren Merkmalen und Gestaltungsregeln, was bei Programmiersprachen ungewöhnlich ist.

Was Go technisch auszeichnete

Goroutines für einfache Nebenläufigkeit

Mit den Goroutines brachte Go ein Konzept mit, das parallele Programmierung deutlich zugänglicher machte. Goroutines sind sehr leichtgewichtige Ausführungsstränge, die die Laufzeitumgebung selbst verwaltet. Ein Webserver kann so jede eingehende Anfrage in einer eigenen Goroutine bearbeiten, ohne dass der Speicher knapp wird.

Ein Garbage Collector in einer Systemsprache

Ungewöhnlich war die Entscheidung für einen Garbage Collector, also eine automatische Speicherbereinigung. Für Systemsprachen galt manuelle Speicherverwaltung lange als Standard. Bei Go erwies sich die automatische Variante als gute Wahl, weil sie viele Fehlerquellen beseitigte, ohne die Leistung für typische Serveranwendungen zu stark zu belasten.

Der Weg zum Erfolg

Von der Systemsprache zur Sprache der Cloud

Ursprünglich als Systemsprache gedacht, entwickelte sich Go schnell zu einer bevorzugten Wahl für Microservices und Cloud-Infrastruktur. Kleine, eigenständige Programme ohne externe Abhängigkeiten ließen sich leicht in Container verpacken und verteilen.

Meilensteine der Entwicklung

  • 2009: offizielle Ankündigung als Open-Source-Projekt
  • 2012: Version 1.0 mit dem Versprechen, dass Programme auch mit späteren 1.x-Versionen funktionieren
  • 2015: Go 1.5, dessen Compiler vollständig in Go selbst geschrieben war

Go in der Softwarelandschaft von 2024

Bekannte Projekte auf Go-Basis

Docker, Kubernetes und Terraform, drei der wichtigsten Werkzeuge der Cloud-Welt, sind in Go geschrieben. Diese Projekte zeigten, dass die Sprache im Produktiveinsatz auch bei sehr großer Last trägt. Wer 2024 Container betrieb oder Infrastruktur als Code verwaltete, nutzte damit fast zwangsläufig Software in Go. Wie sich Go zu dieser Zeit gegenüber Python und Rust positionierte, beschreibt der Beitrag Python, Go und Rust im Vergleich.

Pläne des Go-Teams zum Jubiläum

Zum 15. Geburtstag kündigte das Go-Team an, Go besser für KI-Anwendungen zu rüsten und Werkzeuge aus der KI zu nutzen, um Entwicklerinnen und Entwicklern Routinearbeit abzunehmen.

Was Go nach 15 Jahren ausmachte

Die Geschichte von Go zeigt, dass Verzicht ein Erfolgsrezept sein kann. Die Sprache bot weniger Sprachmittel als viele Konkurrenten, dafür schnelle Builds, gut lesbaren Code und eine durchdachte Nebenläufigkeit. Für Teams, die 2024 Backend-Dienste oder Cloud-Werkzeuge entwickelten, war Go deshalb eine naheliegende Option. Wer cloud-native Anwendungen plant und dafür Unterstützung sucht, findet auf unserer Themenseite Cloud Native Apps: Beratung, Coaching und Seminare weitere Informationen.

Häufige Fragen zu Go

Ist Go eine gute erste Programmiersprache?

Für viele Einsteiger ja. Die klare Syntax und die umfangreiche Standardbibliothek erleichtern den Einstieg, und weil Go in vielen professionellen Projekten steckt, lässt sich das Gelernte schnell praktisch anwenden.

Warum wird Go besonders im Cloud Computing eingesetzt?

Go verbindet effiziente Nebenläufigkeit, schnelles Kompilieren und geringen Ressourcenverbrauch. Das macht die Sprache gut geeignet für Cloud-Anwendungen und Microservices, die viele Anfragen gleichzeitig bearbeiten müssen.

Wie unterscheidet sich Go von anderen Programmiersprachen?

Go setzt auf Einfachheit, eingebaute Unterstützung für Nebenläufigkeit und kurze Kompilierzeiten. Anders als viele andere Sprachen verzichtet Go bewusst auf komplexe Sprachmittel, um Code klar und wartbar zu halten.

Mehr aus „Cloud & DevOps“

Monolithen skalieren: Was Netflix und Prime Video wirklich zeigen

Auch Monolithen skalieren horizontal. Lesen Sie, was die Fälle Netflix und Prime Video wirklich zeigen und wann eine einzelne Anwendung große Last trägt.

mehr erfahren

Docker-Alternativen: Podman, containerd und CRI-O im Vergleich

Podman, containerd, CRI-O und nerdctl im sachlichen Vergleich mit Docker: Architektur, Lizenzen, Kubernetes und Compose. Wann sich ein Umstieg für Sie lohnt.

mehr erfahren

Local-First Software: Wie dezentrale Anwendungen funktionieren

Local-First Software speichert Daten zuerst auf dem Gerät und gleicht sie später ab. Wie CRDTs, Automerge und Yjs funktionieren und wann sich das lohnt.

mehr erfahren

DevOps in der Softwareentwicklung: Kultur, Praktiken, Messgrößen

DevOps verbindet Entwicklung und Betrieb zu gemeinsamer Verantwortung. Welche Prinzipien dahinterstehen, wie Fortschritt messbar wird und wo Teams scheitern.

mehr erfahren

Skalierbare Webanwendungen entwickeln: die wichtigsten Hebel

Skalierbare Webanwendungen brauchen zustandslose Server, Caching, eine wachsende Datenbank und Messungen. Lesen Sie, welche Hebel wann wirken.

mehr erfahren

Serverless Architecture: Best Practices für den Betrieb in der Cloud

Serverless-Anwendungen stabil betreiben: wie Sie Funktionen zuschneiden, Kaltstarts und doppelte Ereignisse beherrschen, Limits setzen und Kosten überwachen.

mehr erfahren

Weitere Blog-Artikel

Apache Spark erklärt: große Datenmengen verteilt verarbeiten

Apache Spark verteilt Datenanalysen auf viele Rechner. Wie DataFrames, Spark SQL und Structured Streaming funktionieren und wann sich Spark lohnt.

mehr erfahren

Digitale Produkte entwickeln: In 7 Phasen von der Idee zum Markterfolg

Digitale Produkte in sieben Phasen entwickeln: vom Problemverständnis über MVP und Prototyp bis zu Launch und Weiterentwicklung, mit typischen Fehlern.

mehr erfahren

Webentwicklung im Überblick: von Frontend und Backend bis Betrieb

Webentwicklung im Überblick: welche Bausteine eine Webanwendung braucht, wie Frontend, Backend, Datenbank und Betrieb zusammenspielen und wo Sie weiterlesen.

mehr erfahren

TypeScript 5.x im Alltag: Die Sprachfunktionen, die wirklich zählen

Die wichtigsten Funktionen der TypeScript-5-Reihe mit Beispielen: Decorators, const-Typparameter, using, Typprädikate und erasableSyntaxOnly – eingeordnet.

mehr erfahren

Digitale Transformation: Strategie entwickeln und umsetzen

Digitale Strategie Schritt für Schritt: Ziele klären, Ausgangslage erfassen, Prozesse und Daten ordnen, Mitarbeitende einbinden und Fortschritt messen.

mehr erfahren

React und Next.js: Architekturentscheidungen für skalierbare Web-Apps

Architektur mit React und Next.js: Framework oder SPA, Rendering-Strategien von SSG bis PPR, die Grenze zwischen Server und Client sowie Streaming.

mehr erfahren

Aktuelle Blog-Artikel

PHP-Migration nach PHP2Shell: Upgrade oder Sprachwechsel?

PHP2Shell und das Support-Ende von PHP 8.2: Was Sie jetzt patchen sollten, wie ein Upgrade auf 8.4 oder 8.5 gelingt und wann ein Sprachwechsel sinnvoll ist.

mehr erfahren

Jev: Was ein KI-Modell für schnelles Denken anders macht als ChatGPT

Das System-1-KI-Modell Jev schreibt keinen Text, sondern beantwortet Fragen mit kalibrierten Wahrscheinlichkeiten. Wie das funktioniert und wofür es taugt.

mehr erfahren

Node.js ohne Ballast: 12 Bordmittel, die npm-Pakete ersetzen

Von fetch() über node:test bis Type Stripping: zwölf Node.js-Funktionen, die axios, dotenv, Jest und Co. ersetzen, mit Status in Node 24 und 26 und Grenzen.

mehr erfahren

KI-Agenten verstehen: MCP, A2A, AG-UI und A2UI einfach erklärt

MCP, A2A, AG-UI und A2UI verständlich erklärt: Wie KI-Agenten Werkzeuge nutzen, miteinander arbeiten und Oberflächen erzeugen – und wer die Standards betreut.

mehr erfahren

Rusts Lieferkette unter Beschuss: Warum ein Angriff nur der Anfang war

Ein Angriff auf Rust-Pakete war im August 2026 schnell gestoppt, das Grundproblem bleibt. Wie crates.io angreifbar ist und was Sie heute dagegen tun können.

mehr erfahren

Webentwicklung ohne SPA: Eine Web-App mit V, Veb, SQLite und htmx

Am Beispiel der Meetup-Plattform Clash zeigt sich, wie eine Web-App mit V, Veb, SQLite und htmx ohne SPA-Framework entsteht und wo der Ansatz an Grenzen stößt.

mehr erfahren

React-Performance: Warum weniger Optimierung mehr Tempo bringt

React-Performance heute: Wie Sie mit State am richtigen Ort, dem React Compiler, Transitions, Virtualisierung und Messung Ihre Anwendung spürbar beschleunigen.

mehr erfahren

React-Komponenten verbinden: Welcher Weg passt wann?

Props, Context, Zustand, TanStack Query, URL-Parameter oder Ereignisse: So wählen Sie den passenden Weg, damit zwei React-Komponenten Daten austauschen.

mehr erfahren

KI-Agenten in der Schleife: Loops in Claude Code und Codex

Was ein Loop bei KI-Agenten ist, welche Auslöser es gibt und wie Sie geplante Aufgaben in Claude Code und Codex mit Kostenkontrolle einrichten.

mehr erfahren

JavaScript 2026: Bun, Deno und TypeScript 7 läuten eine neue Ära ein

Node.js, Bun und Deno im Wettbewerb, TypeScript 7 mit Compiler in Go, Build-Werkzeuge in Rust: Was sich 2026 bei JavaScript ändert und was Sie davon übernehmen.

mehr erfahren

npm-Pakete sicher prüfen: So bewerten Sie ein Paket vor dem Einbau

npm-Pakete sicher prüfen: wie Sie Name, Wartung, Provenance, Install-Skripte, bekannte Lücken und Lizenz bewerten, bevor ein Paket in Ihr Projekt kommt.

mehr erfahren

npm install unter der Lupe: Wie Angreifer die Lieferkette kapern

Was npm install technisch tut, welche Angriffsmuster von Typosquatting bis Dependency Confusion es ausnutzen und wie Sie das Installieren absichern.

mehr erfahren

Programmiersprachen und KI: Warum Rust für Code-Agenten so gut passt

KI-Agenten schreiben in Rust oft verlässlicheren Code, weil der Compiler viele Fehler sofort meldet. Was dahinter steckt und wo das Argument endet.

mehr erfahren

Pi Agent vs. Claude Code: minimaler Open-Source-Agent im Vergleich

Pi Agent und Claude Code im Vergleich: Architektur, Erweiterungen, Modellwahl, Lizenz, Kosten und Sicherheit. Für wen sich der Open-Source-Agent lohnt.

mehr erfahren

Agentic Engine Optimization: Websites für KI-Agenten lesbar machen

Agentic Engine Optimization: Wie KI-Assistenten Ihre Website abrufen, welche Rolle robots.txt, llms.txt und strukturierte Daten spielen – und was belegt ist.

mehr erfahren

Claude Skills für Einsteiger: eigene KI-Workflows aufbauen

Claude Skills bündeln wiederkehrende Anweisungen in einer SKILL.md-Datei. So bauen Sie Skills auf und installieren sie in Claude und Claude Code.

mehr erfahren

Claude Code richtig nutzen: 15 Funktionen, die Profis kennen sollten

Claude Code kann mehr als chatten: So setzen Sie CLAUDE.md, Subagenten, Hooks, Skills, MCP und den Headless-Modus gezielt im Entwickleralltag ein.

mehr erfahren

Claude Code für Einsteiger: vom Terminal zur fertigen Anwendung

Claude Code arbeitet im Terminal direkt mit Ihren Dateien. So gelingen Installation, erste Aufträge, Planmodus, Skills und MCP auch ohne Programmiererfahrung.

mehr erfahren

OpenClaw im Praxistest: vom Chatbot zum digitalen Assistenten

OpenClaw macht ein Sprachmodell zum selbst gehosteten Agenten mit Zugriff auf Rechner und Messenger. Aufbau, Einrichtung, Skills und Sicherheitsregeln.

mehr erfahren

Das Ende der Menüs: Wie KI die digitale Arbeitsumgebung verändert

Seit Jahrzehnten bedienen wir Computer über Fenster, Menüs und Ordner. KI-Agenten verschieben das zu Aufträgen in Alltagssprache. Was sich ändert und was nicht.

mehr erfahren

Microsoft und Rust: Was hinter dem Ziel „C und C++ bis 2030“ steckt

Microsoft nutzt Rust im Windows-Kernel, der Ersatz von C und C++ bis 2030 ist aber ein Forschungsziel. Was belegt ist und was es für Entwickler bedeutet.

mehr erfahren

TanStack Start: Das React-Framework als Alternative zu Next.js

TanStack Start ist ein Fullstack-Framework für React auf Basis von TanStack Router und Vite. Was es kann und wann es eine Alternative zu Next.js ist.

mehr erfahren

Die Ralph-Wiggum-Technik: KI-Coding-Agenten, die nicht aufgeben

Die Ralph-Wiggum-Technik lässt einen Coding-Agenten denselben Auftrag wiederholen, bis die Tests bestehen. Wie sie funktioniert und worauf Sie achten sollten.

mehr erfahren

Warum KI Entwickler nicht ersetzt, aber ihre Rolle verändert

KI-Assistenten schreiben heute viel Code. Warum Fachwissen trotzdem wichtiger wird und welche Fähigkeiten Entwickler:innen jetzt gezielt ausbauen sollten.

mehr erfahren

Von Node.js zu Bun: Next.js-Projekte schrittweise umstellen

Wie Sie Bun in Next.js einsetzen: von bun install über bun --bun next dev bis zum Deployment. Was dabei schneller wird, was nicht und was Sie vorher prüfen.

mehr erfahren

Bun erklärt: JavaScript-Laufzeit, Paketmanager und Bundler in einem

Bun ist Laufzeitumgebung, Paketmanager, Bundler und Testrunner in einem. Wie es funktioniert, wie kompatibel es zu Node.js ist und für wen es sich lohnt.

mehr erfahren

KI-Agenten richtig anleiten: Spezifikationen, die funktionieren

Spezifikationen für KI-Coding-Agenten wie Claude Code oder GitHub Copilot: welche Angaben hineingehören, wie Sie Aufgaben aufteilen und Grenzen setzen.

mehr erfahren

Was ist .NET? Die Microsoft-Plattform einfach erklärt

.NET ist Microsofts quelloffene Entwicklungsplattform für Web, Cloud, Desktop und Apps. Sie erfahren, wie Laufzeit, SDK und Versionen zusammenhängen.

mehr erfahren

Künstliche Intelligenz 2026: Vom Chatbot zum digitalen Kollegen

Rückblick auf den KI-Ausblick vom Januar 2026: acht erwartete Trends von Multi-Agenten-Systemen über physische KI und EU AI Act bis zu Quanten-Utility.

mehr erfahren

KI-Jahr 2025: Vier Erkenntnisse und ein Ausblick auf 2026

Rückblick vom Januar 2026 auf das KI-Jahr 2025: vier Entwicklungen von unauffälligen Agenten bis zum Chipmangel und was sie damals für 2026 erwarten ließen.

mehr erfahren

REST und Event-Streams: Wann sich ereignisbasierte Backends lohnen

REST oder Event-Streams? Wie sich Request/Response und Publish/Subscribe unterscheiden, wann Kafka, SSE oder WebSockets passen und wo REST richtig bleibt.

mehr erfahren

Shai-Hulud 2.0: Wie sich ein Wurm im November 2025 durch npm fraß

Shai-Hulud 2.0 einfach erklärt: Rückblick auf den npm-Wurm vom November 2025, wie er Zugangsdaten stahl, sich selbst verbreitete und wie Sie sich schützten.

mehr erfahren

HTMX: Moderne Webanwendungen ohne JavaScript-Framework bauen

HTMX lädt Inhalte nach, sendet Formulare und tauscht Seitenteile per HTML-Attribut aus. Die Anleitung zeigt Browser- und Serverseite und den Stand von HTMX 4.

mehr erfahren

Electron vs. Tauri: Desktop-Apps mit Webtechnik im Vergleich

Electron bringt Chromium und Node.js mit, Tauri nutzt den Webview des Systems und einen Kern in Rust. Der Vergleich zeigt, wann sich welches Framework eignet.

mehr erfahren

Architekturkompetenz im KI-Zeitalter: Was Full-Stack heute heißt

Wenn KI-Werkzeuge Code schreiben, verschiebt sich die Arbeit zu Architekturentscheidungen. Welche Fähigkeiten zählen und wie Sie sie gezielt aufbauen.

mehr erfahren

Omarchy im Test: So macht Linux endlich wieder Spaß

Unser Test von Omarchy aus dem November 2025: Das Linux auf Basis von Arch und Hyprland setzt auf Tastatur, Kachelfenster und abgestimmte Themes.

mehr erfahren

JWT-Probleme: Warum Entwickler vor JSON Web Tokens warnen

JWT-Probleme im Überblick: Warum sich Tokens schwer widerrufen lassen, welche Prüffehler gefährlich sind und wann klassische Sessions die bessere Wahl sind.

mehr erfahren

7 KI-Begriffe erklärt: Von KI-Agenten bis Superintelligenz

Sieben KI-Begriffe von KI-Agenten über RAG und MCP bis Superintelligenz: was sie bedeuten, wie sie zusammenhängen und was davon für Unternehmen zählt.

mehr erfahren

Machine Learning verstehen: von den Grundlagen bis zu moderner KI

Machine Learning verständlich erklärt: welche Lernverfahren es gibt, wie Training mit Daten abläuft und wie Sie prüfen, ob ein Modell wirklich etwas taugt.

mehr erfahren

Scrum-Master-Rolle auf dem Prüfstand: ein Blick aus Architektursicht

Lohnt sich ein Scrum Master noch? Wir betrachten die Rolle aus Sicht der Softwarearchitektur, gleichen sie mit dem Scrum Guide 2020 ab und zeigen Alternativen.

mehr erfahren

Was dürfen wir für Sie tun?

So sind wir zu erreichen: