langage python tout savoir

Python : tout savoir sur le principal langage Big Data et Machine Learning

Python est le langage de programmation le plus utilisé dans le domaine du , du et de la Data Science. Découvrez tout ce que vous savoir à son sujet : définition, avantages, cas d'usage…

Créé en 1991, le langage de programmation Python apparu à l'époque comme une façon d'automatiser les éléments les plus ennuyeux de l'écriture de scripts ou de réaliser rapidement des prototypes d'applications.

Depuis quelques années, toutefois, ce langage de programmation s'est hissé parmi les plus utilisés dans le domaine du développement de logiciels, de gestion d'infrastructure et d'analyse de données. Il s'agit d'un élément moteur de l'explosion du Big Data.

Langage Python : qu'est-ce que c'est ?

Python est un langage de programmation open source créé par le programmeur Guido van Rossum en 1991. Il tire son nom de l'émission Monty Python's Flying Circus. Il s'agit d'un langage de programmation interprété, qui ne nécessite pas d'être compilé pour fonctionner.

En tant que langage de programmation de haut niveau, Python permet aux programmeurs de se focaliser sur ce qu'ils font plutôt que sur la façon dont ils le font. Ainsi, écrire des progammes prend moins de temps que dans un autre langage. Il s'agit d'un langage idéal pour les débutants.

Python : ses origines

Vers le milieu des années 80, un Néerlandais nommé Guido van Rossum travaillait sur un projet éducatif. Celui-ci consistait à créer un langage pour les nouveaux codeurs, appelé ABC. Au cours de sa participation à cette initiative, Guido s'est intéressé à la conception des langages. Il a alors commencé à travailler sur Python.

Par ailleurs, il a pris des décisions inhabituelles qui ont permis à ce langage de se démarquer de l'esprit du temps de l'époque. A cet effet, il a décidé de rendre l'indentation significative. Certains critiques pensent que cela rendrait le langage difficile à utiliser. Mais cette caractéristique explique en partie pourquoi Python est à la fois lisible et populaire. Le style et la lisibilité du code sont améliorés grâce à la façon dont le langage peut être écrit.

Une grande partie de sa conception consiste à encourager les développeurs à prendre de bonnes décisions. Si l'indentation fait partie intégrante de Python, beaucoup d'autres choses ne le sont pas. Pour écrire un bon code, il faut donc être un codeur responsable. Contrairement à Java, Python veille à ce que le code ne soit pas réprimandé si une variable ou une fonction porte un nom particulier. En outre, inutile de définir un type.

Les concepts de base sur Python

Points-virgules

Premièrement, Python n'utilise pas de point-virgule pour terminer les lignes, contrairement à la plupart des langages de programmation. Une nouvelle ligne est suffisante pour que l'interpréteur détecte une nouvelle commande.

Indentation

La plupart des langages utilisent des accolades pour définir la portée d'un bloc de code, mais l'interpréteur de Python le détermine simplement par une indentation. Cela signifie qu'il faut être particulièrement prudent avec les espaces blancs dans le code, ce qui peut interrompre le fonctionnement de l'application. 

Commentaires

Pour commenter quelque chose dans votre code, il suffit d'utiliser le dièse #. 

Variables

Avec python, il est possible de stocker et de manipuler des données dans un programme. Une variable stocke une donnée telle qu'un nombre, un nom d'utilisateur, un mot de passe, etc. Pour créer (déclarer) une variable, il suffit d'utiliser le symbole =.

Types

Pour stocker des données en Python, il faut utiliser des variables. Or, avec chaque variable, il y aura un type de données. Les chaînes de caractères, les entiers, les booléens et les listes sont des exemples de types de données.

  • Un type booléen ne peut contenir que la valeur Vrai ou Faux.
  • Un nombre entier fait partie des trois types numériques, y compris les flottants et les complexes. Un nombre entier est un nombre entier positif ou négatif.
  • Une chaîne de caractères est l'un des types de données les plus courants.

Opérateurs

