R plus prisé que SAS pour l'analyse de données, mais Python est le langage le plus populaire
Selon le Data Science Job Report 2017

Les méthodes de mesure de la popularité des langages de programmation diffèrent d’une étude à une autre. Si le classement de TIOBE se base sur une formule qui prend en compte plusieurs critères à savoir les requêtes de recherche dans les principaux moteurs de recherche (Google, Bing, Yahoo, Wikipedia, Amazon, YouTube et Baidu), certains insistent sur le fait que le nombre d’annonces de chaque langage de programmation constitue l’un des meilleurs moyens pour en juger sa popularité ou sa part de marché.

Les annonces d’emploi sont riches en informations et sont payantes ce qui fait qu’elles sont plus précises pour déterminer la popularité de chaque logiciel (ou langage). Elles permettent aussi de prédire les tendances du futur pour nous donner une idée sur ce qui sera plus populaire demain.

Selon le cofondateur et le PDG du plus grand site d’emploi aux États-Unis, Paul Foster, le site inclut tous les emplois de plus de 1000 sources uniques y compris les journaux, les associations, et sites d’entreprises. Le moteur de recherche du site est doté de fonctionnalités intéressantes comme un outil de suivi des tendances à long terme.

Classement des logiciels et langages utilisés pour l'analyse de données

La recherche d’emploi est facile, mais trouver des résultats qui permettent une comparaison juste est une démarche délicate. Quelques logiciels sont utilisés seulement pour l’analyse des données (data science) comme SPSS et Apache Spark, alors que d’autres programmes sont utilisés non seulement dans les jobs de data science, mais aussi dans les jobs qui nécessitent la rédaction de rapports (SAS, Tableau). Les langages de programmation (comme C et Java) sont également très utilisés dans les emplois qui ont recours à l'analyse de données, mais la majorité des jobs qui y ont recours n’ont rien à voir avec la data science.

Pour faire part de ce problème, une étude a eu recours à un protocole de recherche pour ne prendre en compte que les logiciels utilisés dans le cadre des jobs de data scientists. Les résultats montrent que SQL est en tête avec près de 18 000 jobs, suivi par Python et Java avec 13 000 emplois. Hadoop occupe la quatrième position avec 10 000 jobs, puis R et les variantes de C et SAS. (C, C++ et C# sont combinés dans une seule recherche puisque les annonces d’emploi cherchent n’importe quel langage d’eux). C’est la première fois que cette étude a montré que les jobs pour R dépassent ceux de SAS. Toutefois l’auteur du rapport rappelle que ces recherches n’ont pris en compte que les jobs de data science. Si vous prenez en compte les jobs de rédaction de rapports, vous trouverez le double de jobs de SAS.

Ensuite, on a Apache Spark qui est assez récent et n’a pas été inclus dans l’étude de 2014. Il a réussi à occuper une bonne part du marché en une période courte de temps. Tableau non plus n’a pas été pris en compte lors de la dernière étude pour la même raison.

Nom : Fig-1-IndeedJobs-2017.png
Affichages : 78851
Taille : 133,1 Ko
Le nombre de jobs de data science des langages et logiciels les plus populaires (ceux avec 250 jobs ou plus, 02/2017)


Apache Hive vient en dixième position avec 3900 jobs puis un ensemble de logiciels viennent après, avec Scala, SAP, MATLAB et SPSS, avec plus de 2500 jobs seulement pour chacun d’eux. Après, on remarque le déclin de Teradata qui occupe désormais la 16e position.

La plupart des logiciels ont eu moins de 250 affichages d’emplois, pour cette raison, l’étude a entrepris de les comparer dans leur propre graphe afin de pouvoir tirer des conclusions. Alteryx est leader de ce groupe avec 240 jobs. La recherche incluant le terme Microsoft a été difficile puisqu’elle affichait d’autres annonces qui mentionnent des produits de Microsoft comme Windows et SQL Server (toujours dans la catégorie data science). Pour éliminer ces résultats indésirables, l’étude a traité Microsoft à part en introduisant des recherches par nom de produit comme Azure Machine Learning et Microsoft Cognitive Toolkit.

Nom : Fig-2- IndeedJobs-2017.png
Affichages : 24829
Taille : 174,2 Ko
Le nombre de jobs de data science des langages et logiciels les moins populaires (moins de 250 jobs, 02/2017)

Le langage Julia occupe la troisième position, c’est un langage de programmation de haut niveau, performant et dynamique pour le calcul scientifique, avec une syntaxe familière aux utilisateurs d'autres environnements de développement similaires (Matlab, R, Scilab, Python, etc.). Il fournit un compilateur sophistiqué, une exécution parallèle distribuée, la précision numérique et une bibliothèque de fonctions mathématiques étendue. FORSTRAN est toujours là également avec 152 jobs suivi de H2O avec juste un peu plus de 100 jobs.

Il est important de savoir que les valeurs indiquées dans les figures 1 et 2 reflètent des points uniques dans le temps. Le nombre de jobs listés pour les logiciels les plus populaires ne connait pas un changement important du jour au lendemain. Pour cette raison, le premier classement ne va probablement pas trop changer durant cette année. Par opposition, les outils les moins populaires dans le deuxième classement ont un nombre réduit de jobs, ce qui veut dire que leur classement peut connaitre des mutations chaque mois, toutefois, leur classement global reste lui aussi stable.

Maintenant si on compare les tendances plutôt que le classement. L’étude a eu recours à l’outil Job Trends pour montrer comme la demande des jobs a changé pour chaque langage ou logiciel. L’auteur s’est particulièrement intéressé aux tendances de R et SAS. La figure suivante montre que le nombre de jobs de data science pour SAS est resté relativement stable de 2012 jusqu’au 28 février, la date de cette étude. Durant la même période, les jobs pour R ont continué à augmenter avant de dépasser les jobs pour SAS vers la fin de 2016.

Nom : Fig-3-R-v-SAS-2017-02-18.png
Affichages : 23893
Taille : 107,9 Ko
Les tendances des jobs de data science pour R (bleu) et SAS (orange)

Python VS. R

Mais le débat le plus intéressant est celui qui concerne la comparaison entre Python et R. Récemment, un long débat s’est entretenu entre les partisans des deux langages sur la place de leurs langages respectifs. Certains clament que Python est supérieur à MATLAB et R en raison de sa facilité d’utilisation pour le développement de logiciel. D’autant plus que la data science est en train de migrer vers Python 3. Toutefois, les partisans de R clament que les bibliothèques d’analyse de données du langage sont toujours largement supérieures à tout ce qu’offre Python. De plus, ils considèrent que R est plus facile à utiliser pour les fonctions statistiques et la manipulation de larges quantités de données.

Nom : Fig-1d-R-v-Python-2017-2-28.png
Affichages : 23947
Taille : 86,2 Ko
Les tendances des jobs de data science pour R (bleu) et Python (orange)

Durant cette étude, il a été possible de comparer les tendances des deux langages. Les graphes montrent que Python a largement dépassé R en termes de jobs de data science depuis au moins 2013. Toutefois, il faudrait savoir que ces deux langages sont différents et un scan rapide de leurs emplois respectifs montre que les jobs de R sont plus concentrés sur l’usage de méthodes existantes pour l’analyse, alors que les jobs de Python s’appuient plus sur méthodes personnalisées.

Source : r4stats

Et vous ?

Qu'en pensez-vous ?
Avez-vous constaté les mêmes tendances en France ? Quel langage utilise votre entreprise ?
Êtes-vous d'accord que Python est mieux adapté pour la data science que R ?

Voir aussi :

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