
Le projet derrière Go, un langage de programmation open source développé au sein de Google, a interrogé des milliers de développeurs de logiciels pour découvrir quelle technologie ils utilisent et les points faibles de l’utilisation du langage.
Go – que Google a construit pour le grand informatique distribué et publié il y a un peu plus de dix ans – est devenu l’un des langages les plus populaires du monde de la technologie, se classant actuellement au 14e rang dans la liste des principales langues de RedMonk.
Outre Google, les autres grandes entreprises qui utilisent Go aujourd’hui incluent Netflix, American Express, Salesforce, IBM, Target, Twitch, Twitter, Uber et Dropbox.
Google le décrit comme “syntaxiquement similaire à C, mais avec les avantages supplémentaires de la sécurité de la mémoire, de la récupération de place, du typage structurel et de la concurrence de type CSP”.
VOIR: Comment bâtir une carrière de développeur réussie (PDF gratuit)
Le projet Go a maintenant publié les résultats de son enquête de 2019 auprès de 10 975 utilisateurs de Go, dont la plupart utilisent Go quotidiennement. Il a révélé que 86 % des personnes interrogées estiment que Go fonctionne bien pour leurs équipes et que 89 % aimeraient l’utiliser pour leur prochain projet, ce qui montre peu de changement depuis 2016.
Les développeurs Go sont satisfaits des aspects de performance qu’ils jugent importants, notamment la vitesse de construction, l’utilisation du processeur, la fiabilité, la prise en charge de l’éditeur et l’empreinte mémoire. Les domaines dont ils sont moins satisfaits incluent le débogage, l’utilisation de services cloud et l’utilisation de modules.
Les principaux autres langages parmi les utilisateurs de Go sont Python, Rust, Java, C#, JavaScript, TypeScript, C, C++ et Kotlin. Il y a aussi Ruby, PHP, Scala, Swift et Bash.
Ces préférences n’ont pas beaucoup changé au fil des ans, avec le TypeScript et Rust, qui enregistrent tous deux une augmentation du nombre d’utilisateurs de Go qui les trouvent attrayants. Cependant, la plupart des développeurs Go préfèrent Python.
Quelque 66 % des programmeurs Go utilisent le langage pour le développement Web, tandis que 45 % l’utilisent pour créer des bases de données, 42 % l’utilisent dans la programmation réseau, 38 % l’utilisent dans la programmation système et 37 % utilisent Go dans DevOps.
Les utilisateurs de Go suivent largement les nouvelles versions de Go, 75 % d’entre eux passant à la dernière version pour une utilisation en production dans les cinq mois suivant sa sortie, et 12 % au cours de la première année. Todd Kulesza de Google a déclaré que cette tendance soulignait “l’importance pour les fournisseurs de plate-forme en tant que service de prendre en charge rapidement les nouvelles versions stables de Go”.
La question de la prise en charge de Go par les principaux fournisseurs de cloud a affecté l’attitude des développeurs Go envers Amazon Web Services, Google Cloud Platform (GCP) et Microsoft Azure.
Beaucoup moins de développeurs Go sont satisfaits du développement Go sur Azure par rapport à AWS et GCP. Seuls 57 % des utilisateurs d’Azure sont satisfaits, contre 80 % pour AWS et 78 % pour GCP. Un quart des réponses en texte libre ont noté le manque de support de première classe d’Azure pour Go, ce qui signifie qu’Azure ne se tient pas au courant des dernières versions et fonctionnalités de Go.
Néanmoins, l’utilisation des trois grands fournisseurs de cloud est en hausse dans tous les domaines, mais AWS a toujours une énorme avance sur ses rivaux, avec 42 % des répondants qui y déploient des programmes Go, ce qui correspond presque aux 44 % qui les déploient sur leurs propres serveurs. Quelque 24 % des répondants déploient du code Go sur GCP, tandis que 7 % déploient Go sur Azure.
Mais l’éditeur populaire de Microsoft, Visual Studio Code (VS Code), reste le choix le plus populaire pour les développeurs Go, avec 41 % de ceux qui l’utilisent. Cependant, GoLand est passé de 24% l’an dernier à 34%. Les deux éditeurs sont utilisés par 75 % de la population de développeurs Go.
L’ordre des systèmes d’exploitation que la plupart des développeurs Go utilisent pour la construction est Linux, macOS et Windows. Un troisième rapport utilise uniquement Linux, 26 % n’utilisent que macOS, 23 % utilisent macOS et Linux, 9 % utilisent Linux et Windows et 6 % n’utilisent que Windows.
La principale raison pour laquelle les utilisateurs de Go n’utilisent plus Go est qu’ils travaillent sur un projet écrit dans une autre langue, mais un quart des utilisateurs signalent que Go manque de fonctionnalités critiques et près de 80 % d’entre eux citent des génériques ou le manque de types génériques de Go. , tandis que 22 % ont déclaré avoir besoin d’une meilleure gestion des erreurs, et 13 % souhaitent davantage de fonctionnalités de programmation fonctionnelles.
VOIR: Problème d’adoption du langage de programmation Rust : les développeurs révèlent pourquoi davantage ne l’utilisent pas
Ce résultat ne surprendra pas l’équipe Go de Google, qui a déclaré l’année dernière que les trois principaux obstacles pour Go étaient la gestion des packages et des versions, une meilleure prise en charge de la gestion des erreurs et les génériques. Les plaintes concernant le manque de programmation générique existent depuis la sortie de Go et c’est la principale plainte des enquêtes auprès des utilisateurs de Go au cours des quatre dernières années.
“Tous trois sont des domaines d’intérêt pour l’équipe Go cette année, et nous espérons améliorer considérablement l’expérience des développeurs, en particulier autour des modules, des outils et de l’expérience de démarrage, dans les mois à venir”, a déclaré Kulesza de Google.
Ian Lance Taylor de Google a discuté des avantages et des inconvénients des génériques dans Go lors du Gophercon de l’année dernière et a publié une proposition de conception pour cela.
Mais il a noté que Google visait à rendre “possible d’écrire les types de code générique dont j’ai parlé aujourd’hui, sans rendre le langage trop complexe à utiliser ou sans qu’il ne ressemble plus à Go”.
Un quart des utilisateurs pensent que Go manque de fonctionnalités essentielles et près de 80 % d’entre eux citent des génériques ou le manque de types génériques de Go. Image : Projet Go
La question de la prise en charge de Go par les principaux fournisseurs de cloud a affecté l’attitude des développeurs Go envers Amazon Web Services, Google Cloud Platform (GCP) et Microsoft Azure. Image : Projet Go