Six mois après la mouture 1.7 de son langage Go qui s’attelait à optimiser la compilation, Google remet le couvert, avec les mêmes objectifs. Go 1.8 modifie un certain nombre d’éléments dans la chaine d’outils notamment, mais garde la compatibilité de la branche 1.X.
Go est un langage de Google, conçu pour la vitesse, tant dans le développement que dans la compilation. S’inspirant très largement des langages C++ et Python, il doit fournir des performances proches du C, sans toutefois les atteindre. En contrepartie, il se veut simple à aborder et à assimiler. En outre, la phase de compilation peut être jusqu’à 80 ou 90 % plus rapide que celle du C.
Une version 15 % plus rapide selon Google
La version 1.8 continue sur la même lancée que la 1.7. On retrouve donc des modifications et optimisations sur la chaine d’outils, le compilateur et les bibliothèques. Le travail commencé sur le passage du compilateur lui-même en Go s’est poursuivi et le back end doit fournir désormais un code plus efficace. En outre, la version x86_64 introduite il y a six mois est maintenant utilisée pour l’ensemble des architectures.
Toujours basé sur la forme SSA (Static Single Assignment), où chaque variable n’est affectée qu’une seule fois, il génère un code plus compact. Selon Google, le gain en temps CPU oscille entre 20 et 30 % sur les systèmes ARM 32 bits. Plus globalement, l’éditeur assure que la nouvelle version de son langage est 15 % plus rapide que la précédente, grâce aux améliorations réalisées dans le compilateur et le linker.
Des ajouts et de la compatibilité
Parmi les autres apports, signalons le support de l’architecture MIPS 32 bits, celui du push sur HTTP/2, la séparation des arrêts normaux et brutaux des serveurs avec les commandes Server.Shutdown et Server.Close, la capacité d'ajouter certains éléments de contexte sur certains paquets et l'inclusion de quelques modifications décrites comme mineures dans les bibliothèques. La nouvelle version reste compatible avec les précédentes.
Tous les changements sont disponibles dans l’annonce officielle.
Commentaires (16)
#1
“Personne ne dit non à un gain de temps”.
" />
A part les ejaculateurs precoces.
#2
#3
Pourquoi on ne parle pas du D sur Next Impact?
#4
Je n’ai pas l’impression que ce soit utilisé… en tout cas en tant que dev, jamais je n’en entends parler.
#5
C’est vraiment un langage de barbu ce truc !
#6
Gogs est écrit en go et fonctionne super bien sur mon rpi !! Plus qu’a faire un test de compilation de gogs avec go 1.8 et reimporter les gits de mon serveur…. Je vais bien m’amuser… Mais avant, un backup complet s’impose !!
" />
#7
#8
Oh non, au contraire. C’est vraiment une super langage, relativement simple à prendre en main et qui est hyper polyvalent, tout en étant très efficace.
#9
Parce que personne ne l’utilise, tout simplement.
#10
Je ne suis pas sur qu’il ait moins d’utilisateur que le Go ou rust.
C’est utilisé pour certains tools chez facebook, pour le gameplay de Quantum break, …
A la différence du Go, Rust, le D vise un usage bien plus large, encore plus que le C++. Mais ça le rend forcément plus complexe.
#11
Je ne connais pas le D, mais il n’apparaît même pas au classement TIOBE :
http://www.tiobe.com/tiobe-index/
Cela vient peut-être de la méthode d’analyse de ce classement, mais j’ai quand même l’impression qu’on ne parle pas beaucoup de ce langage.
EDIT : en fait il y apparaît, en 22ème position. Il est quasi deux fois moins populaire que Go.
#12
En même temps ces classements sont plutôt imprécis et le TIOBE, ‘fin bon quoi. A la limite, le IEEE Spectrum est un peu moins naze que les autres. D’ailleurs on y trouve le D pas si mal placé dans l’embarqué.
#13
Parce qu’on est sur Next iNpact
" />
" /> (J’ai pas dis à raison, moi même je ne connais rien d’autre de D que le fait qu’il existe, ça se trouve c’est top)
Ou que tout le monde s’en fout, au choix
#14
est ce que Go va remplacer le java pour Android un jour, du moins être utilisable en parallèle , surtout si Oracle continue a être chiant ??
" />
" />
Je ne connais pas bien Go, donc si vous pouvez m’éclairer c’est chouette sinon, j’irai voir par moi même
#15
C’est plutôt Dart qui est candidat a remplacer un jour Java sur Android. En fait le but de Google est d’avoir un langage unique pour Android et iOS. voirhttps://flutter.io/ . Facebook propose aussi un équivalent avec Javascript via React Native ( https://facebook.github.io/react-native/ )
Apres on peut déjà faire des apps Android en Go, Il y a 2 méthodes différentes: go-mobile (https://godoc.org/golang.org/x/mobile) et android-go (https://github.com/xlab/android-go )
#16
merci
" />
je vais regarder les liens que tu me donnes de suite
mais je m’interroge sur deux choses :
pourquoi refaire un autre langage ?
comment google pourrait faire un langage pour ios ? (en passant de son langage a celui de ios mais légalement, est ce possible ?)