SlashData vient de publier son 23e rapport "State of the Developer Nation", et les nouvelles sont bonnes pour les langages Rust, Kotlin, Java et Python. SlashData a examiné l'état de l'industrie du développement logiciel et a constaté que plusieurs langages connaissent une augmentation quasi météorique de leur adoption. En outre, le rapport révèle à quel point la communauté des développeurs de logiciels évolue sous l'effet de diverses tendances, telles que l'IA, l'apprentissage automatique (ML), la nécessité d'une informatique sans risque pour la mémoire, etc.SlashData informe que la 23e édition de l'enquête mondiale "Developer Nation" s'est déroulée de juin à août 2022 et a touché plus de 26 000 développeurs dans 163 pays. Ce rapport se penche sur les principales tendances des développeurs pour le troisième trimestre 2022 et au-delà. SlashData ajoute : « sauf indication contraire dans le rapport, par "développeurs", nous entendons toute personne qui s'identifie comme étant impliquée dans l'écosystème du développement logiciel, y compris les personnes occupant des rôles commerciaux (par exemple, les chefs de produit, les cadres de niveau C) et créatifs (par exemple, les concepteurs UI/UX) ».
Le rapport se concentre sur six thèmes majeurs - chacun avec ses propres visualisations - montrant comment les données donnent un aperçu de la communauté des développeurs. Il s'agit notamment de : l'état du développement de la blockchain, les principales aspirations professionnelles des des étudiants, les communautés de langages, pourquoi les développeurs contribuent aux projets open source appartenant aux fournisseurs, les types de studios pour lesquels travaillent les développeurs de jeux et enfin, l'essor et le déclin des frameworks Web. Voici ci-dessus les points les plus marquants du 23e rapport de SlashData.
Les communautés de langages
Les langages de programmation sont souvent les noyaux de communautés fortes et le sujet de débats d'opinion. Dans ce chapitre, SlashData fournit des estimations actualisées du nombre de développeurs de logiciels actifs utilisant chacun des principaux langages de programmation, dans le monde entier et pour tous les types de programmeurs. Le rapport révèle que certains langages traditionnels continuent de gagner en popularité, avec des chiffres frappants. Par exemple, la communauté des développeurs Java a presque doublé au cours des deux dernières années, passant de 8,3 millions à 16,5 millions.
Ce chiffre représente près du double de la croissance globale de la communauté mondiale des développeurs. De même, Python compte désormais près de 17 millions de développeurs dans sa communauté, dont 8 millions ont été ajoutés au cours des deux dernières années. Python a bénéficié de l'importance croissante de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML), 63 % des développeurs ML et des scientifiques des données s'appuyant sur ce langage. Malgré la croissance impressionnante de Java et de Python, Rust et Kotlin sont les véritables gagnants, les deux langages ayant connu une hausse importante.
La communauté de développeurs de Rust a plus que triplé en deux ans, passant de 0,8 million à 2,8 millions. La popularité de ce langage est due en grande partie aux performances, à la sécurité de la mémoire et à la sécurité qu'il offre. Il fait même partie des langages recommandés par la NSA, avec Java. Kotlin connaît également une croissance importante, grâce au fait d'être un langage officiel pour le développement d'Android, un langage que Google préfère désormais. En conséquence, la base de développeurs de Kotlin a plus que doublé au cours des deux dernières années, passant de 2,3 millions à 6,1 millions.
Le rapport note toutefois qu'il peut être difficile d'évaluer le degré d'utilisation d'un langage de programmation. Selon SlashData, les index disponibles auprès d'acteurs tels que Tiobe, Redmonk, l'enquête annuelle de Stack Overflow ou l'étude State of the Octoverse de GitHub sont excellents, mais offrent surtout des comparaisons relatives entre les langages, sans donner une idée de la taille absolue de chaque communauté. Elles peuvent également être biaisées géographiquement ou orientées vers certains domaines du développement logiciel ou vers les développeurs open source.
Dans son rapport d'étude, SlashData indique que JavaScript reste le langage de programmation le plus populaire pour la 11e enquête consécutive, avec plus de 19,5 millions de développeurs dans le monde qui l'utilisent. Il est à noter que la taille de la communauté JavaScript n'a cessé de croître au cours des dernières années. Entre le Q3 2020 et le Q3 2022, JavaScript aurait connu une augmentation de 59 %, puisque 7,3 millions de développeurs ont rejoint la communauté - l'une des plus fortes croissances en termes absolus parmi les langages. Les nouveaux développeurs le considèrent comme un langage d'entrée de gamme attrayant.
Cependant, les développeurs existants l'ajoutent également à leurs compétences. La popularité de JavaScript s'étend à tous les secteurs, puisqu'au moins un quart des développeurs de chaque secteur l'utilisent. Le groupe des principaux langages bien établis est complété par C/C++ (12,3 millions), C# (10,6 millions) et PHP (8,9 millions). PHP a connu le taux de croissance le plus faible de tous les langages au cours de l'année dernière, avec une croissance de 22 % seulement, soit 1,6 million de nouveaux développeurs nets. PHP est un choix courant pour les développeurs de cloud computing et les développeurs Web.
Toutefois, SlashData note que sa popularité a diminué, en particulier parmi les développeurs Web, où il est passé du deuxième langage le plus populaire au Q3 2021, derrière JavaScript, au quatrième plus populaire au Q3 2022, Python et Java devenant des choix plus populaires. C et C++ sont des langages centraux dans les projets embarqués et IoT, pour le codage au niveau de l'appareil et de l'application, mais aussi dans le développement mobile et de bureau, qui sont des secteurs qui attirent respectivement 17,7 millions et 15,6 millions de développeurs.
Le C#, quant à lui, a maintenu sa popularité parmi de multiples domaines différents du développement logiciel, en particulier parmi les développeurs de bureau et de jeux. Le couple C/C++ a attiré 4,3 millions de nouveaux développeurs l'année dernière et le C# 2,8 millions au cours de la même période.
L'essor et le déclin des frameworks Web
D'après l'enquête de SlashData, 60 % des développeurs Web utilisent des frameworks côté client ou côté serveur. Environ 12 % des développeurs Web qui utilisent des frameworks déploient leur code à la demande, 8 % ont un délai d'exécution de moins d'une heure et 51 % prennent moins d'une journée pour rétablir le service. Chez les développeurs Web qui n'utilisent pas de frameworks, 9 % déploient leur code à la demande, 5 % ont un délai d'exécution de moins d'une heure et 43 % mettent moins d'une journée à rétablir le service. L'utilisation de frameworks présente toutefois des désavantages.
Par exemple, il est peu probable qu'un framework fournisse tout ce dont un développeur Web a besoin, tout comme il est peu probable qu'un développeur Web utilise tout ce qu'un framework ou une bibliothèque a à offrir. La prolifération de différents frameworks avec des normes et des directives différentes ne fait que brouiller davantage les pistes. Dans ce cas, SlashData estime qu'il peut être plus facile de s'en tenir à un ou deux frameworks et de compléter leur utilisation par du code personnalisé, plutôt que de créer un environnement de travail surchargé.
SlashData a remarqué que la part des développeurs Web utilisant trois frameworks ou plus diminue progressivement. Aujourd'hui, le nombre moyen de frameworks utilisés serait à peu près le même pour les développeurs de tous niveaux d'expérience, soit environ 3,2. Cependant, les habitudes d'utilisation changent en fonction des années d'expérience spécifiques, et peuvent donner une indication de ce qui se prépare pour l'avenir du développement Web. Par exemple, les personnes ayant moins de cinq ans d'expérience sont plus susceptibles d'utiliser un framework (22 %) que celles ayant six ans ou plus (17 %).
React est de loin la bibliothèque côté client la plus populaire, puisqu'elle est utilisée par 58 % des développeurs Web qui utilisent des frameworks Web côté client. La popularité stable de React en tant que bibliothèque est contrastée par le déclin de jQuery, qui a connu une baisse de 13 points de pourcentage de son utilisation au cours des 12 derniers mois. Si l'on compare les deux, React est peut-être plus à même de gérer l'environnement de développement Web moderne - il est plus rapide, dispose d'une plus grande bibliothèque de paquets npm et est efficace pour créer des applications Web plus importantes.
Qui sont les développeurs qui utilisent jQuery ? En regardant de plus près, SlashData constate que ceux qui ont plus de 11 ans d'expérience dans le développement Web sont 9 % plus susceptibles d'utiliser jQuery que ceux qui ont moins de 10 ans (49 % contre 40 %). De même, ces développeurs Web chevronnés sont moins susceptibles d'utiliser React (52 %) par rapport à leurs pairs (58 %). Comme jQuery a été créé près d'une décennie avant React, il est logique que ceux qui ont plus d'expérience en développement Web s'en tiennent à ce qu'ils connaissent. Qu'en est-il des frameworks côté serveur ?
Next.js et Spring ont connu une hausse de popularité au cours des 12 derniers mois. Selon le rapport de SlashData, la popularité de Next.js est probablement liée à React - après tout, Next.js est un framework construit sur React. En fait, 86 % de ceux qui utilisent Next.js utilisent également React ; à titre de comparaison, seuls 45 % utilisent jQuery. Quant à Spring, un framework basé sur Java, l'augmentation de son utilisation peut s'expliquer par une augmentation similaire de l'utilisation de Java parmi les développeurs Web, soit 8 points de pourcentage au cours des 12 derniers mois (27 % contre 19 %).
Si un développeur Web est contraint de configurer ou d'écrire une application d'une manière particulière, cela peut restreindre son éventail de compétences, car il s'appuie sur une architecture particulière. Si l'on considère la population des développeurs Web, il semble que ceux qui utilisent des frameworks sont en fait plus susceptibles d'être autonomes, d'avoir des compétences techniques ou d'utiliser des technologies Web que ceux qui n'utilisent pas de frameworks. Les utilisateurs de frameworks sont plus susceptibles d'avoir appris à coder en autodidacte (66 % contre 55 %) et de télécharger manuellement des paquets depuis npm (45 % contre 36 %).
Parmi ces technologies, les services d'intégration/déploiement continus (CI/CD) méritent d'être mentionnés - les utilisateurs de frameworks sont deux fois plus susceptibles de les utiliser que les autres. Comme souligné précédemment, les utilisateurs de frameworks sont plus efficaces lorsqu'il s'agit de déployer du code. Cependant, les utilisateurs de frameworks...
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.