Go ist keine Weiterentwicklung bekannter Programmiersprachen wie Java, C# oder C/C++, obwohl es zu dieser Kategorie gehört.Denn Go ist anders, Go ist nicht rein objektorientiert aber auch nicht rein funktional, es kommt aber den C Konzepten am nächsten.
Das Hauptziel dabei ist, einfachen und sauberen Programmcode (simple and clean) zu erstellen, der effizient ausgeführt wird.
Die Go runtime ist keine virtuelle Maschine und dennoch sind Go Programme native portabel. Diese Portabilität wird aber über die Kompiliation mit dem Operating System (GOOS) und der Hardware Architektur (GOARCH) hergestellt. Der gleiche Programmcode kann für viele verschiedene Zielsysteme wie z.B. Linux, Darwin (iOS) und Windows kompiliert werden.
Aus der Sicht von Java oder C# bietet Go doch etliche Nachteile:
Go liegt technisch zwischen Java, C und Python :
Was sind denn nun die echten Vorteile von Go ?
Go eignet sich nicht für die Entwicklung klassischer Desktop Anwendungen.
Wir setzen Go für die Entwicklung von Tools, für die Integration und im Web Development ein. Diese Site wird mit dem von uns entwickelten stack.ch Server gehostet.
Bekannte Firmen wie Uber, Google, Netflix, Dropbox, Dell, eBay, Yahoo, Zelando, Zynga. Docker, MongoDB programmieren mit Go.
Die Beispiele finden Sie unter https://github.com/stackch/demo