2min

Tags in dit artikel

, , ,

Met de lancering van Go 1.21 zegt Google-ingenieur Russ Cox dat er nooit een Go 2 komt die “Go 1-programma’s breekt”. Daarmee herhaalt hij een belofte die gemaakt werd voor Go 1.0 in 2012.

“Saai is goed. Saai is stabiel. Saai betekent dat je je op jouw werk kunt concentreren, niet op wat er anders is aan Go,” laat Cox weten in een blog.

Nuance

Toch voegt Cox daar enige nuance aan toe. Het gaat hier om source compatibility, waardoor een code-recompile wel nodig is als je een nieuwe versie van Go gebruikt. Echter is het volgens hem vooral zaak dat API’s niet gebroken worden door latere versies van Go.

Door interne tests bij Google kan het team achter Go veelal mogelijke compatibiliteitsproblemen vinden voordat een update voor de buitenwereld verschijnt. Soms betekent dat dat een gewenste nieuwe feature extra aandacht vereist. Zo bleek in de testfase dat een verbetering van de time.now-feature tot ongewenste resultaten leidde. Momenteel is de nauwkeurigheid van de tijdmeting tot op de microseconde, terwijl een voorgestelde wijziging dit zou verbeteren naar nanoseconde-precisie. Uiteindelijk heeft versie 1.21 deze upgrade wel gekregen.

Anders dan de rest

Soms zijn er wijzigingen die Go meer laten lijken op andere programmeertalen, zoals hoe het omgaat met input changes, oftewel wanneer een functie verandert van input of hoe het deze verwerkt. Wat dat betreft voerde men wijzigingen door die niets binnen Google kapotmaakten, maar wel bij anderen. Zo vond het team achter Kubernetes het ongewenst om de omgang met voorloopnullen te wijzigen, oftewel onnodige nullen voor het getal. Cox stelt dat een gelijkschakeling met andere programmeertalen op dit front pas gebeurt als Kubernetes-omgevingen daar geen problemen mee zullen ondervinden.

Vooruitkijkend naar Go 2

Go 2 zou nooit een specificatie zijn die Go 1-programma’s breekt, beweert Cox. In plaats daarvan zou de focus juist steeds meer op compatibiliteit gaan liggen, met updates die “zo saai als mogelijk” moeten blijven.

Lees ook: Google test develop-omgeving met AI-hulp: herhaalt het GitHub Copilot?