Developpez.com - Programmation

Le Club des Développeurs et IT Pro

C# en passe de rattraper Java en termes de popularité du langage dans l'édition d'octobre sur le Tiobe Index

Paul Jansen donne deux mois à C# pour dépasser Java si la tendance se poursuit

Le 2023-10-16 14:30:00, par Stéphane le calme, Chroniqueur Actualités
Le langage C# de Microsoft est en passe de rattraper Java dans l’indice Tiobe de popularité des langages. La différence entre Java, quatrième, avec une note de 8,92 %, et C#, cinquième, avec 7,71 %, n'était que d'environ 1,2 point de pourcentage dans l'indice Tiobe qui vient d'être publié pour octobre 2023. Si la tendance se poursuit, C# pourrait dépasser Java. Java a longtemps occupé la première place de l'indice jusqu'à ce qu'il soit dépassé par C, Python et C++ ces dernières années.

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.
Java doit également composer avec Kotlin

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 ?
  Discussion forum
9 commentaires
  • GLDavid
    Expert confirmé
    Envoyé par Pierre Louis Chevalier
    Et qu'est ce qui fait que C# à désormais le vent en poupe, du moins aux USA, une utilisation massive d'Unity ? Quelqu'un à une autre idée ?
    Dans mon créneau, mes clients sont des big pharmas. Windows est incontournable. Ainsi, les développements se font naturellement plus en C# (j'ai même vu du VB#). Donc, l'industrie pousse pour un usage de C#.
    My 2 cents

    @++
  • marc.collin
    Membre émérite
    si seulement cet indice représenterait le marché...
  • champy_30
    Membre à l'essai
    A mon avis c'est surtout la compatibilité linux depuis .net 5 pour les devs services, l'ajout de Maui pour les devs ui multiplateforme qui as fait gagner en popularité c#. Sans parler d'avalonia qui permet carrément du dev desktop multiplateforme. Bref une bonne partie des dernières lacune face a java on disparu.
  • Seb_de_lille
    Membre habitué
    Comment ça était souvent dit, cet index n'est pas forcément représentatif de la réalité
    L'assembleur en 10eme position, et on ne voit ni Swift, ni Objective-C...
    C'est pas avec ça que je vais choisir une techno.
  • fredinkan
    Membre expérimenté
    Point de vue indistrie hors développement de jeux vidéos, si tu pars dans du cloud MS (que ce soit via des composants type azure functions ou autres), ils ont drastiquement poussé via des bibliothèques très bien foutues et très rapide.

    Si tu rajoute ça à unity, tu dois avoir un joli combo pour la popularité du langage.
  • marc.collin
    Membre émérite
    maintenant il reste juste à ce que ça reflète le marché de l'emploi.... même au usa... ce n,est pas ça du tout
  • ddoumeche
    Membre extrêmement actif
    Envoyé par champy_30
    A mon avis c'est surtout la compatibilité linux depuis .net 5 pour les devs services, l'ajout de Maui pour les devs ui multiplateforme qui as fait gagner en popularité c#. Sans parler d'avalonia qui permet carrément du dev desktop multiplateforme. Bref une bonne partie des dernières lacune face a java on disparu.
    Avalonia est une bouse infame monopolisant la moitié de votre CPU pour faire tourner les applications les plus basiques.
  • dfiad77pro
    Membre expérimenté
    Envoyé par ddoumeche
    Avalonia est une bouse infame monopolisant la moitié de votre CPU pour faire tourner les applications les plus basiques.
    on à quand même des gros trucs qui tournent dessus genre l'ide de outsystems (même si je n'aime pas le low code).
    C'est de la faute à Microsoft, il va falloir qu'ils proposent maui aussi sous linux...

    Honnêtement si .net core était arrivé 3-5ans avants ça aurait encore plus changé la donne
  • Pierre Louis Chevalier
    Expert éminent sénior
    Et qu'est ce qui fait que C# à désormais le vent en poupe, du moins aux USA, une utilisation massive d'Unity ? Quelqu'un à une autre idée ?