Entwicklung mit der Programmiersprache Go

Warum wir Go einsetzen und Sie dies ebenfalls tun sollten.

Go ist die Sprache für die Cloud
– und die Sprache für Sie

Key Takeaways für CIOs, CTOs & Tech Leads

  • Go ist bereit für den Produktiveinsatz
  • Die Sprache vereint die Vorteile dynamischer Sprachen (Produktivität) und statischer Sprachen (Geschwindigkeit, Sicherheit und Zuverlässigkeit)
  • Geringe Einführungskosten
  • Go wird von Google entwickelt und hat weltweit eine große Adoption gefunden (08/2020: TIOBE Index 11). Viele High-Traffic-Systeme sind mittlerweile in Go entwickelt. Zu den populärsten Nutzern gehören allen voran Google selbst (z. B. Chromes Download-Server, YouTube), Uber, Twitch, Dropbox, Zalando, Sixt, Amazon, Stripe und viele andere mehr.

Details für Developers & Geeks

  • Im Gegensatz zu vielen anderen Sprachen wie etwa JavaScript (z. B. via node.js) oder Python wird Go nativ vorab in die jeweilige Maschinensprache übersetzt (AOT-Kompilierung). JavaScript (JS) und Python hingegen sind Skriptsprachen, die aufgrund ihres notwendigen Interpreters typischerweise langsamer sind. Teils ausgeglichen werden Geschwindigkeitsnachteile in diesen Sprachen durch JIT-Compiler, nichtsdestotrotz unterliegen sie nativ AOT-kompilierten Sprachen.
  • Go ist statisch typisiert. Statisch typisierte Sprachen sind weit weniger anfällig für Laufzeitfehler als dynamische Sprachen wie etwa Python/JS und bieten gewisse Sicherheit bei notwendigen Refactorings.
  • Moderne Serversysteme sind oftmals mit einer Vielzahl CPUs ausgestattet. Concurrency ist ein first-citizen in Go. Sogenannte Goroutines (gestartet mit dem Keyword go) sind leichtgewichtige Threads und werden von der Go Runtime auf System-Threads multiplexed, um alle verfügbaren CPUs bestmöglichst auszunutzen. Es ist keine Seltenheit oder erfordert besondere Berücksichtigung, wenn ein Go-Programm mehrere hunderttausend Goroutinen mit jeweils einer Netzwerkverbindung parallel verwaltet.
  • Go nutzt Blocking I/O und vermeidet eine Callback Hell.
  • Neben der Verwaltung der Goroutinen verwaltet die Runtime ebenfalls den Speicher. Sie verfügt über eine Garbage Collection, sodass Speicher nicht explizit freigegeben werden muss.
  • Go ist sehr einfach zu verstehen und ist damit auch für Neueinsteiger ohne Go-Vorkenntnisse nachvollziehbar. Eine geringere Komplexität führt zu weniger Fehlern in der Umsetzung. Ihre Language Specification ist sehr kompakt und passt auf eine Seite.

Sprechen Sie uns gerne an, wenn Sie mehr über Go erfahren möchten. Wir fachsimpeln auch gerne mit Ihnen oder Ihren Kollegen!

Lust auf Fachsimpeln oder
Entwickeln mit uns?

Unsere Ersteinschätzung ist selbstverständlich
kostenlos & unverbindlich.

Scroll to Top
Scroll to Top