Depuis leur ajout en mars au langage de programmation Go, les génériques ont été rapidement adoptés, même si les développeurs se heurtent à certaines limites de l'implémentation initiale. C’est ce que montre l'enquête Go Developer Survey 2022 Q2 Results publiée le 8 septembre. D’après les résultats, la majorité des personnes interrogées (86 %) savaient que les génériques avaient été inclus dans la version 1.18 de Go, et 26 % d’entre elles ont déclaré avoir déjà commencé à les utiliser dans leur code Go. Enfin, plus de la moitié des personnes interrogées (54 %) se disent prêtes à utiliser des génériques, mais n'en ont pas encore un besoin spécifique.
Un plus petit groupe (8 %) aimerait utiliser les génériques, mais se dit empêché, soit par une limitation de leur implémentation actuelle (30 %), soit par une limitation des outils de support comme les linters (26 %), soit parce qu’ils trouvent la courbe d'apprentissage trop abrupte ou qu’ils manquent de documentation (12 %). Parmi les limitations de l'implémentation actuelle, les développeurs interrogés pointent un manque de méthodes paramétrées, la nécessité d'améliorer l'inférence de type, et un besoin de commutation sur les types. Certains ont déclaré que la syntaxe générique était difficile à utiliser.
D'autres enseignements
Présenté comme le changement le plus important du langage Go depuis ses débuts en 2012, les génériques permettent aux développeurs d'écrire du code indépendant des types spécifiques utilisés. Les génériques peuvent fournir des blocs de construction pour partager et réutiliser le code et faciliter la construction de programmes.
Réalisée au mois de juin, l'enquête Go Developer Survey 2022 Q2 a obtenu 5752 réponses.
L’enquête met aussi en évidence les éléments suivants :
- La satisfaction globale à l'égard de Go reste très élevée, 93 % des répondants se disant très satisfaits (63 %) ou plutôt satisfaits (30 %). Seuls 4 % ont déclaré être insatisfaits.
- Le fuzzing, un type de test automatisé qui manipule en permanence les entrées pour localiser les bogues, est nouveau pour la plupart des développeurs Go. Par rapport aux génériques, beaucoup moins de développeurs savent que ces tests de fuzzing ont été intégrés à Go.
- La gestion des erreurs reste un défi. Cette question arrive en tête des défis de Go après la sortie des génériques.
- Les dépendances avec des tiers sont une préoccupation majeure en matière de sécurité.
En août dernier, une version 1.19 de Go a succédé à la version 1.18. Elle améliore les performances du code générique et introduit un modèle de mémoire aligné sur celui des langages C, C++, Java, JavaScript, Rust et Swift.
Commentaire