IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Coriolan

1.4KPARTAGES

11  0 
Lequel de ces langages et logiciels utilisez-vous pour l'analyse de données ?
Python
35 %
SAS
29 %
R
29 %
SPSS
19 %
SQL
19 %
C, C++ ou C#
10 %
Java
10 %
Apache Spark
6 %
Hadoop
6 %
MATLAB
3 %
Tableau
3 %
Apache Hive
3 %
Scala
3 %
Autre (précisez)
0 %
SAP
0 %
Pas d'avis
0 %
Voter 31 votants
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.

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.


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.


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.


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é ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Alexandre13
Membre à l'essai https://www.developpez.com
Le 17/03/2017 à 16:58
Bonjour,

Je ne suis pas vraiment surpris par votre article, mais il me semble qu'il ne prend pas bien en compte les secteurs d'activité respectifs.

Python est archi minoritaire dans le monde de la science où j'évolue, et où R est devenu omniprésent. Je ne connais pas la génèse du python, mais R a été crée pour et par des scientifiques, statisticiens en première ligne. Aussi, il n'est pas étonnant de le voir moins répandu lorsqu'on regarde globalement, car il y a plus de développeurs que de scientifiques, et les développeurs n'ont pas vraiment eu d'intérêt jusque là à investir dans R.

Cependant, je ne serais pas surpris de voir cela évoluer car R s'ouvre au développement web (voir Shiny, l'implémentation de bibliothèques javascript telles que leaflet, on peut citer plotly également) et ce n'est que très récent. Et on demande de plus en plus au chercheurs de donner des choses concrètes telles que des OAD via interface web. Cela fait converger les 2 mondes, et peut être que R sera un langage commun plus approprié car pour un dév qui connait les langages orienté objets, ça ne doit pas être très compliqué à acquérir. Le chemin de R vers Python me semble plus compliqué à suivre...

Bref, dans le monde de la recherche, R tient largement le haut du pavé, mais c'est un monde plus restreint...

A+
4  0 
Avatar de Alexandre13
Membre à l'essai https://www.developpez.com
Le 20/02/2018 à 15:01
Bonjour,

Presque un an après je rajouterai qu'un argument récurrent est que "Python est bien plus performant que R en temps de calcul". Effectivement, j'avais vu un comparatif où, en référence à C, Python était 30 fois plus lent et R 700 fois... soit.

Le problème dans ce genre de comparatif est que, j'en suis persuadé, on ne prend que le R "de base". Pour info, R est par construction un langage séquentiel (donc pour les béotiens comme moi, il n'envoie ses instructions que sur un cœur de calcul). Ce qui revient à utiliser seulement 1/8 des machines un peu puissante (je simplifie...). Il ne peut donc pas du tout rivaliser avec les langages qui travaillent par défaut en "multithread". Il existe cependant (et ce n'est pas nouveau) des packages qui permettent la parallélisation des calculs. Difficile de savoir dans ces conditions si l'argument du "R est plus lent" reste valable. Bon, ça demande peut être plus d'effort à développer... Pour être honnête, j'ai du mal à avoir du recul là-dessus car je ne travaille pas sur des processus ou des volumes de données suffisamment gourmand pour justifier l'emploi de ces méthodes, mais il me semblait important de nuancer ces comparatifs. Dernière chose à ce propos, il y a pas mal à faire (optimisation, bonnes pratiques de codage, etc) avant que les utilisateurs utilisent vraiment R à 100 % de ses capacités. D'autant que les tâches les plus gourmandes peuvent être compilées en C, ce qui est fait par défaut dans de nombreux packages... Encore un élément pour nuancer sa relative lenteur.

Aussi, à noter l'apparition du langage Julia qui semble faire son bonhomme de chemin depuis 2006. Celui-ci semble combiner les avantages de R et de Python, d'après les développeurs (ça nous vient du MIT). A voir ce que ça donnera, quitte à prévoir une conversion, autant s'assurer de miser sur le bon cheval...

@Guyguy : j'ai eu également des retours comme quoi le passage de R à Python n'est pas trop douloureux. Il me semble qu'un article de ce site relatait que la conversion des utilisateurs de R vers Python était non-négligeable...

A+

P.S : j'ai conscience que je ne suis pas impartial, j'adore R !
1  0 
Avatar de Guyguy La Tambouille
Membre régulier https://www.developpez.com
Le 20/02/2018 à 11:31
Bonjour à tous,

Je suis clairement d'accord avec Alexandre13 en ce qui concerne les secteurs d'activité.
D'ailleurs de mon côté j'évolue dans le secteur de la recherche médicale, et ici SAS et R sont omniprésents et éclipsent tous les autres. En tout cas je n'ai jamais vu quelqu'un y utiliser Python...

Personnellement j'aime bien les deux (SAS et R), et je les trouve finalement très complémentaires (déjà SAS est payant, R est libre), et cela me fait parfois penser à la concurrence Apple-Android. Je m'essaye actuellement, et par curiosité, à Python (qui de mon point de vue ressemble finalement beaucoup à R). Mais je n'ai même pas la possibilité de l'utiliser dans mon métier actuel (les bases ne sont disponibles que sous SAS, et aucune extraction possible)... Je suis donc curieux de voir comment tout cela va évoluer !!

A+
0  0 
Avatar de glad33bx
Membre régulier https://www.developpez.com
Le 08/03/2017 à 14:07
Chez nous c'est SAS et SPSS...
0  2