L’équipe de Go a récemment publié les résultats de son enquête semestrielle auprès des développeurs, fournissant des informations précieuses sur l’utilisation du langage de programmation Go et les défis auxquels sont confrontés les développeurs. L’enquête, qui s’est déroulée de mi-juillet à mi-août 2023, a permis de recueillir les retours d’expérience des développeurs et de mieux comprendre les piles technologiques couramment utilisées avec Go, l’intérêt pour les outils de développement en IA/ML, les défis liés à la construction de microservices, et plus encore.Go est un langage de programmation compilé et concurrent inspiré de C et Pascal. Développé par Google, Go veut faciliter et accélérer la programmation à grande échelle : en raison de sa simplicité il est donc concevable de l'utiliser aussi bien pour écrire des applications, des scripts ou de grands systèmes. Cette simplicité est nécessaire aussi pour assurer la maintenance et l'évolution des programmes sur plusieurs générations de développeurs.
S'il vise aussi la rapidité d'exécution, indispensable à la programmation système, il considère le multithreading comme le moyen le plus robuste d'assurer sur les processeurs actuels cette rapidité tout en rendant la maintenance facile par séparation de tâches simples exécutées indépendamment afin d'éviter de créer des « usines à gaz ». Cette conception permet également le fonctionnement sans réécriture sur des architectures multicœurs en exploitant immédiatement l'augmentation de puissance correspondante.
Environnements de développement
Comme les années précédentes, la majorité des personnes interrogées ont déclaré travailler avec Go sur les systèmes Linux (63 %) et macOS (58 %). De petites variations de ces chiffres d'une année à l'autre dépendent très probablement de qui trouve et répond à cette enquête (en particulier sur le blog Go), car l'équipe n'a pas observé de tendances cohérentes d'une année sur l'autre dans l'échantillon aléatoire provenant de VS Code.
Nous continuons de constater que les nouveaux membres de la communauté Go sont plus susceptibles de travailler avec Windows que les développeurs Go plus expérimentés. Nous interprétons cela comme un signal selon lequel le développement basé sur Windows est important pour l'intégration de nouveaux développeurs dans l'écosystème Go, et c'est un sujet sur lequel notre équipe espère se concentrer davantage en 2024.
Les personnes interrogées continuent de se concentrer fortement sur les déploiements Linux. Compte tenu de la prédominance de Go pour le développement cloud et les charges de travail conteneurisées, cela n’est pas surprenant mais reste une confirmation importante. L'équipe a trouvé peu de différences significatives basées sur des facteurs tels que la taille de l'organisation ou le niveau d'expérience; en effet, même si les développeurs Go novices semblent plus susceptibles de développer sur Windows, 92 % d'entre eux continuent de déployer sur des systèmes Linux. La conclusion la plus intéressante de cette analyse est peut-être que les développeurs Go plus expérimentés ont déclaré qu'ils déployaient sur une plus grande variété de systèmes (notamment WebAssembly et IdO), bien qu'il ne soit pas clair si cela est dû au fait que de tels déploiements sont difficiles pour les nouveaux développeurs Go ou au fait que des développeurs Go expérimentés utilisent Go dans un plus large éventail de contextes. L'équipe a également observé que l'IdO et le WebAssembly ont augmenté régulièrement ces dernières années, chacun passant de 3 % en 2021 à 6 % et 5 % en 2023, respectivement.
Le paysage de l’architecture informatique a changé au cours des dernières années, et cela se reflète dans les architectures actuelles avec lesquelles les développeurs Go disent travailler. Si les systèmes compatibles x86 représentent encore la majorité des développements (89 %), ARM64 est également désormais utilisé par une majorité des répondants (56 %). Cette adoption semble être en partie motivée par Apple Silicon ; Les développeurs macOS sont désormais plus susceptibles de déclarer qu'ils développent pour ARM64 que pour des architectures x86 (76 % contre 71 %). Cependant, le matériel Apple n’est pas le seul facteur à l’origine de l’adoption d’ARM64 : parmi les personnes interrogées qui ne développent pas du tout sur macOS, 29 % déclarent néanmoins développer pour ARM64.
Pile technologique
Pour mieux comprendre le Web de logiciels et de services avec lesquels les développeurs Go interagissent, l'équipe a posé plusieurs questions sur les piles technologiques. Et de donner des précision :
Nous partageons ces résultats avec la communauté pour montrer quels outils et plates-formes sont couramment utilisés aujourd'hui, mais nous pensons que chacun devrait prendre en compte ses propres besoins et cas d'utilisation lors de la sélection d'une pile technologique. Plus clairement : nous n’avons pas l’intention que les lecteurs utilisent ces données pour sélectionner des composants de leur pile technologique parce qu’ils sont populaires, ni qu’ils évitent les composants parce qu’ils ne sont pas couramment utilisés.
Les bases de données sont des composants extrêmement courants des systèmes logiciels. 91 % des personnes interrogées ont déclaré que les services Go sur lesquels ils travaillent en utilisaient au moins un. Le plus souvent, il s...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.