Go 1.2 hilft bei testgetriebener und nebenläufiger Entwicklung

02.12.2013

Die neue Version der Programmiersprache Go liegt im Trend: Ausgabe 1.2 verbessert die Parallelisierung und testgetriebene Entwicklung. Außerdem soll der Release-Zyklus sich künftig an den sieben Monaten orientieren, die seit der letzten Veröffentlichung vergangen sind.

Nach sieben Monaten Arbeit veröffentlichen die Entwickler der ursprünglich im Hause Google angestoßenen Programmiersprache Go ihre neue stabile Version 1.2 . Diesen Rhythmus wollen die Go-Entwickler von nun an zumindest ungefähr einhalten und lange Release-Lücken wie die vierzehn Monate zwischen Go 1.0 und 1.1 künftig verhindern. Insgesamt enthält die neue Go-Version 1600 Änderungen, eingebracht von 116 Entwicklern.

In Sachen Syntax überarbeitet Go 1.2 den Umgang mit nil-Pointern: Inkorrekte Speicherzugriffe lösen nun zuverlässig eine Panic aus, das Go-Pendant zu den Exceptions anderer Sprachen. Daneben lassen sich Slices nun mit drei statt nur zwei Indizes initialisieren, um mit dem dritten Index direkt die Slice-Kapazität zu definieren.

Testgetriebene Entwicklung vereinfacht Go 1.2 mit der Einführung der "-cover"-Flag für den "go test"-Befehl. Sie untersucht automatisch die Abdeckung des Quellcodes durch eine Test-Suite.

Daneben haben die Go-Entwickler Performance-Verbesserung bei der Verwendung von Goroutines, den sogenannten leichtgewichtigen Threads der Sprache, erzielt. Ein verbesserter Scheduler verhindert, dass einzelne Goroutines, die nicht enden, einen kompletten Thread lahmlegen können. Des Weiteren lässt sich die Höchstzahl erlaubter Threads eines Programms begrenzen, um eine Überlastung des Systems zu verhindern.

Go-Einsteiger können die neue Version bereits auf dem Go Playground ausprobieren. Wer ganz neu ist, erhält auch eine einführende Tour durch die Sprache.

Go

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023