Pourquoi je crois en Golang


En 2009, Google dévoile un langage de programmation dont le début de la conception remonte à 2007. À la tête de ce projet, Robert Griesemer, Rob Pike, et Ken Thompson, qui continue d’innover sans relâche à 73 ans, après nous avoir déjà tant offert. Malheureusement, si la nouvelle fait grand bruit, peu de projets adoptent ce nouveau venu, nommé Go mais plus souvent désigné par Golang, pour éviter toute confusion. Sept ans après ses débuts officiels, je crois plus que jamais que Golang apporte des solutions aux problématiques actuelles. Voici pourquoi.

Golang était-il trop en avance sur son temps ? C’est bien possible. Conçu pour gérer des datacenters, consommer peu de ressources, exploiter au mieux les CPU modernes à coeurs multiples ou encore faciliter la lecture du code, il répondait à des problématiques qui n’était pas forcément encore au coeur de nos préoccupations il n’y a pas si longtemps.

Quand on analyse la situation, on réalise que l’heure est venue de réévaluer les atouts de Golang, trop longtemps ignoré par beaucoup. Car chaque ère technologique a catalysé le développement d’un ou plusieurs langages : les gros systèmes ont vu naitre le Cobol. Unix, le C. Windows, les L4G. Sans parler du Web qui aura fait exploser PHP, Java, Python, Ruby, JavaScript… Les mutations engendrées par le cloud vont forcément provoquer l’apparition sur le devant de la scène d’un ou plusieurs langages. J’attends depuis des années l’arrivée de ces derniers, capables de nous permettre de développer efficacement sur les nouvelles infrastructures. Et quand on regarde les spécificités du Go, on se dit qu’on a peut-être déjà la solution à portée de la main :

  • il est à la base de tous les outils de l’ère du Cloud : Docker, Kubernetes, etc.
  • il est simple, mais offre nativement tout ce qu’il faut pour développer une plateforme de services.
  • il intègre nativement la concurrence d’accès.
  • il permet de déployer des conteneurs légers… vraiment légers ! À quoi ça sert d’avoir des conteneurs légers s’il faut booter des machines virtuelles (JVM, CLR, V8) énormes en occupation mémoire dedans ?
  • il est idéal pour construire des microservices.
  • il supporte nativement JSON et HTTP (client et serveur).
  • il est poussé par une communauté bienveillante.
  • il va être largement adopté par les universités pour enseigner la programmation concurrente. Dans quelques années, tous les étudiants auront dans leur bibliothèque le nouveau Kernighan, qui après avoir écrit le bestseller « The C Programming Language », vient de sortir « The Go Programming Language ».

Cette liste de points cruciaux démontre que Golang est totalement en adéquation avec nos préoccupations de 2016. Il est capable de résoudre un nombre de problématiques incroyable, des problématiques dont nous n’avions pas forcément conscience en 2009. Est-il la solution parfaite ? Je ne suis pas loin de le penser. Mais une chose est certaine : il est impossible d’imaginer que les langages créés avec les contraintes technologiques d’il y a 20 ans soient capables de répondre aux défis d’aujourd’hui. Il est plus que temps de donner sa chance au Go !

 

Illustration d’intro : Gopher par Renee French (via).

Vous aimerez aussi...