Les opérateurs sont des symboles qui peuvent être utilisés dans les valeurs et les variables pour effectuer des comparaisons et des opérations mathématiques.

Opérateurs de comparaison :

  • == : égal ! = : non égal
  • + : addition
  • — : soustraction
  • * : multiplication
  • / : division
  • ** : exponentiation
  • % : modulus, donne le reste d'une division.

Langage Python : quels sont les principaux avantages ?

python avantages

Le langage Python doit sa popularité à plusieurs avantages qui profitent aussi bien aux débutants qu'aux experts.

Simple à utiliser et à comprendre

Pour les nouveaux arrivants, Python est simple à comprendre et à utiliser. Il s'agit d'un langage de programmation très développé dont la syntaxe est proche de l'anglais. Grâce à ces facteurs, le langage est simple à adapter. En raison de sa simplicité, les principes fondamentaux de Python peuvent être mis en œuvre plus rapidement que ceux d'autres langages de programmation.

Gratuit et Open-Source

Python est distribué sous une licence open-source approuvée par l'Open-Source Initiative (OSI). Par conséquent, les utilisateurs peuvent travailler dessus et le distribuer. Les utilisateurs peuvent télécharger le code source, le modifier et même distribuer leur version de Python. Les entreprises qui souhaitent modifier un comportement spécifique et construire leur version en bénéficieront.

Langage interprété

Il s'agit d'un langage interprété, ce qui signifie que le code est implémenté ligne par ligne. C'est l'une des caractéristiques qui le rendent simple à utiliser. En cas d'erreur, il arrête le processus et signale le problème. Python n'affiche qu'une seule erreur, même si le programme en comporte plusieurs. Cela facilite le débogage.

Bibliothèque étendue

Python comprend un grand nombre de bibliothèques que l'utilisateur peut utiliser. La bibliothèque standard de Python est immense et comprend presque toutes les fonctions imaginables. Des communautés importantes et solidaires, ainsi que le parrainage d'entreprises, y ont contribué. Lorsqu'ils travaillent avec Python, les utilisateurs n'ont pas besoin d'utiliser des bibliothèques externes.

Portabilité

De nombreux autres langages, y compris C/C++, exigent que l'utilisateur modifie son code pour s'exécuter sur différentes plates-formes. Python, au contraire, n'est pas équivalent aux autres langages de programmation. Il ne doit être écrit qu'une seule fois et peut ensuite être exécuté partout. Cependant, l'utilisateur doit éviter d'impliquer des fonctionnalités dépendantes du système.

Communauté de soutien

Python est un langage de programmation créé il y a de nombreuses années et dispose d'une grande communauté qui peut aider les programmeurs de tous niveaux d'expérience, des débutants aux spécialistes. La communauté de Python a contribué à sa croissance rapide par rapport à d'autres langages. Le langage de programmation Python est fourni avec de nombreux guides, des vidéos d'instruction et une documentation très compréhensible pour aider les développeurs à apprendre le langage plus rapidement et plus efficacement.

Inconvénients de Python

Bien que les avantages du langage de programmation Python soient plus importants, il existe quelques inconvénients qu'il convient de connaître. 

Faible vitesse

Les points forts peuvent parfois déboucher sur des points faibles. En voici un exemple. Il parait que Python fait partie des langages interprétés avec un typage dynamique. Cependant, cela signifie que le code s'exécute ligne par ligne, ce qui le rend plus lent. La nature dynamique de Python explique principalement sa lenteur, car un travail supplémentaire doit être effectué pendant le processus d'exécution. Il s'agit d'une des raisons pour lesquelles Python n'est pas utilisé lorsque la vitesse est un aspect important d'un programme donné.

Consommation de mémoire inefficace

Pour offrir une certaine simplicité aux programmeurs et aux développeurs, Python doit faire quelques compromis. Ce langage utilise une quantité énorme de mémoire, ce qui constitue un inconvénient surtout lorsqu'il faut développer une application en privilégiant l'optimisation de la mémoire.

Peu efficace dans la programmation pour les appareils mobiles

