Retour d'événement : Premier Meetup Go sur Lyon

Nous avions récemment communiqué sur l'organisation d'un premier meetup Go sur Lyon. En plus de nous tenir à jour sur les derniers événements, nous y étions. En voici un résumé.

Attention, cet article date de plus de 2 ans maintenant... Il est possible que les infos publiées ne soient plus correctes aujourd'hui...

Ce Meetup était organisé à la Cordée Perrache par un ancien collaborateur WanadevPierre-Yves Jamon. Cette rencontre était présentée par Samuel Rats, un habitué de ce type d'évènements et qui s'est chargé de réaliser cette première présentation de Go, le nouveau langage de Google.

La présentation

Il faut avouer que mes quelques connaissances de C/C++ m'ont aidées à comprendre les fonctionnalités développées par Google, bien que je n'ai jamais manipulé ou même lu ce néo-langage. Le format de ce Meetup a permis à chacun de poser des questions ouvertes où les plus développeurs Go les plus aguerris pouvaient répondre.

Voici ce que je retiens des principaux points abordés :

  • Les interfaces en Go reprennent le principe d'interface que l'on trouve en Java, PHP ou autres. Une interface permet de déclarer des prototypes de méthodes qui devront être déclarées par les structures les implémentant. J'insiste sur structures car Go, contrairement à ce que j'avais pu entendre, n'est PAS un langage objet. Il se place par conséquent sur le même segment que le C, mais ne présentera pas les mêmes architectures que pour un code C++.

  • Les channels pourraient être comparées à un pipe en C. Les « go-rus » diront probablement que ce que j'avance est faux, mais ce que j'ai pu comprendre durant ce Meetup est que les channels permettent à un processus Go de facilement communiquer avec d'autres processus. Les channels fonctionnent un peu à la manière d'un buffer : une tâche envoie des données, une autre les reçoit.

  • Les goroutines quant à elles, pour reprendre les explications d'un participant, sont des « threads légers ». Vous connaissiez le principe du fork ainsi que le principe de thread, il existe désormais les goroutines qui sont plus légères que des threads. Cette fonctionnalité est intégralement gérée par Go. Elle permet de déclarer l'appel d'une fonction. Celle routine ne sera exécuté que lorsque l'ordonnanceur Go déterminera qu'il s'agit du moment le plus approprié. Comprenez que la goroutine se lance à un moment où le programme est le plus disponible.

    Conclusion

    Je retiendrai de ce Meetup, que Go n'est PAS un langage objet et qu'il convient pour certains types de besoins comme des backend. Sa principale force est de proposer des outils et des fonctionnalités faciles à utiliser, là où le C demande plus de temps de mise en place. C'est la jeunesse du langage et les nombreuses fonctionnalités permettant de simplifier l'écriture du code qui doivent nous séduire avant tout.

Nous sommes novices sur ce langage, c'est pourquoi nous serions très intéressés par d'éventuels retours ou précisions sur ce billet, de la part des développeurs plus chevronnés dans ce domaine.

Les documents de présentation du Meetup Golang Lyon sont disponibles ici.

Tags de
l'article

Cet article n'est pas taggué.

Commentaires

Il n'y a actuellement aucun commentaire. Soyez le premier !

Articles liés