Le langage Go fête ses 4 ans

Posté par . Édité par Xavier Claude, Florent Zara, Benoît Sibaud et Bruno Michel. Modéré par patrick_g. Licence CC by-sa
57
13
nov.
2013
Golang

Le langage Go, parfois nommé Golang et créé principalement par Robert Griesemer, Rob Pike et Ken Thompson (des grands noms, que dis-je, des légendes du monde UNIX), chez Google, vient de fêter ses 4 ans. Le langage semble commencer à trouver des applications dans des projets de grande envergure, au delà de projets internes à Google. Pour un langage relativement jeune, c'est encourageant.

logo Go

NdM : 2 composants de LinuxFr.org sont codés en Go, img et epub.

Retour d'expérience sur Go

Posté par . Édité par baud123, Xavier Claude, Nÿco et B16F4RV4RD1N. Modéré par Xavier Claude. Licence CC by-sa
52
16
mai
2012
Golang

Je viens de finir un petit projet en Go la semaine dernière, un assembleur vers du MIPS simplifié. Voici un petit retour d'expérience, en espérant que ça serve !

NdM : merci à G.bleu pour son journal.

Sortie d'une première version stable de Go

Posté par (page perso) . Édité par Nÿco. Modéré par Benoît Sibaud. Licence CC by-sa
Tags :
48
9
avr.
2012
Golang

Go est un langage de programmation généraliste, sous licence BSD, à typage statique, disposant d'un ramasse-miettes et de facilités pour gérer la concurrence. Ses avantages sont d'être concis et expressif, de compiler très rapidement et de proposer les performances d'un langage compilé avec la souplesse d'un langage interprété.

Après deux ans et demi de développement, la première version stable du langage Go, nommée Go 1, est sortie. Elle vise à apporter de la stabilité sur les prochaines années pour les utilisateurs du langage, mais aussi pour les auteurs, qui vont ainsi pouvoir écrire des livres dont les exemples et explications continueront d'être valables bien après leur sortie. En particulier, cela implique une compatibilité garantie de tout programme écrit avec la version 1.0 vers toutes les versions 1.x.

Notons que le langage a fortement évolué depuis les premières annonces et que son positionnement a également été revu. Par exemple, Go était initialement vendu comme un langage de programmation système mais il est maintenant décrit comme un langage généraliste, ce qui correspond mieux à l'utilisation qui peut en être faite. Autre changement, Go était au départ un projet de Google mais il n'y a plus, aujourd'hui, de mention de Google sur la page d'accueil du site officiel. Cela ne veut pas dire que Google se désintéresse de Go (pour preuve, il est utilisé pour des composants critiques comme vitess pour Youtube) mais que les auteurs du langage souhaitent mettre en avant la communauté qui s'est construite autour du langage.

Des binaires pour Go 1 sont fournis sur le site officiel pour Linux, FreeBSD, Mac OS X et Windows au cas où votre distribution ne fournirait pas encore de paquets officiels.

NdM : merci à Xavier Claude pour la rédaction d'une dépêche sur le même sujet qui a été intégrée à celle-ci.

Quelques nouvelles rapides du langage Go

Posté par (page perso) . Modéré par Xavier Teyssier. Licence CC by-sa
Tags :
35
23
mar.
2011
Golang

Go devient plus stable : de nouvelles versions de Go sortent régulièrement, en moyenne une fois par semaine. C’est un rythme soutenu qui ne convient pas à tout le monde. Les développeurs de Go ont donc décidé de continuer ces versions sous le nom de weekly, mais de publier également des versions stables tous les un à deux mois. Ces versions seront soigneusement choisies et annoncées sur la nouvelle liste, golang‑announce.

Gorun est un outil qui permet de lancer en ligne de commande des « scripts » écrits en Go. Il suffit de mettre « #!/usr/bin/gorun » en 1re ligne (Shebang) pour que le script écrit en Go puisse être lancé directement.

Cgo est un outil qui permet de compiler du code Go qui utilise des bibliothèques en C. Il fonctionne, pour le moment, avec le compilateur Go de Google, mais il est aussi prévu de prendre en charge le back‑end Golang de GCC.

Quelques nouvelles de Go, le langage de programmation

Posté par (page perso) . Modéré par patrick_g.
37
5
déc.
2010
Golang
Le langage de programmation Go suit son chemin. Voici quelques faits marquants depuis la précédente dépêche sur LinuxFr.org :