Les développeurs utilisent généralement Python pour la programmation côté serveur, et non pour les applications mobiles ou la programmation côté client. Cela s'explique par le fait que Python a une puissance de traitement lente et une efficacité limitée en termes de mémoire par rapport à d'autres langages de programmation.

Formation et outils Python

Python est un langage facile à apprendre, grâce à un fort soutien communautaire et à une syntaxe qui privilégie la lisibilité. Certains cours en ligne proposent d'enseigner la programmation Python aux utilisateurs en six semaines.

Python propose également des outils et des modules d'apprentissage. Les utilisateurs pourront se familiariser avec la version actuelle, notamment :

  • Python 3.0, qui date de 2008, reste la dernière version. Contrairement aux mises à jour précédentes, Python 3 présentait une compatibilité avancée et des changements de style de codage. 
  • Integrated Development and Learning Environment (IDLE) représente l'environnement de développement standard de Python. Il permet d'accéder au mode interactif de Python par le biais de la fenêtre du shell Python. 
  • Python Launcher permet aux développeurs d'exécuter des scripts Python depuis le bureau. 
  • Anaconda est une distribution open source de premier plan pour les langages de programmation Python et R. Elle comprend plus de 300 bibliothèques intégrées développées par les développeurs.

Python 2 vs Python 3 : les différences

Il existe deux versions de Python : Python 2 et Python 3. Il existe de nombreuses différences entre ces deux versions. Python 2 représente l'ancienne version, qui continuera à être supportée et donc à recevoir des mises à jour officielles jusqu'en 2020. Après cette date, elle continuera probablement à exister de manière non-officielle.

Python 3 est la version actuelle du langage. Elle apporte de nombreuses nouvelles fonctionnalités très utiles, comme un meilleur contrôle de la concurrence et un interpréteur plus efficace. Cependant, l'adoption de Python 3 a longtemps été ralentie par le manque de bibliothèques tierces supportées. Beaucoup d'entre elles n'étaient compatibles qu'avec Python 2, ce qui rendait la transition compliquée. Toutefois, ce problème a été presque résolu et il existe peu de raisons valables de continuer à utiliser Python 2.

Le langage Python pour le Big Data et le Machine Learning

python big data machine learning

Python sert principalement à la création de scripts et à l'automatisation. En effet, ce langage permet d'automatiser les interactions avec les navigateurs web ou les interfaces graphiques d'applications.

Cependant, le scripting et l'automatisation sont loin d'être les seules utilisations de ce langage. Il permet également la programmation d'applications, la création de services web ou d'API REST, ou encore la métaprogrammation et la génération de code.

Par ailleurs, ce langage peut également être utilisé dans le domaine de la science des données et du Machine Learning. Avec l'essor de l'analyse des données dans toutes les industries, ce domaine devient l'un de ses principaux cas d'utilisation.

La grande majorité des bibliothèques utilisées pour la science des données ou le Machine Learning ont des interfaces Python. Ainsi, ce langage est devenu l'interface de commande de haut niveau la plus populaire pour les bibliothèques de Machine Learning et autres algorithmes numériques. De nombreux ouvrages d'initiation sont disponibles sur le Web.

Enfin, des entreprises spécialisées dans la robotique comme Aldebaran utilisent ce langage pour programmer leurs robots. La société rachetée par Softbank a choisi ce langage de programmation pour faciliter la conception d'applications par des sociétés tierces et des amateurs.

Python est-il adapté aux débutants ?

Python peut être considéré comme adapté aux débutants. En effet, ce langage de programmation privilégie la lisibilité, ce qui le rend plus facile à comprendre et à utiliser. Sa syntaxe présente des similitudes avec la langue anglaise. De ce fait, il permet aux programmeurs novices de se lancer facilement dans le monde du développement.

Python est également un langage flexible et dynamiquement typé. Cela signifie que les règles ne sont pas strictement définies, ce qui le rend plus intuitif. Il s'agit également d'un langage plus indulgent, capable de fonctionner avec un certain niveau d'erreurs.

