- Le site officiel, golang.org a été refait : il est plus complet et la navigation est plus simple.
- La prise en charge de Go dans GCC a été commitée et sera donc incluse dans la prochaine version de GCC, la 4.6.
- Tous les tests sont maintenant au vert pour l'architecture ARM et le portage vers Windows avance
- La spécification du langage évolue : arrivée de recover, nouvelle syntaxe pour les fonctions avec un nombre variable d'arguments, simplification de la syntaxe pour les types composites, etc.
- De nouvelles commandes sont disponibles, dont goinstall, un gestionnaire de paquets qui peut, entre autres, installer des paquets depuis GitHub, Bitbucket, Launchpad et Google code et goplay qui permet de tester Go depuis un navigateur web.
- Rob Pike a fait une présentation très intéressante : The Expressiveness Of Go (PDF).
Quelques nouvelles rapides du langage Go
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.
Go : Un nouveau langage chez Google
- 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 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.
Journal Go : Un nouveau langage chez Google
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 (…)
Journal Plan9 & 9Front: Le front tombe!
Plan9, le système d'exploitation expérimental et distribué de Bell Labs a fait l'objet d'un fork par des membres de la communauté 9front, afin que le développement de Plan9 continue « même si les ressources de plus en plus rares présentes à Bell Labs pour Plan9 finissent par disparaître » (« This true community‐approach allows further development of Plan 9, even if the shrinking resources at Bell‐Labs for Plan 9 are vanishing »).
Plan9 a d'abord été développé par Rob Pike et (…)
Revue de presse — novembre 2012
Ceux qui ne sont pas encore passés par leur marchand de journaux ce mois‐ci peuvent actuellement trouver en kiosque les magazines suivants :
- GNU/Linux Magazine № 154 sur le déploiement d'un serveur DNS avec Bind ;
- Linux Pratique № 74 avec Ansible pour la gestion de vos serveurs ;
- Planète Linux № 71 dégaine le premier sur Ubuntu 12.10 ;
- GNU/Linux Magazine hors‐série № 63, sur le Go (le langage, pas le jeu !) ;
- MISC № 64 consacre son dossier aux firewalls ;
- Linux Inside № 9.
Et toujours trouvable en kiosque, pour les retardataires : Linux Essentiel № 28, MISC hors-série № 6 sur la cryptographie et Linux Pratique hors‐série № 25 (HTML 5).
Bonnes lectures !
NdM : La revue de presse est ouverte et collaborative. Merci à Xate, pour sa participation ce mois‐ci. Si vous voulez parler de votre magazine préféré, ou prendre en charge un magazine spécifique, n’hésitez pas à nous rejoindre sur l’espace de rédaction de LinuxFr.org. Nous pourrons même vous faire gagner un abonnement au magazine choisi !
Le point sur les avancées de Google Go
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.
Journal Dennis Ritchie est mort
On ne le présente plus: le langage C, Unix.
Il est mort le week-end dernier (8 ou 9 octobre 2011).
La nouvelle a été rendue publique par Rob Pike:
https://plus.google.com/u/0/101960720994009339267/posts/ENuEDDYfvKP?hl=en
Reposez en paix Mr Ritchie, et merci pour tout.