Google a publié en fin de semaine dernière la version finale de son langage Go 1.6. On ne note pas vraiment d’apports majeurs, mais Go s’ouvre à de nouveaux portages et ajoute la compatibilité avec HTTP/2.
Go est pour rappel un langage créé par Google pour accélérer le développement logiciel. Pour l’éditeur, cet objectif peut être atteint à la fois par la simplicité d’apprentissage de Go et par sa compilation rapide. Ses performances se veulent proches du C, sans pour autant les atteindre. Il se veut surtout nettement plus simple à aborder, avec un héritage très prononcé du C++ et du langage de script Python.
La nouvelle mouture 1.6 n’apporte pas de vraies nouveautés majeures pour le langage lui-même. Cependant, des apports et améliorations restent à signaler, comme la compatibilité avec HTTP/2 dans le paquet net/http. Certains changements sont également de la partie, comme l’utilisation par défaut du compilateur Clang sur FreeBSD, en lieu et place de GCC. Sur Linux et PowerPC 64 bits, la compilation supporte le linking externe et cgo.
Outre quelques améliorations sur les performances (moins de pauses pour le ramasse-miettes), Go 1.6 prend en charge un nombre plus important de plateformes. Android x86 est ainsi de la partie, tout comme MIPS 64 bits, mais avec du linking interne uniquement. Ceux qui souhaitent voir la liste complète des nouveautés de Go 1.6 pourront lire les notes de version.
Le téléchargement pourra se faire depuis le site officiel du langage.
Commentaires (33)
#1
Quelqu’un s’est vraiment penché sur le langage et sait s’il est utilisé dans un ou des projets majeurs ?
Parce qu’en regardant le TIOBE index, on remarque qu’il n’est même pas dans le top 20 des langages les plus populaires. (Il est 38ème pour le moment)
#2
#3
Quelques gros projets écrits en Go (de mémoire) : Docker, Kubernetes, Heka, Influxdb
#4
#5
#6
Il y a une liste sur Wikipédia:
https://en.wikipedia.org/wiki/Go_%28programming_language%29#Notable_users
#7
Tous les gros projets Go cités n’utilisent pas d’interface graphique.
Et puis j’ai vite regardé un peu. Go n’a rien de natif pour afficher une fenêtre et des boutons. Il faut utiliser une des librairies fait par des gus dans leur garage, absolument pas stables ni prêts pour un usage professionnel. Même le wrapper qt5 est encore considéré comme un prototype.
#8
Go est un langage dit ‘système’. Il n’est pas conçu pour faire des fenêtres et boutons ou Half-Life 3.
C’est très bien pour les services ‘headless’ sur serveurs et c’est conçu pour ca.
Son plus gros avantage est l’exploitation aisée du parallélisme des CPU (cores) avec les channels (exemple: http://play.golang.org/p/9U22NfrXeq )
Son deuxième avantage est la simplicité et le cadre très rigide du formatage du code qui permet un partage facile entre devs surtout en milieu open source avec des centaines de devs (certains n’aiment pas ca, moi j’adore).
#9
#10
#11
Sinon j’ai un collègue de travail qui taffe beaucoup avec ce langage : https://blog.zenithar.org/
#12
#13
Encore un billet sur Go 1.6 ?
>https://www.nextinpact.com/news/98195-go-1-6-langage-google-souvre-a-android-x86…
Sérieusement ?
Et sans la moindre info supplémentaire depuis le billet précédent, posté au début du mois, il y a 20 jours ?
C’est une blague ? " />
C’est quoi l’idée au juste, Monsieur Hermann ?
#14
Je parle système au sens large, pas forcement drivers ou autre ni meme OS.
Docker n’est pas une application systeme pour toi donc ?
Apres on peut jouer des heures sur la définition d’un “langage système” ou de la nécessité ou pas de programmer tout les composants d’un OS avec un seul langage.
ethttps://golang.org/doc/faq#Origins confirme clairement l’intention.
#15
" />" />
ben y’a 20 jours c’était la RC, là c’est la version finale.
Critiquer c’est marrant, mais faut lire avant. " />
#16
#17
Puis un jour des pubs vont surgir dans vos applications développées en Go.
#18
justement ca me tentait de partir sur une nouvelle techno, et je suis trés peu emballé par node.js qui semble incontournable.
Est ce que Go serait un remplacant de choix selon vous ?
#19
#20
C’est pas vraiment fait pour faire la même chose, mais bon, c’est toi qui voit :-/
#21
D’accord, merci, en lecture rapide, j’avais cru comprendre qu’ils étaient sur les même créneaux. Je vais sérieusement étudier ça, j’aimerais bien ne pas partir sur un truc mort-né qd même :)
#22
Les rédacteurs du même site qui nous avertit à chaque évolution dans le fast ring de Windows 10 ?
#23
Après tout dépend de tes besoins :-)
Si tu as besoin des websocket ou de mongoDB par exemple, il vaudra mieux se tourner vers Nodejs.
Et tous les modules et framework disponibles pour NodeJS sont vraiment un plus.
Par contre le côté asynchrone du JavaScript peut compliquer la programmation.
Go m’a l’air pas mal pour faire des applications en ligne de commande, comme le C.
#24
Choupinet, c’est toi? " />
#25
#26
Pour ma part, je ne me sens pas persécuté.
Au contraire, je donnais juste un (contre-)exemple là où tu as fait plus détaillé.
#27
Ah, au temps pour moi, j’ai cru que ^^
Vu qu’il y en as qui ralent qu’il y ait des news à presque chaque build insider, tandis qu’il y as une 40/50ene de coms à chaque fois ( indicateur comme quoi ça intéresse les lecteurs ).
#28
#29
Même pour ce cas particulier les 2 articles ont chacun leur intérêt propre.
Pour celui qui suit de près le langage, c’est intéressant de pouvoir commencer à voir tout de suite s’il trouvera effectivement dedans ce qu’il attend.
Pour ma part, je ne me suis pas senti concerné.
Celui qui suit de près le langage a déjà remarqué parce que depuis la sortie de la RC il est chaud sur le sujet.
Pour ma part, je jette un œil histoire de savoir si je dois ajouter le Go à la liste des outils à envisager … éventuellement.
#30
#31
Par «suivre de près», je ne voulais pas dire «consulter tous les jours le site golang pour voir ce qu’il y a de neuf» mais utiliser et connaitre suffisamment le langage pour être intéressé par les éventuelles nouveautés.
Pourquoi ? Parce que pour suivre l’actualité quotidienne, il y a PCnextinpact.
#32
#33
oops, j’ai gaffé.
Je ne comptais continuer la conversation, parce que nous avons chacun présenté nos arguments, constaté que nous resterons sur notre position, le tout avec douceur et politesse.
Je comptais donc clore par une plaisanterie, mais j’ai oublié le smiley (ci-dessous), my bad !
" />