En fait, la facilité d'utilisation était l'un des principes fondateurs de Python lors de sa création en 1989 par Guido van Rossum (et de sa publication ultérieure en 1991). L'objectif initial de Python était de faciliter la programmation, en mettant l'accent sur la lisibilité du code. Il peut fonctionner sur diverses plates-formes telles que Windows, Linux et Mac OS, et c'est un logiciel libre.

Un débutant aura besoin d'environ 6 à 8 semaines pour apprendre les bases de Python. Il faut ce temps pour apprendre à comprendre la plupart des lignes de code en Python. Il faudrait beaucoup plus de temps pour apprendre Python afin de lancer une nouvelle carrière de développeur Python.

Pourquoi les utilisent Python ?

Python est le langage le plus utilisé pour la Data Science. Pour cause, ce langage est simple, lisible, propre, flexible et compatible avec de nombreuses plateformes. Ses nombreuses bibliothèques, telles que TensorFlow, Scipy et Numpy permettent d'effectuer une large variété de tâches.

Ainsi, selon un sondage mené en 2013 par O'Reilly, 40% des Data Scientists utilisent Python au quotidien. Sa syntaxe très simple le rend utilisable par des personnes n'ayant pas forcément de background en ingénierie.

Il permet le prototypage rapide, et le code peut être exécuté n'importe où : Windows, macOS, UNIX, Linux… sa flexibilité permet de prendre en charge le développement de modèles de Machine Learning, le forage de données, la classification et bien d'autres tâches plus rapidement que les autres langage.

Des bibliothèques comme Scrapy et BeautifulSoup permettent d'extraire des données depuis internet, tandis que Seaborn et Matplotlib aident à la Data Visualization. De leur côté, Tensorflow, Keras et Theano permettent le développement de modèles de Deep Learning, et Scikit-Learn aide au développement d'algorithmes de Machine Learning.

Python et Big Data : top des meilleures bibliothèques et packages

python bibliotheques big data

Si le Python s'est érigé comme le meilleur langage de programmation pour le Big Data, c'est grâce à ses différents packages et bibliothèques de science des données. Voici les plus populaires.

Pandas

Pandas fait partie des bibliothèques de science des données les plus populaires. Elle a été développée par des data scientists habitués à R et Python. Désormais, il est utilisé par un grand nombre de scientifiques et d'analystes.

Pandas offre de nombreuses fonctionnalités natives utiles. En particulier, elle permet de lire des données provenant de nombreuses sources, de créer de grands cadres de données à partir de ces sources. Sans oublier qu'elle offre la possibilité d'effectuer des analyses agrégées en fonction des questions auxquelles vous souhaitez répondre.

Des fonctions de visualisation vous permettent également de générer des graphiques à partir des résultats des analyses, ou de les exporter vers Excel. Il peut également être utilisé pour manipuler des tableaux numériques et des séries chronologiques.

Agate

Plus récente que Pandas, Agate est également une bibliothèque Python conçue pour résoudre des problèmes d'analyse de données. Elle propose notamment des fonctionnalités d'analyse et de comparaison de tableaux Excel, ou encore d'effectuer des calculs statistiques sur une base de données.

Dans l'ensemble, il est plus facile d'apprendre à maîtriser Agate que Pandas. De pluus, ses fonctionnalités de visualisation de données permettent de visualiser facilement et rapidement les résultats des analyses.

Bokeh

Bokeh est un outil idéal pour créer des visualisations d'ensembles de données. Il peut être utilisé en conjonction avec Agate, Pandas et d'autres bibliothèques d'analyse de données.

Il peut aussi s'utiliser avec Pyton pur. Cet outil vous permet de créer d'excellents graphiques et visualisations sans avoir à coder de manière intensive.

NumPy

NumPy fait partie des packages utilisés pour les calculs scientifiques en Python. Il convient parfaitement aux opérations liées à l'algèbre linéaire, aux transformées de Fourier ou au calcul de nombres aléatoires.

Il peut être utilisé comme un conteneur de données générique multidimensionnel. De plus, il s'intègre facilement à de nombreuses bases de données différentes.

