La version 1.1 de Go, le langage de programmation de Google, se rapprochant de sa sortie, les développeurs ont annoncé la sortie de la dernière version bêta, offrant un aperçu des nouvelles fonctionnalités. L'une des plus importantes est certainement l'augmentation estimée des performances de l'ordre de 30 à 40% dans plusieurs cas d'utilisations. La version 1.0 de Go, sortie il y a un peu plus d'un an en mars 2012, n'a jusqu'à aujourd'hui connu que des versions de corrections de bugs de la part de Google. La version 1.1 apporte de nouvelles fonctionnalités tout en confirmant sa rétrocompatibilité avec les versions 1.0.X. La mise à jour concerne la boite à outils, les fonctionnalités du langage et des changements dans la librairie standard.
Nouvelles fonctionnalitées du langage
- Division par zéro des entiers
- Method values
- Renvoi de valeurs: les fonctions qui retournaient une valeur nécessitaient explicitement le mot clé "return" ou un appel à "panic". Ceci est assoupli avec l'ajout des "terminating statements" (une instruction d'une fonction qui est assurée d'être la dernière à être exécutée)
Outils / Implementation
- gccgo – La version 4.8 de GCC (GNU Compiler Collection), sortie en mars 2013 a un support partiel de Go 1.1, alors que la prochaine version 4.8.1 prévue pour mai devrait fournir un support complet de la version 1.1.
- int/unit sur les implémentations 64 bits sont définies en 64 bits. Cela peut poser des problèmes aux programmes qui s'attendent à ce que ces types soient seulement en 32 bits.
- Heap size - sur les systèmes 64 bits, elle a été étendue à 10 gigabytes (la taille exacte est dépendante du système et pas encore finalisée)
- commande go
- Les messages d'erreurs pour la compilation, les tests et l'exécution sont plus précis
- $GOPATH doit être défini pour utiliser go, et il ne peut pas être identique à la valeur de $GOROOT
- go fix a été modifié pour supporter la migration du code de la version 1.0.X à 1.1. (Les versions plus anciennes que 1.0.X ne peuvent pas être mises à jour directement à Go 1.1)
- Race detector – Les développeurs se battant avec des accès concurrents vont pouvoir utiliser la nouvelle option -race avec go test, actuellement disponible sur les plateformes 64 bits Windows, Linux et Mac.
Les développeurs de Go ont indiqué une hausse des performances importante (mais pas dans tous les cas d'utilisations). Ces augmentations sont provoquées par des améliorations dans le compilateur, une meilleure implémentation des map, moins de changement de contexte dans les applications réseaux, et une amélioration du garbage collector.
Le téléchargement pour toutes les plateformes principales (Windows, Linux, OS X, etc.) est disponible pour la version 1.1 Beta 2. Gardez à l'esprit que le développement progresse à un rythme soutenu donc de nouvelles versions peuvent et vont apparaître. Les développeurs doivent être en mesure de profiter des nouvelles fonctionnalités de la 1.1 en recompilant leur code existant.