Viele kleinere Änderungen in Go 1.2

 –  78 Kommentare

Erst vor kurzem feierte Googles Programmiersprache Go ihren vierten Geburtstag, nun folgt mit der Version 1.2 das dritte größere stabile Release der Sprache, die der Internet-Konzern vor allem als C/C++-Konkurrenten zur Systemprogrammierung ins Rennen geschickt hatte. Go 1.0 war im Frühjahr 2012 veröffentlicht worden, gefolgt von Go 1.1 diesen Mai. Google will fortan weitere Releases der Programmiersprache in kürzeren Intervallen wie von Go 1.1 auf Go 1.2 folgen lassen.

Go 1.2 enthält ein paar kleinere Änderungen an der Sprache selbst, des Weiteren an der Sprachimplementierung und den mitgelieferten Werkzeugen sowie etliche Ergänzungen und vermutlich abwärtskompatible Änderungen an der Standardbibliothek. Außerdem soll sich das neue Release performanter als die Vorgängerversion verhalten. Details hierzu verraten die Release Notes.

Als Highlight werden unter anderem die Möglichkeit genannt, sich Resultate zur Testabdeckung berechnen und anzeigen zu lassen sowie das Kapazität und Länge bei einer Slice-Operation auf Arrays und Slices festzulegen. Die Kapazität ist dabei der maximalen Anzahl an Elementen gemäß, die ein Slice besitzen darf und referenziert auf die Größe des damit einhergehenden Arrays. Durch präemptives Multitasking im Scheduler belasten bestimmte Loops in einem Thread nicht mehr die Ressourcen, was bislang dazu führen konnte, dass andere Loops "verhungerten".

Hinter der Entwicklung des Go-Sprachkerns stehen Rob Pike und Ken Thompson, die schon bei vielen wegweisenden Softwareprojekten mitgewirkt haben. Sie waren von den Programmiersprachen für die Systemprogrammierung frustriert und wünschten sich eine Sprache, die mit Multicore-Architekturen zurechtkommt und sich schnell ausführen und kompilieren lässt. Die Sprache hat rasch den Zuspruch vieler Entwickler erhalten, mittlerweile haben deutlich mehr als hundert externe Entwickler Code für Go eingereicht. Go wird beispielsweise von Unternehmen wie der BBC, Novartis, SoundCloud, SmugMug und Canonical eingesetzt. (ane)