Scipy

Scipy est une bibliothèque pour les calculs techniques et scientifiques. Elle regroupe des modules pour les tâches de science des données et d'ingénierie telles que l'algèbre, l'interpolation, le FFT, ou le traitement de signaux et d'images.

Scikit-learn

Scikit-learn est très utile pour les algorithmes de classification, de régression ou de clustering tels que les forêts d'arbres décisionnels, le gradient boosting, ou encore les k-moyennes.

Cette bibliothèque de Machine Learning pour Python se révèle complémentaire pour les autres bibliothèques telles que NumPy et SciPy.

PyBrain

PyBrain est en réalité l'acronyme de Python-Based Reinforcement Learning, Artificial Intelligence, and Neural Network Library. Comme son nom le suggère, il s'agit donc d'une bibliothèque offrant des algorithmes simples mais puissants pour les tâches de Machine Learning.

On peut aussi l'utiliser pour tester et comparer des algorithmes en utilisant une variété d'environnements prédéfinis.

TensorFlow

Développé par Google Brain, TensorFlow est une bibliothèque de Machine Learning. Ses graphiques de data flow et son architecture flexible permettent d'effectuer des opérations et des calculs de données à l'aide d'une API unique sur de multiples CPU ou GPU depuis un PC, un serveur ou même un appareil mobile.

Parmi les autres bibliothèques Python, on peut aussi citer Cython qui permet de convertir du code pour l'exécuter dans un environnement C afin de réduire le runtime. De même, PyMySQL permet de connecter une base de données MySQL, d'extraire des données et d'exécuter des requêtes. BeautifulSoup permet de lire des données XML et HTML. Enfin, le notebook iPython permet la programmation interactive.

Apprendre le Python avec OpenClassrooms

Si vous souhaitez apprendre le langage Python progressivement et gratuitement, une solution adaptée aux débutants est le cours d'initiation proposé par OpenClassrooms.

Ce cours se décompose en cinq parties. Après une introduction complète sur le Python, vous apprendrez à maîtriser la programmation orientée objet côté utilisateur, puis côté développeur. Vous découvrirez ensuite la bibliothèque standard, puis le cours se conclus par quelques annexes additionnelles.

L'avantage de la solution OpenClassrooms est qu'elle est gratuite, accessible aux débutants, et qu'elle permet de progresser à son rythme. De plus, une fois la formation achevée, vous pourrez recevoir une certification reconnue par les professionnels à condition de réussir les exercices de .

Quelques ressources pour apprendre le langage python tout seul

Plusieurs personnes ont mis en ligne des PDF ou des vidéos d'apprentissage de Python pour les débutants. Si vous êtes plutôt du genre autodidacte, ces ressources sont peut-être faites pour vous.  Pour celles et ceux qui apprécient le format vidéo, Dominique Liard a publié sur YouTube une série de vidéo pour apprendre Python.

M1 : Python compatible nativement avec macOS 11

En décembre 2020, les développeurs de Core Python ont relaxé la version 3.9.1 du langage Python. Il s'agit de la première version nativement compatible avec macOS 11 Big Sur, sur la nouvelle puce M1 d'Apple basée sur Arm.

Les équipes de Core Python ont mis au point un installeur expérimental appelé macos11.0. Grâce à Xcode 11, il est possible de créer des binaires Universal 2 fonctionnant sur les puces Apple Silicon.

Les binaires peuvent être développées sur des versions actuelles de macOS, et déployées sur d'anciennes versions du systèmes d'exploitation. C'est donc un soulagement pour les Data Scientists, suite à la décision d'Apple de changer d'architecture.

Google Atheris : un outil open source pour trouver les bugs de Python

Les experts en sécurité de Google ont  » open-sourcé  » l'outil Atheris. Celui-ci permet de trouver des bugs de sécurité et des vulnérabilités dans le code Python afin de les corriger avant qu'il ne soit trop tard.

