© Excellent backgrounds/Shutterstock.com
Google Go für Java-Entwickler

Java to Go


Docker, Kubernetes, Mesos: Alle sind in Googles Programmiersprache Go geschrieben. Aber was macht Go interessant für Java-Entwickler? Go ist durch und durch auf Nebenläufigkeit und Parallelisierung ausgelegt. Außerdem hat Go ein statisches Typsystem und ist rasend schnell. Aber vor allem: Go macht Spaß.

Google hat die Programmiersprache Go als Nachfolger für C++ entwickelt. Dazu engagierten sie den Programmiersprachenforscher Rob Pike. Sein Auftrag: Entwickle für Google eine Programmiersprache, deren Code einfach zu warten ist und hoch performant bei der Ausführung. Herausgekommen ist Google Go. Aber Moment mal, ist denn Java kein würdiger C++-Nachfolger? Java ist hoch performant, keine Frage. Einfacher und wartbarer Code? Das ist sicher eine Frage des Geschmacks. Und über Geschmack lässt sich bekanntlich streiten. Google wollte aber eine Programmiersprache, mit der auch systemnah programmiert werden kann. Und da passte Java nicht so gut. Die Programmiersprache Go ist seit 2009 Open Source. Richtig bekannt geworden ist sie durch Docker, das in Go programmiert ist, wie viele andere Tools aus dem DevOps-Bereich, z. B. Kubernetes, Mesos oder Fleet. Der Programmiersprachenindex Tiobe wählte Go zur Programmiersprache des Jahres 2016 [1].

Go wird häufig zur Netzwerkprogrammierung eingesetzt. Aber es wird mehr und mehr auch für die Entwicklung von Geschäftsanwendungen genutzt, oft in Form von Microservices. Es sind auch gar nicht so sehr die C++-Entwickler, die auf Go umsteigen. Nein, es sind Entwickler, die vorher mit Ruby, PHP und JavaScript gearbeitet haben. Aber warum? Warum nutzen sie nicht Java? Schauen wir uns Go nun näher an und kommen später auf diese Frage zurück. Ein paar Fakten zu Go vorab: Go hat wie Java ein statisches Typsystem und einen Garbage Collector. Anders als Java läuft Go nicht in einer virtuellen Maschine ab, sondern wird als Binärdatei direkt auf der Maschine ausgeführt. Und Go ist nicht objektorientiert. Aber jetzt wollen wir Code sehen!

stamer_go_1.tif_fmt1.jpg Abbildung 1

Hello Gopher!

Die Sprache Go hat ein Maskottchen, den Gopher (Abb. 1). Dem sagen wir in Go guten Tag. Dazu erstellen wir eine Datei hellogopher.go, die den folgenden Go-Code enthält:

package main import "fmt" func main() { fmt.Println("Hello Gopher!") }

Schauen wir uns den Go-Code genauer an. Die Datei hellogopher.go enthält in der ersten Zeile die Package-Deklaration, wie in Java auch. In unserem Fall ist das Package main, ein spezielles Package, das der Einstiegspunkt eines Programms ...

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