Le point sur les avancées de Google Go

Posté par (page perso) . Modéré par Xavier Teyssier.
19
29
mar.
2010
Golang
Le langage Go (sous une licence de type BSD) est issu d'une discussion entre Ken Thompson (un des auteurs d'Unix et d'UTF8) et Rob Pike (un des auteurs de Plan9 et d'UTF8). Rob Pike a pu monter une équipe chez Google pour travailler dessus, et en novembre 2009, une première version a été dévoilée au reste du monde.

Depuis, le développement continue d'avancer à un bon rythme. Des versions sont publiées tous les 10 à 15 jours.

Dernièrement, une proposition pour un mécanisme similaire aux exceptions a été discuté sur la liste de diffusion. C'est un exemple très révélateur de la manière d'avancer de l'équipe en charge de Go : ils ne se précipitent pas pour ajouter des fonctionnalités présentes dans d'autres langages parce qu'elles sont très demandées. Ils prennent le temps de réfléchir à chaque problème, et quand ils ont trouvé une piste qui semble pouvoir répondre à leurs exigences, ils publient une proposition sur la liste de diffusion. Il s'en suit des discussions qui permettent de raffiner la proposition et, sauf surprise, la proposition est intégrée dans la version suivante.

Côté communication, l'essentiel se passe sur le canal IRC #go-nuts sur freenode et sur la liste de diffusion Go-nuts. Un wiki a récemment été mis en place pour regrouper des informations sur l'écosystème de Go. Quelques jours plus tard, un blog officiel a suivi. Enfin, un dashboard permet de voir l'état des compilations sur les différentes architectures supportées.

Globalement, les personnes qui ont essayé Go semblent convaincues que ce langage est promis à un grand avenir.

Go : Un nouveau langage chez Google

Posté par (page perso) . Modéré par Florent Zara.
29
12
nov.
2009
Golang
Le langage Go (sous une licence de type BSD) est issu d'une discussion entre Ken Thompson (un des auteurs d'Unix et d'UTF8) et Rob Pike (un des auteurs de Plan9 et d'UTF8). Nous avons donc affaire a de vrais barbus, des légendes de la communauté des codeurs ce qui explique la curiosité qui entoure ce projet de nouveau langage. Comme Rob Pike travaille chez Google c'est donc avec le puissant soutien de son employeur que le langage Go a été développé avec les contraintes suivantes :
  • Go doit pouvoir être utilisé pour de la programmation système donc c'est un langage compilé et pas interprété ;
  • La compilation doit être très rapide pour faciliter le développement des projets (l'analyse des dépendances permet une compilation en quelques secondes) ;
  • La syntaxe doit être assez proche du C tout en corrigeant ses défauts les plus criants ;
  • La gestion de la mémoire doit être automatique (garbage collector) ;
  • Le typage doit être statique mais il n'y a pas de hiérarchie des types pour simplifier le langage ;
  • La programmation concurrente (pour exploiter les multicores) doit être intégrée au cœur du langage ; cela se fait par l'intermédiaire des « goroutines » qui sont plus légères que les threads ;
Go est le résultat de la très longue expérience de Thompson et Pike et les auteurs semblent assez fiers de leur rejeton :
« Go has fast builds, clean syntax, garbage collection, methods for any type, and run-time reflection. It feels like a dynamic language but has the speed and safety of a static language. It's a joy to use. »

La FAQ du projet évoque les questions générales et une FAQ spécifique est dédiée au langage lui-même. Un tutoriel est aussi disponible avec, pour mettre en évidence le support d'UTF8, un assez inhabituel « Hello, world; or Καλημέρα κόσμε; or こんにちは 世界 ».

Pour l'instant les remarques sur le web se concentrent sur des points de détail : la syntaxe qui ne plaît pas à tous le monde, l'absence de telle ou telle fonction (comme les exceptions), etc.
Il faut attendre un peu pour que la poussière retombe et pour avoir des analyses qui se concentrent sur les apports spécifiques du langage : les goroutines, la segmentation de la pile d'exécution, la compilation rapide, etc. Il sera également intéressant de lire des comparaisons détaillées avec les autres langages qui veulent s'attaquer au C en apportant des innovations techniques (comme par exemple le langage D).

NdM : Merci à patrick_g pour son journal à l'origine de la dépêche.