Cet outil repose sur la technique du  » fuzzing « . Ce concept consiste à nourrir une application à l'aide d'une large quantité de données aléatoires, et d'analyser le résultat pour détecter d'éventuels crashes ou anomalies. Les développeurs peuvent alors rechercher les bugs dans le code de l'application.

Ce nouvel outil rejoint la liste des différents  » fuzzers  » déployés par Google en open-source depuis 2013 : OSS-Fuzz, Syzkaller, ClusterFuzz, Fuzzilli ou encore BrokenType. Toutefois, ces précédentes solutions permettaient de découvrir des bugs dans les applications en C ou C++.

Alors que Python est désormais le 3ème langage le plus utilisé selon l'index TIOBE, Google répond à une demande de plus en plus importante avec Atheris. L'outil, initialement développé lors d'un hackaton interne en octobre 2020, permet le fuzzing du code en Python 2.7 et 3.3+ ou des extensions natives créées avec CPython. .

Il est toutefois conseillé de l'utiliser avec le code en Python 3.8 ou supérieur, car les nouvelles fonctionnalités du langage permettent à Atheris de trouver davantage de bugs. Le code Atheris est disponible sur GitHub ou PyPi.

Python reste le langage de programmation le plus populaire

python 2021 populaire

Les langages de programmation se multiplient. Par conséquent, il devient difficile pour les développeurs de choisir celui qu'ils doivent apprendre pour faire évoluer leur carrière.

À travers son rapport « Where Programming, Ops, AI, and the Cloud are Headed in 2021 », O'Reilly révèle les langages les plus populaires à l'aube de 2021. Les analystes ont dressé leurs bilans à partir des données issues des formations en ligne, des formations partenaires et des événements virtuels d'O'Reilly.

Python reste le langage le plus demandé même en 2022. En effet, l'intérêt des développeurs pour Python est en hausse de 27 % par rapport à l'année 2021. Cet engouement est dû en grande partie aux nombreux avantages de Python pour le Machine Learning. En effet, l'utilisation de la bibliothèque scikit-learn a connu une hausse de 11 %. Quant au framework PyTorch, utilisé pour le Deep Learning, a vu son adoption augmenter de 159 %.

D'autres langages gagnent en popularité

L'utilisation de JavaScript a grimpé de 40 %, tandis que celle du C a augmenté de 12 % et celle du C++ de 10 %. Certains langages moins utilisés connaissent également une croissance, tels que Go, Rust, Ruby et Dart.

En effet, Rust peut devenir le langage de choix pour la programmation de systèmes. En particulier pour la création de nouveaux systèmes d'exploitation et d'outils pour les opérations de cloud computing. De même, Go s'est imposé comme un langage clé pour la programmation concurrente.

Une autre tendance identifiée par O'Reilly concerne l'adoption de la programmation « low-code » ou « no-code ». Cette approche permet aux utilisateurs ne possédant pas de compétences en codage informatique de créer des applications à l'aide d'outils intuitifs et d'interfaces graphiques.

Néanmoins, les développeurs professionnels ne risquent pas de se retrouver au chômage. En fait, les nouveaux langages, bibliothèques et outils utilisés pour ce type de programmation vont toujours exiger des développeurs expérimentés.

et machine learning

L'intérêt des développeurs pour l'IA a bondi de 64 %, contre 14 % pour le ML. Quant au traitement du langage naturel, il enregistre une hausse de 21 %. La plateforme la plus populaire pour le Machine Learning est TensorFlow, avec un gain d'intérêt de 6 % par rapport à 2022.

Cloud Computing

En outre, de plus en plus de développeurs souhaitent apprendre à utiliser le cloud computing. En une année, l'intérêt pour a augmenté de 5 %. Certes, le cloud d' reste le plus populaire, mais l'augmentation de l'intérêt pour a explosé à 136 %.

Du côté de , l'augmentation atteint 84 %. Cette tendance montre que de plus en plus d'entreprises migrent leurs données et applications vers le Cloud. Enfin, l'adoption de la formation en ligne a augmenté de 96 %.

Python : deux vulnérabilités permettant l'exécution de code à distance corrigées par la PSF

python vulnérabilité

