Par Didier Girard, @didiergirard, CTO de SFEIR
SFEIR 2016 : 300 personnes
Pourquoi Golan ?
-
simple, facile à lire
-
facile à apprendre : retour de Didier, 5 soirées pour être autonome
-
va à l’essentiel
-
d’où contribution facile
-
communauté sympathique (guideline de bonne conduite)
Éléments du langage :
-
Go n’est pas objet, se rapproche du C
-
defer pour "déférer" une action (comme la fermeture d’un fichier)
-
return de multiples valeurs possible
-
Go n’est pas DRY (Don’t Repeat Yourself) → il va y avoir de la duplication de code
-
Pas d’héritage en Go (il faut passer par la composition )
-
pas de generics
-
pas d’exceptions ! On fait un return (d’où le return multiple)
-
pas de système de packaging / versioning
-
pas D’IDÉE
-
pas de debugging facile
Avantages :
-
compile vite
-
pas BESOIN d’un IDE
-
gofmt
: outil pour formater le code (normaliser, utilisation obligatoire pour contribuer) -
binaires de petite taille
Pour Didier, le cloud n’est pas une révolution en lui même.
Ses buzz words sont plutôt : cloud / multi-core / container
-
Docker est écrit en Go !
-
Point important de la technologie : paiement à l’usage
-
Go est pensé pour le multi-core.
-
Java / C# et Co ont été codés pour du mono core
-
-
Mot clé "go" pour forcer la création d’une nouvelle go routine
-
c’est ce mot clé qui a donné son nom au langage
-
-
Réflexion : quel intérêt de gagner 10 ms (démarrage container) quand l’application se lance en 10 sec…
-
Idéal : démarrer son container de façon transparente en fonction de la demande (les requêtes en entrée )
De ce côté, Didier met très en avant AppEngine
Mot de la fin :
-
Kernighan a écrit "the C langague", ET a également écrit "the Go Programming Langague"
-
Go va être le langage enseigné pour apprendre la programmation distribuée.
-
Baidu : 100 000 000 000 de requêtes encaissées en Go quotidiennement
-
Autres utilisateurs : Dropbox, Uber
-
Début du blog "ongolang" par Didier et Guillaume Laforge.
IDE conseillé : Visual Studio Code (rien à voir avec le Visual Studio "classique" de MS)
David Gageot : "écrire des tests en Go, c’est concept…"
-
Comme IDE : Visual Studio Code semble être de plus en plus à la mode.
-
Sinon, on a aussi IntelliJ, Atom, Emacs, Vim, Sublime
-
-
David : Go
dep
est… un enfer-
Tout ce qui est le versioning / packaging est compliqué (idem pour la gestion de dépendances)
-
-
La communauté Go devrait VERSIONNER ses packages (avec la version DANS le nom du package)
-
En Go on ne dépend QUE du code source, pas de binaires
→ conséquence : la compilation est rapide, mais PAS le linking