gopher_inclusion_by_AshleyMcnamara_small.pngPerformance, robustesse, productivité, simplicité : la réputation de Go n'est plus à faire. Créé il y a plus de 20 ans pour simplifier le développement de monolithes, il s'impose aujourd'hui comme le langage par excellence du web moderne : cloud, micro-services, API, containers. Un langage aux choix de conception marqués, qui agace certains et enthousiasme les autres. Mais aussi, surtout et avant tout, un langage de terrain, qu'on apprend pour les besoins d'un projet, puis qu'on réutilise avec bonheur dès qu'on en a l'occasion.

 

Le langage n'est pas si récent : cette journée qui initia Go eut lieu fin 2007, et l'intention de ses trois créateurs était de ne plus avoir à choisir entre compilation rapide, exécution rapide ou facilité de programmation.
Mais avec la montée du cloud computing, le langage a connu un énorme boom de popularité inattendu quand la communauté s'est aperçue qu'il était non seulement extraordinaire pour de la programmation proche du système, mais aussi pour construire de très performants micro-services, pièces indispensables des architectures orientées services.
Cette utilisation pour les systèmes web à grande échelle n'est pas très surprenante quand on sait que le langage a été créé par Google, et donc pour résoudre les problèmes de monolithes web que l'on connaît à Google. En 2012, Rob Pike disait en conférence que "Go is a programming language designed by Google to help solve Google's problems, and Google has big problems [Go est un langage de programmation conçu par Google pour aider à résoudre les problèmes de Google, et Google a de gros problèmes]."
Il a dit aussi que "The goals of the Go project were to eliminate the slowness and clumsiness of software development at Google, and thereby to make the process more productive and scalable [Les objectifs du projet Go étaient d'éliminer la lenteur et la maladresse du développement logiciel à Google, et donc de rendre ce processus plus productif et scalable]." Des problèmes en commun avec ceux solutionnés par les architectures orientées services, qui ont donc fini par trouver en Go une technologie de prédilection.

— Extrait du livre Programmer en Go : Pourquoi ? Comment ?

 

"Go est un langage qui facilite la collaboration et le développement rapide d’applications" – Interview de Sébastien Friess, cofondateur de frenchgo.fr

"Avec Go, on est rapidement très productif sans pour autant négliger les performances" – Interview de Benjamin Coenen, développeur fullstack

"Il n’y a aucun langage avec lequel j’ai une relation aussi passionnante et enrichissante qu’avec Go" – Interview de Rudy Rigot, auteur du livre Programmer en Go: Pourquoi? Comment?