Début 2021, l'on a découvert deux vulnérabilités affectant les versions actuelles de Python. La faille  » CVE-2021-3177 «  impactait le buffer et pouvait mener à l'exécution de code à distance dans les applications Python.

Fort heureusement, dans un billet publié sur son blog, la PSF précise que l'exécution de code à distance requiert de nombreuses conditions. Néanmoins, cette vulnérabilité permet de lancer des attaques de type DDoS. Un cyberattaquant pourrait submerger le buffer afin de faire crasher une application. La seconde vulnérabilité, CVE-2021-23336, permettait d'empoisonner le cache web.

Suite à la découverte de ces failles, la fondation Python a corrigé les deux bugs avec la relaxe de Python 3.8.8 et 3.9.2. Il est donc important de mettre à jour la version de Python que vous utilisez afin de supprimer cette menace de sécurité.

Python va dépasser Java et C dans le TIOBE Index pour la première fois

Chaque mois, TIOBE publie un classement des langages de programmation les plus utilisés. Au fil du temps, ce classement mensuel permet d'observer les tendances dans le domaine du coding.

Le système de notation, en pourcentage, se base notamment sur le volume de recherches effectuées sur Bing, Amazon, YouTube, Wikipedia, Google, Yahoo et Baidu pour chaque langage de programmation.

En juin 2021, le langage C occupe le sommet du classement avec une note de 12,54%. Toutefois, cette note représente une baisse de 4,65% par rapport à juin 2020.

Or, Python est en seconde position avec une note de 11,84%. L'écart entre ces deux langages n'est donc plus que de 0,7%. La note de Python a augmenté de 3,48% au cours des douze derniers mois.

On retrouve ensuite Java en troisième place avec une note de 11,54%, soit 4,56% de moins qu'en juin 2020. A l'époque, Java était en seconde position.

Selon Paul Jansen, CEO de TIOBE Software, Python atteindra très bientôt la première place du classement. Cette ascension pourrait survenir en juillet 2021, alors que l'index TIOBE lui-même fêtera ses 20 ans.

Pendant ces deux décennies, C et Java a accaparé la première place. Le dominance de Python représenterait donc un tournant historique dans l'histoire de l'informatique

Le reste du classement reste inchangé depuis juin 2020 de la quatrième à la huitième place : C++, C#, Visual Basic, JavaScript et PHP. En neuvième position, Assembly reçoit une note de 2,05%. C'est une hausse à hauteur de 1,09% par rapport à juin 2020, lorsque ce langage était en 14ème place.

SQL clôture le top 10 avec une note de 1,88%. Ceci représente une augmentation de 0,15% par rapport à juin 2020.

En dehors du top 10, Classic Visual Basic a gagné huit place en un an. Le numéro 12, Groovy, a gagné 19 places et le numéro 17, Fortran, a pris 20 positions. En revanche, R et Swift ont perdu cinq places chacun et tombent en position 14 et 16 respectivement. MATLAB a clôturé le top 20 qui a perdu quatre places et Go qui en a perdu huit.

Parmi les langages prometteurs pour le futur, on compte Dart, Kotlin, Julia, Rust, TypeScript et Elixir. Pour l'heure, ces récents langages sont encore loin du sommet et n'ont pas vraiment bougé dans le classement au cours de l'année passée.

Python et JavaScript ont les plus grosses communautés de développeurs selon SlashData

Au fil des six premiers mois de 2021, la communauté mondiale des développeurs a profité d'une croissance effrénée. C'est ce que met en lumière un rapport publié par SlashData.

Selon cette étude, on dénombre à l'heure actuelle 24,3 millions de développeurs dans le monde au premier trimestre 2021. C'est une augmentation d'environ 14% par rapport aux 21,3 millions recensés en octobre 2020.

En six mois, JavaScript a attiré environ 1,4 million de nouveaux développeurs. Avec 13,8 millions de développeurs, ce langage jouit de la plus large communauté. Il a aussi profité de la plus forte croissance, avec 4,5 millions de développeurs supplémentaires entre le T4 2017 et le T1 2021. Même dans les secteurs où il ne s'agit pas du langage de prédilection, comme la Data Science, environ un quart des développeurs utilise JavaScript.

