Journée d’un neophyte a la dotGo 2015
Hier se tenait la dotGo 2015, la conférence européenne majeure sur le langage GO.
Pour moi, ça a été l’occasion de découvrir un nouveau langage et sa communauté dans le cadre magnifique du Théâtre de Paris.
Le format proposé est composé d’une session en matinée, je dirais moins technique mais idéale comme mise en train pour un néophyte comme moi, puis trois sessions dans l’après-midi.
Les sujets évoqués sont très variés :
- Les micro-services (un sujet à la mode en ce moment)
- L’outillage de développement go (go toolings)
- Go comme outils de développement social
- L’expérimentation approche fonctionnelle en go
- Gopy une extension de python en go
- L’architecture, simulation et performances
- La sécurité et l’encryptage de protocole
- La transformation de flux par mapping
- Un projet de portabilité browser au travers d’un compilateur go custom
- Le support de http 2
- Une étude pour extraire le « modèle mental » d’un programme
- Les apis de design graphic en go, (svg, Opensvg, Deck)
- La recherche full-text (Bleve)
- L’utilisation de librairies c (en particulier pour Go mobil)
- Une approche élégante de la concurrence (presque objet en fait, j’ai beaucoup aimé)
- Retour d’expérience sur des erreurs un peu tricky à Docker
Un panorama qui m’a permis de percevoir des éléments je pense essentiels de ce langage et de sa communauté : le plaisir de l’expérimentation et le gout de la simplicité.
La simplicité, une vertu mise en avant par Rob Pike, l’un des créateurs du langage, lors de son intervention en fin de conférence et à la veille du 6éme anniversaire du langage go.
Une réflexion sur les langages informatiques et sur ce qui fait le succès de Go. A une heure ou on a souvent surenchère de features dans les langages, qui dans les faits amène plutôt une uniformisation des solutions, il a plaidé pour la différence et l’importance pour le développeur d’avoir différents outils, approches à sa disposition, garder à l’esprit l’objectif initial d’un langage. L’objectif de Go est de fournir un langage procédural simple et propre pour le cloud (distribution, réseau, web). L’accumulation de features c’est l’ajout de complexité et pour un langage un obstacle à la lisibilité. Reprenant alors certaines features essentielles de Go il a mis en valeur l’esprit de simplicité dans lequel elles s’inscrivaient, souvent comme masque à des problématiques complexes d’ailleurs :
- le garbage collect
- la concurrence : goroutines, channels, select
- les constantes
- les interfaces
- les packages
Au final une conférence enrichissante sur un langage qui prône la simplicité qui ne pouvait donc que séduire l’ancien Smalltaker en moi et peut être bien l’inciter à rejoindre bientôt les rangs des gophers.
En conclusion je dirais que moyennant une expérience technique suffisante une conférence n’est sans doute pas le plus mauvais endroit pour découvrir un langage, n’hésitez pas à vous lancer !