Évolution des langages de programmation en 2016 :
Si Java domine toujours, le langage C serait-il en baisse de popularité ?

Le , par Michael Guilloux, Chroniqueur Actualités
En début ce d'année, c'est un moment propice pour consulter les principaux indicateurs pour voir comment ont évolué les langages de programmation en 2016. En ce qui concerne TIOBE, le classement de janvier des langages (en fonction de leur popularité) a été récemment publié.

Faisant le point de l’année 2016, l'index TIOBE laisse croire que l’intérêt accordé par les développeurs au langage de programmation C serait en baisse. À mi-parcours de l’année 2016, le langage de programmation inventé par Dennis Ritchie se trouvait à son niveau le plus bas depuis le lancement de l’index TIOBE en 2001, soit depuis plus de 15 ans. Il est également important de noter que le score de popularité de C était en baisse depuis novembre 2015. La deuxième partie de l’année 2016 n’aurait pas non plus été meilleure pour C qui a enregistré une baisse continue de son score de popularité. Le langage C est passé de 16,04 % en janvier 2016, sur l’échelle de TIOBE, à 9,35 % en janvier 2017 ; ce qui traduit une baisse de popularité de plus de 40 % sur 12 mois.


Index TIOBE : évolution des scores de popularité des langages de programmation depuis 2001

Le langage C reste toutefois à la deuxième place dans un classement largement dominé par Java (17,28 %). Il est suivi dans l’ordre par C++ (6,3 %), C# (4,04 %) et Python (3,47 %).


Index TIOBE : top 20 des langages de programmation les plus populaires au mois de janvier 2017

Le langage C est-il réellement en baisse de popularité ?

En août dernier, TIOBE a expliqué la baisse de popularité du langage C par diverses raisons. La première serait le fait que C a du mal à s’imposer sur certains marchés, notamment dans les domaines en plein essor tels que le développement d’applications Web et mobiles. D'ailleurs, le dernier classement de l'IEEE des meilleurs langages de programmation a montré que le langage C ne figure pas parmi les 10 meilleurs langages pour le Web. Et en ce qui concerne le développement mobile, ce sont les langages phares pour Android (Java) et iOS (Objective-C et Swift) qui sont prisés.

TIOBE avance également que contrairement aux autres grands langages comme Java, C++ ou C#, le langage C est resté sensiblement le même au fil du temps, surtout parce que sa communauté de développeurs aurait décidé de mettre l’accent sur la performance plutôt que d’ajouter de nouvelles fonctionnalités. Il est donc probable que les programmeurs trouvent le langage de moins en moins adapté à leurs projets quotidiens au fil du temps, dans un monde de l'informatique qui ne cesse de changer. Le langage C serait en plus coincé par C++, qui propose déjà des fonctionnalités qu’on aurait souhaité avoir dans C. En le faisant évoluer dans cette direction, C deviendrait tout simplement C++, donc il n’y a aucun intérêt à emprunter cette voie.

TIOBE fait également remarquer que, contrairement à de nombreux langages, aucune grande entreprise ne fait la promotion de C : « Oracle prend en charge Java, Microsoft prend en charge C++, C# et TypeScript, Google soutient Java, Python, Go, Dart et JavaScript, Apple encourage Swift et Objective-C, etc., mais aucun d'entre eux ne soutient C publiquement. », avait-il expliqué.

Il faut toutefois rappeler que comme tous les autres indices de popularité, TIOBE souffre de certaines insuffisances. Pour rappel, les scores attribués par TIOBE aux différents langages sont calculés à partir d’une formule qui évalue le nombre de fois qu’un langage spécifique est recherché sur les moteurs de recherche comme Yahoo, Google, Wikipédia, Bing, Amazon, YouTube et Baidu. Cela dit, il utilise une définition de « popularité » qui ne mesure pas vraiment l’utilisation du langage ou encore la demande des entreprises.

Tentant d’élaborer une formule de calcul plus sophistiquée et plus pertinente, on note du côté de l’IEEE (Institute of Electrical and Electronics Engineers) que, même si C est mal classé dans les domaines du développement Web et mobile, le langage reste globalement le plus populaire en 2016, mais également celui qui a enregistré la plus forte croissance, ce qui suggère que C serait bien loin de la baisse en popularité qu'indique TIOBE.


IEEE 2016 : Top 10 des langages de programmation en forte croissance