slashdata python

En seconde position, on retrouve Python avec une communauté de 10,1 millions de développeurs. Cette communauté se développe à un rythme de 20%, ce qui représente le taux de croissance le plus haut parmi tous les langages de programmation.

Selon le rapport, la popularité de Python est en grande partie liée à l'essor de la Data Science et du Machine Learning. En effet, près de 70% des Data Scientists et des développeurs en Machine Learning utilisent Python. En comparaison, seuls 17% utilisent R.

Au classement des plus grandes communautés, on retrouve ensuite Java avec 9,4 millions de développeurs, C/C++ à 7,3 millions, et C# à 6,5 millions. Le langage Kotlin d'Android dépasse iOS Swift de peu, avec respectivement 2,6 millions et 2,5 millions de développeurs.

Python 4.0 pourrait ne jamais voir le jour, selon son créateur

guido van rossum

Selon Guido Van Rossum, le créateur de Python, la version 4 du langage pourrait ne jamais voir le jour. Ceci résulte principalement des nombreuses difficultés rencontrées lors de la migration de Python 2.0 à Python 3.0 en 2008.

Interrogé à ce sujet lors d'une interview accordée à Microsoft Reactor, M. Van Rossum a expliqué que ni lui ni l'équipe centrale de développeurs Python n'étaient motivés par la publication d'une version 4.0. Cela s'explique par les nombreux revers rencontrés lors de la précédente mise à jour majeure.

Puisque Python 3 n'est pas compatible avec Python, les développeurs qui ont créé des dépendances de bibliothèques logicielles basées sur Python 2 n'ont pas pu les mettre à niveau vers Python. Une longue période de migration s'en est suivie, qui a duré plusieurs années et a laissé un souvenir amer au créateur du langage. Pour rappel, le cycle de vie de Python 2 a pris fin en avril 2020 avec la version 2.7.18.

La seule raison pour laquelle Python 4.0 verrait le jour serait un changement majeur en termes de compatibilité avec le C. La mise à jour serait alors indispensable.

En dehors de cela, Python continuera à suivre un calendrier de sortie annuel strict. Les versions 3.x continueront jusqu'à 3.99, puis un autre chiffre sera ajouté après la virgule si nécessaire.

Python pourrait devenir 5 fois plus rapide d'ici 5 ans

python vitesse

Malgré ses nombreuses qualités, l'un des principaux points faibles de Python est sa lenteur. En comparaison avec C++ ou Java, ce langage interprété à haut niveau d'abstraction est nettement moins rapide.

Les choses pourraient toutefois changer au fil des prochaines versions. Lors du Python Language Summit, Guido Van Rossum, créateur du langage, a annoncé que la vitesse serait doublée avec la version 3.11 attendue pour octobre 2022.

Et ce n'est qu'un début. Une nouvelle version sera déployée chaque année, et la vitesse actuelle devrait être multipliée par cinq d'ici cinq ans.

Dans une présentation postée sur GitHub, Van Rossum explique comment il compte parvenir à cette prouesse. Un interpréteur adaptatif, une optimisation du frame stack, et une prise en charge d'exception  » zero overhead  » comptent parmi les pistes envisagées.

D'autres changements sont à prévoir, comme une ABI (Application Binary Interface) ou un générateur de code automatique pour continuer à accélérer Python. Ainsi, la vitesse semble désormais la priorité absolue pour les créateurs de Python.

Source : openclassrooms.com

Newsletter

Envie de ne louper aucun de nos articles ? Abonnez vous pour recevoir chaque semaine les meilleurs actualités avant tout le monde.

4 commentaires

4 Commentaires

  1. Je me sens bien avec les analyses des données avec spss. Comment maîtriser R et SAS ?????
    La programmation en python

  2. Parfait j’aimerais suivre la formation sur l’intelligence Artificielle

  3. je n’ai rien compris

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *