C# et Java orientés objet et de type sécurisé, réputés pour offrir la portabilité via la machine virtuelle Java (JVM), sont utilisés dans des domaines similaires et sont donc concurrents depuis deux décennies maintenant, a noté Tiobe. Tiobe a cité l'introduction par Oracle d'un modèle de licence payante pour Oracle Java comme l'une des raisons du déclin de Java.
Microsoft a adopté l'approche inverse, rendant C# gratuit et open source.
De plus, depuis le 23 janvier 2023, Oracle a remplacé les abonnements Oracle Java SE couramment achetés par les clients par un nouvel abonnement Oracle Java SE Universal.
Oracle décrit l'abonnement Java SE Universal comme étant : « un abonnement mensuel simple et peu coûteux qui inclut la licence et le support Java SE pour une utilisation sur les postes de travail, les serveurs ou les déploiements dans le cloud. L'abonnement donne accès à des mises à jour de performances, de stabilité et de sécurité testées et certifiées pour Java SE, directement depuis Oracle. Il comprend également l'accès à My Oracle Support (MOS) 24h/24 et 7j/7, une prise en charge en 27 langues, des fonctionnalités de gestion, de surveillance et de déploiement de Java SE 8 Desktop, entre autres avantages »
Le nouveau modèle de licence d'abonnement Java d'Oracle pourrait coûter beaucoup plus cher aux clients existants et nouveaux, selon un document de recherche du cabinet d'études de marché Gartner. Le cabinet d'analyse a déclaré qu'Oracle ciblait les organisations sur la conformité Java et déployait son équipe mondiale de licences Java pour l'appliquer, selon les déclarations de ses clients.
Paul Jansen, PDG de TIOBE Software a déclaré :
L'écart entre C# et Java n'a jamais été aussi petit. Actuellement, la différence n'est que de 1,2 %, et si les tendances restent ainsi, C# dépassera Java dans environ 2 mois. Java affiche la plus forte baisse de -3,92 % et C# le gain le plus important de +3,29 % de tous les langages de programmation (annuellement). Les deux langages ont toujours été utilisées dans des domaines similaires et sont donc concurrentes depuis plus de deux décennies. Le déclin de la popularité de Java est principalement dû à la décision d'Oracle d'introduire un modèle de licence payante après Java 8. Microsoft a adopté l'approche inverse avec C#. Dans le passé, C# ne pouvait être utilisé que dans le cadre de l'outil commercial Visual Studio. De nos jours, C# est gratuit et open source et est adopté par de nombreux développeurs. Il existe également d'autres raisons au déclin de Java. Tout d’abord, la définition du langage Java n’a pas beaucoup changé ces dernières années et Kotlin, son concurrent direct totalement compatible, est plus simple d’utilisation et gratuit.
En outre, Java doit également composer avec Kotlin, un concurrent direct entièrement compatible sur la JVM, plus facile à utiliser et gratuit, et Java n'ayant pas beaucoup changé ces dernières années. Néanmoins, Java reste un langage essentiel dans l'informatique d'entreprise, avec Java 21 qui vient d'être publié le mois dernier et Java 22 attendu en mars prochain. Et les binaires open source gratuits de Java sont toujours disponibles via OpenJDK
Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage statique qui permet de compiler pour la machine virtuelle Java et JavaScript. Il est développé par une équipe de développeurs chez JetBrains, l'éditeur d'IntelliJ IDEA, l'environnement de développement intégré pour Java et sur lequel est basé Android Studio, l’EDI officiel pour développer les applications Android.
Le support officiel de Kotlin pour le développement Android a été annoncé à la conférence Google I/O 2017. Pour l’équipe Android de Google, cette décision de supporter Kotlin s’expliquait aisément. D’abord le support EDI pour Kotlin : Android Studio est basé sur IntelliJ IDEA de JetBrains et l'équipe JetBrains travaillait depuis des années pour s'assurer que Kotlin fonctionne parfaitement avec IntelliJ IDEA. Google a donc hérité de tout leur travail pour supporter Kotlin dans Android Studio. Mais au-delà de cet aspect, Kotlin présente bien d’autres avantages. D’après Google, « Kotlin est [un langage] expressif, concis, extensible, puissant et agréable à lire et écrire », et « il a des fonctionnalités de sécurité intéressantes en termes de nullabilité et d'immutabilité » qui s'alignent avec ses investissements pour rendre les applications sûres et performantes par défaut ».
Le plus important d’après Google, c’est que Kotlin est interopérable avec les langages officiels pour le développement Android (Java, C++) et le runtime Android. La firme a expliqué par exemple que Kotlin fonctionne avec le langage Java de manière transparente, de sorte qu'il est facile pour les développeurs qui aiment le langage Java de continuer à l'utiliser, mais aussi d'ajouter progressivement du code Kotlin et de tirer parti des bibliothèques Kotlin. En outre, l'adoption de Kotlin sur Android augmentait régulièrement au fil des années, et d’après Google, avec un enthousiasme croissant parmi les développeurs.
Aussi, lors de la première journée de l'édition 2019 de sa conférence Google I/O dédiée aux développeurs, la grande enseigne de la recherche en ligne a annoncé que le langage de programmation Kotlin est désormais son langage préféré pour le développement d'applications Android. « Le développement d’Android deviendra de plus en plus Kotlin-first », a écrit Google dans un billet de blog. « De nombreuses nouvelles API Jetpack et fonctionnalités seront d'abord proposées pour Kotlin. Si vous commencez un nouveau projet, vous devriez l’écrire en Kotlin », poursuit Google en expliquant que « le code écrit en Kotlin signifie souvent beaucoup moins de code pour vous - moins de code à taper, tester et maintenir. »
C'est le 19 juillet 2011, lors du JVM Language Summit, que JetBrains a présenté Kotlin, qui était alors un nouveau langage de programmation statiquement typé pour la JVM.
Java sorti du top 3 chez TIOBE mais conserve la deuxième place chez PYPL
Voici le top 10 de l'édition d'octobre 2023 :
- Python, avec une part de marché de 14,82%
- C, avec une part de marché de 12,08%
- C++, avec une part de marché de 10,67%
- Java, avec une part de marché de 8,92%
- C#, avec une part de marché de 7,71%
- JavaScript, avec une part de marché de 2,91%
- Visual Basic, avec une part de marché de 2,13%
- PHP, avec une part de marché de 1,9%
- SQL, avec une part de marché de 1,78%
- Assembly, avec une part de marché de 1,64%
L'index alternatif Pypl Popularity of Programming Language évalue les recherches sur les didacticiels de langage dans Google. Le top 10 de l'indice Pypl d'octobre 2023 est :
- Python, avec une part de marché de 28,05%
- Java, avec une part de marché de 15,88%
- JavaScript, avec une part de marché de 9,27%
- C#, avec une part de marché de 6,79%
- C/C++, avec une part de marché de ,.59%
- PHP, avec une part de marché de 4,86%
- R, avec une part de marché de 4,45%
- TypeScript, avec une part de marché de 2,93%
- Swift, avec une part de marché de 2,69%
- Objective-C, avec une part de marché de 2,29%
Pas représentatif de la popularité des langages de programmation dans l'Hexagone
L'indice TIOBE Programming Community est un indicateur de la popularité des langages de programmation. L'index est mis à jour une fois par mois. Les notes sont basées sur le nombre d'ingénieurs qualifiés dans le monde, les cours et les fournisseurs tiers. Les moteurs de recherche populaires tels que Google, Bing, Yahoo!, Wikipédia, Amazon, YouTube et Baidu sont utilisés pour calculer les notes. Il est important de noter que l'index TIOBE ne concerne pas le meilleur langage de programmation ou le langage dans lequel la plupart des lignes de code ont été écrites. L'index peut être utilisé pour vérifier si vos compétences en programmation sont toujours à jour ou pour prendre une décision stratégique sur le langage de programmation à adopter lors du démarrage de la construction d'un nouveau système logiciel.
L'index peut être utilisé pour vérifier si vos compétences en programmation sont toujours à jour ou pour prendre une décision stratégique sur le langage de programmation à adopter lors du démarrage de la création d'un nouveau système logiciel.
L'étude internationale TIOBE basée sur des données web n'est absolument pas représentative du marché Pro en France, pour vous faire une meilleure idée sur le paysage professionnel dans l'Hexagone :
Emploi informatique 2022 : les langages les plus demandés et les mieux payés
Sources : TIOBE, PYPL, Developpez.com rubrique emploi
Et vous ?
Quels sont les avantages et les inconvénients de C# par rapport à Java ?
Quels sont les domaines d’application où vous préférez utiliser C# ou Java ?
Quelles sont les fonctionnalités ou les améliorations que vous aimeriez voir dans C# ou Java ?
Quels sont les critères les plus importants pour évaluer la popularité d’un langage de programmation ?
D'ailleurs, que pensez-vous du baromètre qu'est Pypl ? L'indice TIOBE ? Le(s) trouvez-vous pertinent(s) ? Pourquoi ?
Y a-t-il, dans leurs tops 10, l'un (des) langage(s) que vous pratiquez ? Le(s)quel(s) ?
Êtes-vous surpris par certains classements ? De quels langages ?