Pour rappel, l’IEEE mesure non seulement le nombre de recherches effectuées sur chaque langage, mais encore le partage d'information et ressources en ligne ainsi que l'activité sociale autour des différents langages de programmation. L’IEEE collecte aussi des données sur GitHub pour mesurer le nombre de nouveaux dépôts et de dépôts actifs pour chaque langage. Et pour pouvoir capter la demande des employeurs, certaines données proviennent des sites d’emploi CareerBuilder et Dice où est mesuré le nombre de nouvelles offres d'emploi aux États-Unis mentionnant les différents langages de programmation. C’est en combinant ces différentes sources, et bien d’autres, que le langage C a été classé à la première place. Là encore, cela peut dépendre des pondérations attribuées aux différentes sources de données.

Au niveau de la demande des entreprises, le langage C est le numéro un aux États-Unis d’après l’IEEE, mais en France, la réalité semble différente quand on regarde les données relatives aux offres d’emploi publiées sur Developpez.com. Le langage C est passé de la 8e place en juillet 2016 à la 7e place en janvier 2017, avec une part stable de 2,5 % sur l'ensemble des offres. Rien ne laisse croire non plus que l’intérêt et l’activité autour du langage C sur Developpez.com ont diminué au cours de l’année 2016. C’est ce qu’indiquent les taux de fréquentation des rubriques associées aux différents langages sur les deux dernières années.

Developpez.com : taux de fréquentation des rubriques associées aux différents langages de programmation en 2015 et 2016


Developpez.com : variation des taux de fréquentation des rubriques associées aux différents langages de programmation en 2016

Comme le montrent les deux graphiques précédents, on note juste une légère baisse (-0,1 %) du taux de fréquentation des rubriques associées au langage C. Ce qui est par contre remarquable, c’est la forte croissance de Python (+1,6 %) et la mauvaise performance de PHP (-2,0 %) alors que tous les autres langages sont à plus ou moins 0,2 %.

On peut au passage fait remarquer que par rapport aux autres études, Delphi est particulièrement bien classé sur Developpez.com. Cela s’explique par une forte concentration de développeurs Delphi sur ce site, pour des raisons historiques. Cela dit, les chiffres de Developpez.com ne sont donc pas totalement représentatifs du marché, car les communautés de développeurs sont représentées de façon différente selon les sites.

Go de Google désigné langage de l’année 2016 par TIOBE

Pour l’année 2016, il faut encore noter que Go a été désigné par TIOBE comme étant le langage de l’année. Ce titre est attribué au langage qui réalise la croissance la plus forte au cours d’une année. Ce qui signifie que les nouveaux langages prometteurs sont plus susceptibles de le remporter.

« Sans pratiquement aucune compétition », Go a remporté le prix du langage de programmation de l’année 2016, indique TIOBE. Le langage Go de Google a réalisé un gain de 2,16 % en un an, ce qui lui permet de se hisser à la 13e place en janvier 2017, à partir de la 54e place qu’il occupait il y a un an. En termes de hausse en popularité au sens de TIOBE, Go est suivi par Dart (+ 0.95%) et Perl (+ 0.91%).

« Les principaux moteurs du succès de Go sont sa facilité d'apprentissage et sa nature pragmatique », explique TIOBE. « En dehors de cela, Go a intégré le support de la programmation concurrente, » ajoute-t-il. TIOBE révèle également que de plus en plus de ses clients utilisent le langage Go de Google, ce qui serait un bon indicateur. La montée de Go doit toutefois être relativisée, car comme le montrent les deux derniers graphiques, il ne semble pas avoir du tout décollé dans l’espace francophone.

Sources : TIOBE, Developpez.com

Et vous ?

Qu’en pensez-vous ?
Quelles interprétations faites-vous de ces résultats ?

Voir aussi :

TIOBE : le langage de programmation Go de Google gagne en popularité, favorisé par la popularisation de Docker
Meilleurs langages de programmation en 2016 : découvrez les langages en forte croissance et les plus demandés par les employeurs, selon l'IEEE
Offres d'emploi en 2016 : Java largement en tête, suivi par JavaScript et PHP


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de RyzenOC RyzenOC - Membre émérite https://www.developpez.com
le 11/01/2017 à 17:02
Qu’en pensez-vous ?
Quelles interprétations faites-vous de ces résultats ?
Que pour avoir la cotte auprès des filles faut coder en D ou en Go
Avatar de transgohan transgohan - Expert confirmé https://www.developpez.com
le 11/01/2017 à 17:35
Mais que pour les filles aient la cote auprès des garçons il faut qu'elles soient entre les deux, à savoir un bon 105F.

