Hinaus damit

Auf dem Weg zu Go 2: Ziele, Zwänge, Hindernisse
Kommentare

Auf der GopherCon hat Russ Cox einen Einblick in das Go-Core-Team bei Google gegeben und einen Ausblick wie es mit Go weitergehen wird. Die Weiterentwicklung kann nun eben nicht mehr auf der grünen Wiese stattfinden. Rückwärtskompatibilität und der Einsatz der Community sei gefragt.

Russ Cox warf einen Blick auf die vergangenen fünf Jahre mit Go zurück und bat die Community darum, sich aktiv an der Weiterentwicklung von Go zu Go 2 zu beteiligen.

Now we have five years of experience using Go to build large, production-quality systems. We have developed a sense of what works and what does not. Now it is time to begin the next step in Go’s evolution and growth, to plan the future of Go. I’m here today to ask all of you in the Go community, whether you’re in the audience at GopherCon or watching on video or reading the Go blog later today, to work with us as we plan and implement Go 2.

Cox erklärte, dass selbst kleine Start-ups große Cloud-basierte API-Services nutzen, die von anderen Unternehmen angeboten werden, und mehr Open Source Software als selbstgeschriebene Software verwenden. Die Skalierung in der Produktion und der Entwicklung sei bei einem Start-up ebenso wichtig wie bei Google. Deswegen soll Go 2 vor allem die Probleme beheben, die Skalierung behindern.

Auch interessant: Ist Golang das neue Java?

Die Ziele haben sich seit der Einführung von Go nicht sonderlich geändert. Das Go-Team will Entwickler immer noch effektiver darin machen zwei Arten von Skalierung zu managen: in der Produktion und in der Entwicklung. Aber die Zwänge haben sich geändert. Laut Cox, ist das größte Hindernis für die Weiterentwicklung von Go, der Einsatz der Programmiersprache selbst.

Denn Google geht davon aus, dass es zurzeit mindestens eine halbe Millionen Go-Entwickler weltweit gibt. Dementsprechend gebe es Millionen von Go-Source-Files und mindestens eine Milliarde Zeilen an Go-Code. Und eben diese Entwickler und der Sourcecode repräsentieren nicht nur Gos Erfolg, sondern auch die größten Hindernisse für Go 2.

Eines der Probleme ist, dass die Version 2 den kompletten existierenden Go-1-Code mittragen muss. „Gemischte Programme, in denen in Go 2 geschriebene Pakete Pakete importieren, die in Go in geschrieben werden – und andersherum –, müssen mühelos laufen,“ stellte Cox fest. In kurz: Das Go-Ökosystem darf nicht geteilt werden. Das Automatisierungs-Tooling Go fix sei ein Teil der Lösung, erklärte der Entwickler.

Go for PHP Developers

mit Terrence Ryan (google)

Everything you need to know about PHP 7.2

mit Sebastian Bergmann (thePHP.cc)

So wird Go 2 kommen

Der Plan ist es laut Cox, rückwärtskompatible Teile von Go 2 in Inkrementen als Teil der Go-1-Releases herauszubringen, Feature nach Feature. Der Vorteil dieses Vorgehens ist, dass es den Zeitplan für die Go-1-Releases nicht durcheinanderbringt. Außerdem wird die Entwicklung so nicht in einen Go-1- und einen Go-2-Teil geteilt. Es verhindert kritische Abweichungen zwischen den beiden Sprachversionen. Für das Go-Entwicklerteam ist es so einfacher, sich ein Feature nach dem nächsten vorzunehmen und auf Rückwärtskompatibilität zu achten.

Cox stellte in Aussicht, dass die ersten kleineren Änderungen in rund einem Jahr erscheinen werden, etwa um Go 1.12 herum. Damit haben die Entwickler genug Zeit, sich um das Paketemanagement zu kümmern. Sobald die rückwärtskompatible Arbeit getan sei, kommen die komplett neuen Veränderungen. „Falls es nur rückwärtskompatible Änderungen gibt, nennen wir vielleicht einfach 1.12. dann 2.0“, scherzte Cox. Im Hinterkopf sollte man behalten, dass das Entwicklerteam Go 1 nicht einfach den Rücken zukehrt. Sie wollen es so lange wir möglich weiterentwickeln.

Go-Entwickler vereinigt euch!

Ein Punkt lag Cox besonders am Herzen: Dass die Diskussion um Go 2 nicht nur öffentlich stattfindet, sondern sich die Community auch aktiv einbringt. Er forderte die Go-Entwickler dazu auf, zu berichten, was funktionier und was nicht: „Schreibt einen Blogpost, mit echten Beispielen, konkreten Details und Erfahrungen. Und dann verlinkt es auf unserem Wiki. So beginnen wir darüber zu reden, was wir, die Go-Community, an Go ändern möchten.“

Cox‘ kompletten Vortrag findet sich auch auf dem Go-Blog.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -