Von Google unterstützte Programmiersprache Go: Entwickler enthüllen die wichtigsten fehlenden Funktionen

Das Projekt hinter Go, einer in Google entwickelten Open-Source-Programmiersprache, hat Tausende von Softwareentwicklern befragt, um herauszufinden, welche Technologie sie verwenden und welche Probleme die Verwendung der Sprache mit sich bringt. 

Go – das Google für große verteilte Computer entwickelt und vor etwas mehr als einem Jahrzehnt veröffentlicht hat – ist zu einer der beliebtesten Sprachen der Technologiewelt geworden und belegt derzeit den 14. Platz in der Liste der Top-Sprachen von RedMonk . 

Neben Google gehören Netflix, American Express, Salesforce, IBM, Target, Twitch, Twitter, Uber und Dropbox zu den großen Unternehmen, die Go heute verwenden.  

Google beschreibt es als “syntaktisch ähnlich wie C, jedoch mit den zusätzlichen Vorteilen der Speichersicherheit, der Speicherbereinigung, der strukturellen Typisierung und der Parallelität im CSP-Stil”.

SIEHE: Wie man eine erfolgreiche Entwicklerkarriere aufbaut (kostenloses PDF)

Das Go-Projekt hat jetzt die Ergebnisse seiner Umfrage von 2019 unter 10.975 Go-Benutzern veröffentlicht , von denen die meisten Go täglich verwenden. Es stellte sich heraus, dass 86% der Befragten der Meinung sind, dass Go für ihre Teams gut funktioniert, und dass 89% es gerne für ihr nächstes Projekt verwenden würden, was sich seit 2016 kaum verändert hat. 

Go-Entwickler sind mit den Leistungsaspekten zufrieden, die sie als wichtig erachten, einschließlich Build-Geschwindigkeit, CPU-Auslastung, Zuverlässigkeit, Editor-Unterstützung und Speicherbedarf. Zu den Bereichen, mit denen sie weniger zufrieden sind, gehören das Debuggen, die Verwendung von Cloud-Diensten und die Verwendung von Modulen. 

Die erste Wahl unter Go-Benutzern sind Python, Rust, Java, C #, JavaScript, TypeScript, C, C ++ und Kotlin. Es gibt auch Ruby, PHP, Scala, Swift und Bash. 

Diese Einstellungen haben sich im Laufe der Jahre nicht wesentlich geändert, mit Ausnahme von TypeScript und Rust, die beide einen Anstieg der Anzahl der Go-Benutzer verzeichnen, die sie attraktiv finden. Die meisten Go-Entwickler bevorzugen jedoch Python. 

Etwa 66% der Go-Programmierer verwenden die Sprache für die Webentwicklung, während 45% sie zum Erstellen von Datenbanken verwenden, 42% sie für die Netzwerkprogrammierung verwenden, 38% sie für die Systemprogrammierung verwenden und 37% Go in DevOps verwenden.          

Go-Benutzer halten weitgehend mit den neuen Versionen von Go Schritt. 75% wechseln innerhalb von fünf Monaten nach Veröffentlichung auf die neueste Version für die Produktion und 12% innerhalb des ersten Jahres. Todd Kulesza von Google sagte, dieser Trend unterstreiche “die Bedeutung für Plattform-als-Service-Anbieter, um schnell neue stabile Versionen von Go zu unterstützen”. 

Die Frage der Go-Unterstützung durch große Cloud-Anbieter hat sich auf die Einstellung der Go-Entwickler zu Amazon Web Services, Google Cloud Platform (GCP) und Microsoft Azure ausgewirkt. 

Im Vergleich zu AWS und GCP sind deutlich weniger Go-Entwickler mit der Go-Entwicklung in Azure zufrieden. Nur 57% der Azure-Benutzer sind zufrieden, verglichen mit 80% für AWS und 78% für GCP. In einem Viertel der Freitextantworten wurde festgestellt, dass Azure keine erstklassige Unterstützung für Go bietet, was bedeutet, dass Azure mit den neuesten Go-Versionen und -Funktionen nicht auf dem neuesten Stand ist.   

Trotzdem ist die Nutzung der drei großen Cloud-Anbieter auf der ganzen Linie weit verbreitet, aber AWS hat immer noch einen großen Vorsprung gegenüber Konkurrenten. 42% der Befragten stellen Go-Programme bereit, was fast den 44% entspricht, die sie auf ihren eigenen Servern bereitstellen. Rund 24% der Befragten stellen Go-Code auf GCP bereit, während 7% Go auf Azure bereitstellen.  

Der beliebte Editor von Microsoft, Visual Studio Code (VS Code), ist nach wie vor die beliebteste Wahl für Go-Entwickler. 41% verwenden ihn. GoLand wuchs jedoch von 24% im letzten Jahr auf 34%. Die beiden Editoren werden von 75% der Go-Entwickler verwendet.  

Die Reihenfolge der Betriebssysteme, die die meisten Go-Entwickler zum Erstellen verwenden, ist Linux, macOS und Windows. Ein dritter Bericht verwendet nur Linux, 26% verwenden nur MacOS, 23% verwenden MacOS und Linux, 9% verwenden Linux und Windows und 6% verwenden nur Windows.    

Der Hauptgrund, warum Go-Benutzer Go nicht mehr verwenden, liegt darin, dass sie an einem Projekt arbeiten, das in einer anderen Sprache geschrieben ist. Ein Viertel der Benutzer gibt jedoch an, dass Go keine kritischen Funktionen aufweist und fast 80% von ihnen Generika oder Go-Generika zitieren  22% gaben an, dass eine bessere Fehlerbehandlung erforderlich ist, und 13% wünschen sich funktionalere Programmierfunktionen.  

SIEHE: Programmiersprache Rusts Adoptionsproblem: Entwickler verraten, warum mehr es nicht verwenden

Dieses Ergebnis wird Googles Go-Team nicht überraschen. Letztes Jahr waren die drei größten Hürden für Go das Paket- und Versionsmanagement, eine bessere Unterstützung bei der Fehlerbehandlung und Generika. Beschwerden über den Mangel an generischer Programmierung gibt es seit der Veröffentlichung von Go und es ist seit vier Jahren die Hauptbeschwerde in Go-Benutzerumfragen . 

“Alle drei Bereiche sind in diesem Jahr Schwerpunkte für das Go-Team. Wir hoffen, dass wir die Entwicklererfahrung in den kommenden Monaten erheblich verbessern können, insbesondere in Bezug auf Module, Tools und die ersten Schritte”, sagte Kulesza von Google. 

Ian Lance Taylor von Google hat auf der Gophercon im vergangenen Jahr die Vor- und Nachteile von Generika in Go erörtert und einen Entwurfsvorschlag dafür veröffentlicht.

Er merkte jedoch an, dass Google darauf abzielte, “es möglich zu machen, die Arten von generischem Code zu schreiben, die ich heute besprochen habe, ohne die Sprache zu komplex zu machen oder sie nicht mehr wie Go zu fühlen”.