Non mais sérieux...
Le classement TIOBE on peut l'envoyer aux oubliettes, depuis le temps qu'on le dit...
Il ne représente rien d'intéressant pour le marché de l'emploi ou des technologies.
A la rigueur il peut montrer quels sont les langages qui procurent le plus de mal à l'école...
Avatar de tenbarugo tenbarugo - Membre à l'essai https://www.developpez.com
le 11/01/2017 à 17:39
Y a dix ans (quand j'ai commencé ma carrière) Java était au top. Aujourd'hui ça n'a pas changé donc ça n'est vraiment pas prêt de changer.
Pour le web c'est un peu plus volatile, donc je m'attendais à une chute plus prononcée du php et à une montée plus importante du ruby/python.

L'Index TIOBE en 2016 a l'air de descendre beaucoup pour Java et C, résultat le total n'a pas l'air de faire 100 c'est bizarre. (Mais j'ai pas lu en détails ce qu'était l'index TIOBE donc peut-être que c'est pas un problème).

Et pour les histogrammes de développez.com, c'est sympa mais avec un an ou deux en plus ça serait encore mieux pour avoir une évolution sur plus long terme et avoir une tendance.
Avatar de 23JFK 23JFK - Membre éclairé https://www.developpez.com
le 11/01/2017 à 18:44
Un projet codé en C devient facilement/vite bordélique.
Avatar de rambc rambc - Membre expérimenté https://www.developpez.com
le 11/01/2017 à 18:55
Je suis entrain de travailler sur l'établissement d'une corrélation forte entre ces stats et le réchauffement climatique...

On s'en fout de ces classements. Le tout est de choisir le langage qui vous rend service.

Pour travailler, le Java semble au top, pour moi Python et bientôt OCaml vont me rendre service.
Avatar de MikeRowSoft MikeRowSoft - Provisoirement toléré https://www.developpez.com
le 11/01/2017 à 19:22
Citation Envoyé par rambc Voir le message
[...]
On s'en fout de ces classements. Le tout est de choisir le langage qui vous rend service.
[...]
Il y a quelques années penser des imports logiciels de Windows vers Linux a révélé quelques talents.
Microsoft a fait de même avec Linux sous Windows. (acceptés et optimisés des méthodes qui ressemble qu'en apparence au souhait de Microsoft)

C'est le binaire x86 qui veut sa... Java et machine virtuelle, mais jusqu'où ?

P.S. : Oublions J2EE juste un instant...
Avatar de sergio_is_back sergio_is_back - Membre régulier https://www.developpez.com
le 12/01/2017 à 14:02
Citation Envoyé par 23JFK Voir le message
Un projet codé en C devient facilement/vite bordélique.

Y'a pas qu'en C que ça peut devenir rapidement bordélique, c'est plus souvent lié aux
développeurs qu'au langage... Le noyau Linux est développé en C.... c'est pas plus
le bordel que dans bien des projets que j'ai pu voir au cours de ces 20 dernières années
dans d'autres langages....
Avatar de vivid vivid - Futur Membre du Club https://www.developpez.com
le 13/01/2017 à 10:37
"Un projet codé en C devient facilement/vite bordélique."

pour ceux qui maîtrise pas leurs métiers.. avec la POO qui assiste plus qui aide, cela fait perdre une certaine gymnastique intellectuelle.
Avatar de vivid vivid - Futur Membre du Club https://www.developpez.com
le 13/01/2017 à 10:42
Citation Envoyé par JavaBean Voir le message
Le mystère, c'est comment ce langage a-t-il pu rester si haut pendant si longtemps?
'JavaBean' cela fait pas de mal de faire marcher ces neurones
Avatar de dacid dacid - Membre averti https://www.developpez.com
le 19/01/2017 à 16:45
Pour rappel, l’IEEE mesure non seulement le nombre de recherches effectuées sur chaque langage, mais encore le partage d'information et ressources en ligne ainsi que l'activité sociale autour des différents langages de programmation.
Pour moi, ça ne veut pas dire que le plus représenté sur ce genre de site est le plus populaire.
Ca veut juste dire que c'est celui avec lequel on rencontre le plus de difficultés pour un même développement.

Par exemple, en C#, avec tous les outils à disposition dans VS, je n'ai pas besoin d'internet pour connaitre la casse d'une propriété d'un composant et savoir ce qui se cache derrière...
De plus, avec le clic & drop, il y a beaucoup de cas de figure qu'on ne rencontre pas (car automatisés) comparé à Java...
Et j'en passe...

De mon point de vue, Le moyen le plus fiable pour connaitre les langages les plus utilisés est de se baser sur les offres d'emplois.... Et encore...
Avatar de impopia impopia - Membre à l'essai https://www.developpez.com
le 20/01/2017 à 7:27
Tandis que tout ce qui est code système (Windows, Linux) est écrit en C ou dérivés (Mac), on peut dire que cette comparaison est non fondée car ces langages sont utilisés à de différents niveaux. Sur le support de ce code système roule tout (interpreters, machines virtuales etc etc). C et assembleur seront éternes, tout autre est de surface, même C++ (http://www.netfunny.com/rhf/jokes/98...troustrup.html). Plus on s'éloigne de ces 2, plus l'exécutable prend des dimensions gigantesques, a du mal à rouler même sur du hardware performant, a besoin de bibliothèques/entières plate-formes support etc. C'est à ça qu'on assiste aujourd'hui, quand au lieu d'utiliser de façon efficace le pouvoir croissant des processeurs, on développe des plate-formes parfois géantes (comme .NET par exemple), bibliothèques géantes, machines virtuelles java etc pour apporter "du nouveau" et vendre de nouvelles versions. Bienvenue dans l'ère où l'économique domine le technique et où on (commence à) sacrifie(r) la performance pour survivre de point de vue économique !
Avatar de Paul_Le_Heros Paul_Le_Heros - Membre habitué https://www.developpez.com
le 20/01/2017 à 13:22
@dacid : C'est également la première explication qui m'est venue à l'esprit.
Ensuite, plus d'argent pour nos "administrateurs" pourrait être une bonne raison pour classer ainsi et/ou choisir la méthode permettant d'afficher le résultat souhaité. TIOBE est une entreprise réellement indépendante ?
Avatar de SurferIX SurferIX - Membre chevronné https://www.developpez.com
le 20/01/2017 à 23:23
Citation Envoyé par RyzenOC Voir le message
Que pour avoir la cotte auprès des filles faut coder en D ou en Go
Déjà compte pas sur ton orthographe pour avoir la côte avec les filles, ou alors la cotte de mailles....

Citation Envoyé par transgohan Voir le message
Il ne représente rien d'intéressant pour le marché de l'emploi ou des technologies.
Tant qu'il ne prêche pas pour ta paroisse, il ne signifie rien c'est ça ?
Avatar de Sve@r Sve@r - Expert éminent sénior https://www.developpez.com
le 22/01/2017 à 3:24
Bonjour
Moi je n'arrive même pas à comprendre qu'on puisse comparer les langages entre eux (je vois par exemple C et PL/SQL) sans critère. Ce serait comme dire "cette année la salade césar se classe derrière la tarte tatin". Je ne vois pas trop ce qu'on peut en conclure...

Les langages différents ont des buts différents => Aucun langage de programmation n'est parfait. Il n'existe même pas de langage meilleur qu'un autre ; il n'y a que des langages plus ou moins en adéquation avec les buts qu'on se propose (Herbert Mayer). Donc donner un bête tableau en disant "les gens préfèrent Java au C" ça ne veut rien dire. Il semble normal que ceux qui ont besoin d'applis où Java est plus adapté utiliseront alors Java. Mais en aucun cas ça veut dire que le C est moins bon que Java. Ca veut juste dire que cette année, les besoins en techno pour lesquelles Java est adapté sont plus nombreux.

Le tableau de IEEE est déjà un peu mieux car il tente au-moins de cibler les langages selons certains grands domaines...
Avatar de Aeson Aeson - Nouveau Candidat au Club https://www.developpez.com
le 31/01/2017 à 19:10
Ca me fais toujours bien rire quand je vois un comparatif de taux d'utilisation entre des languages tels que c#, javascript et SQL qui n'ont pas du tous le meme but....
Offres d'emploi IT
Ingénieur développement logiciels temps réel embarqué H/F
Safran - Ile de France - Éragny (95610)
Responsable de lot vérification et qualification (IVVQ) H/F
Safran - Alsace - MASSY Hussenot
Ingénieur produit (Landing gear) H/F
Safran - Ile de France - MASSY Hussenot

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil