Python : présentation d’un langage de programmation « tout public » 4


Temps de lecture : 6 minutes
Share Button
python - développement - ORSYS

Puissant, simple d’utilisation… mais pas que ! Python est aujourd’hui indéniablement l’un des langages de programmation les plus populaires. Matthieu Falce*, développeur et formateur chez ORSYS, nous en propose un petit tour d’horizon pour expliquer les raisons d’un tel succès – et pourquoi il est très intéressant d’apprendre Python.

Que serait le monde de l’informatique aujourd’hui si, pendant ses vacances de Noël 1989, Guido Van Rossum, un développeur néerlandais, n’avait pas profité de son temps libre pour développer un projet qu’il a nommé d’après sa troupe humoristique préférée, les Monty Python ? Ainsi le langage Python était né.

Van Rossum n’en était alors pas à la création de son premier langage ; dans le cadre de son travail dans un laboratoire de recherche en mathématiques, il avait en effet déjà conçu ABC, un langage à destination d’utilisateurs non-experts. C’est dans ce contexte que Python prend la suite. Toujours destiné à un large public, il permet de répondre à un besoin récurrent : utiliser facilement des codes en C ou Fortran, tout en étant plus simple d’accès. Il est donc dynamique (les opérations effectuées au moment de la compilation peuvent se faire à l’exécution) et de haut niveau (il fait abstraction du matériel).

Python étant un langage open source, de nombreux autres développeurs (plus d’une centaine depuis sa création) y apportent sans cesse de nouvelles fonctionnalités. Pour sa part, Guido Van Rossum a continué à développer Python dans diverses entreprises. Les plus notables étant Google et Dropbox, où il contribue aux projets internes mais également au développement du langage.

Python, un vieux langage devenu populaire

Bien que Python soit plus ancien que Java (créé en 1995), son utilisation est pendant longtemps restée assez confidentielle. Il a d’abord été éclipsé par Perl, le grand langage dynamique des années 90, puis Java qui, lui, est orienté objet et à typage statique sur des projets d’entreprise.

D’ailleurs, à ses débuts, Python est essentiellement utilisé par des scientifiques et des administrateurs systèmes. Il sert de glue entre différents programmes. C’est dans les années 2000 que tout s’accélère : il devient l’un des trois langages à être officiellement autorisé en production chez Google. L’heure de gloire s’étire lorsqu’il devient l’égérie de gros noms d’Internet tels que YouTube, Dropbox ou encore Instagram dont le back end est réalisé en Python/Django.

Aujourd’hui, Python est partout, du web au DevOps, en passant par la data science et le deep learning. Il réussit à séduire tous les publics, du développeur solitaire jusqu’aux équipes de grands comptes. D’après le site PyPL, qui estime la popularité des langages de programmation à partir des tendances de recherche Google, Python aurait une part de marché de 30.8 %. Son créateur lui-même ne se doutait pas d’un tel succès. Il estime que c’est probablement le décollage du big data, de la data science et la démocratisation du développement dans les années 2010 qui a vraiment ancré Python comme un langage incontournable…

Pourquoi Python ? 

Pour autant, plusieurs éléments peuvent expliquer cette réussite. 

D’abord, le langage est très expressif et puissant. Cela le rend très facile à apprendre. C’est bien pour cette raison qu’on l’enseigne au lycée et qu’il est un choix classique pour les débutants. Il est donc facile d’implémenter des algorithmes complexes en peu de lignes de code avec Python. L’un des grands principes du langage est d’ailleurs : « la lisibilité compte ». Et il se tient à ce principe, les programmes étant souvent bien plus lus que modifiés. C’est ainsi que sa syntaxe épurée, sans accolades ni points-virgules et avec une indentation obligatoire, va rendre vos codes plus légers – d’ailleurs, même les messages d’erreurs sont très clairs.

De même, à un niveau plus technique, le fait qu’il soit interprété, qu’il ait une gestion automatique de la mémoire et qu’il possède un système de type dynamique (le type des variables est implicite et déterminé à l’exécution, contrairement au C et au Java, par exemple) le rend parfaitement adapté à la réalisation de prototypes. Le développement est fun à nouveau ; tapez import « antigravity » dans un interpréteur Python, et vous verrez.

L’écosystème de bibliothèques disponibles aide également à s’approprier le langage. On pourrait en effet dire que Python est livré avec « piles incluses », tant sa bibliothèque standard est riche. Si cela ne suffisait pas, il est toujours possible d’installer l’un des 271 000 modules tiers disponibles sur le dépôt officiel. Quelle que soit votre problématique, des bibliothèques existeront toujours pour régler les aspects techniques et vous permettre de vous focaliser sur votre métier. En plus de rajouter certaines fonctionnalités, certaines extensions vont changer la façon de programmer. Comme les Jupyter Notebook, qui permettent de lier code, explications et présentation des données.

Un langage pour se faciliter la vie

Les bibliothèques ne sont d’ailleurs pas toujours développées en Python. Prenons Tensorflow, la référence en deep learning, qui est très exigeante en termes de vitesse de calculs… L’outil se code pour plus de la moitié en C++, et pourtant les bindings Python sont les plus utilisés. Cela nous permet d’avoir le meilleur des deux mondes. À la fois la vitesse d’exécution grâce aux optimisations « bas niveau » réalisées en C++, et un développement rapide grâce à l’utilisation d’un langage haut niveau. 

Il est donc possible que la clé du succès du langage réside dans le mélange de ces atouts : Python n’est le meilleur nulle part, mais il est excellent partout. Sur un domaine précis, il existe bien souvent une alternative meilleure ou plus populaire. Cependant, de nos jours les projets sont complexes et multi-facettes. Les programmes actuels ne résolvent plus une tâche bien définie, mais vont grandir continuellement.

L’ajout de fonctionnalités peut ainsi être relativement varié et dépasser les cahiers des charges initiaux. Il n’est plus rare de voir des programmes mélangeant de l’analyse de données à du web, comme pour la plupart des sites e-commerce qui voudront par exemple analyser leurs tendances de ventes. C’est dans ce cas de figure que Python va briller par sa versatilité. Il rend possible l’utilisation d’un seul langage pour toute la partie back end. Ce qui facilite les recrutements et les partages de connaissance au sein des équipes.

Quel(s) public(s) ?

Parce qu’il est un langage de haut niveau (rappel : qui fait donc abstraction du matériel), tout le monde peut apprendre Python. C’est bien pour cette raison que de nombreux utilisateurs sont des experts métiers et non pas des développeurs de formation. On y retrouve des scientifiques, des ingénieurs, mais également des personnes moins orientées vers la technique comme des profils marketing, ou encore des artistes.

Au-delà de cette mixité des publics, on se rend compte que Python sert dans de nombreux secteurs d’activité. Que ce soit dans le cinéma pour, par exemple, gérer les rendus de films d’animation ou scripter des logiciels de rendus 3D… Ou bien en finance, pour déterminer quels sont les meilleurs placements. Voire dans le domaine des énergies renouvelables pour prédire les productions de champs d’éoliennes ou de panneaux solaires. Globalement, tout le monde peut trouver une utilité à Python !

Et des autodidactes

Cependant, nombreux sont les utilisateurs qui ont « appris sur le tas », en autodidactes, en s’appuyant sur les ressources disponibles sur Internet. Un apprentissage déstructuré qui ne permet pas forcément d’acquérir les bases de connaissances essentielles pour être autonome, et pouvoir utiliser ce langage efficacement dans tout son potentiel. On compte, finalement, assez peu de développeurs Python, alors que le nombre d’utilisateurs explose. Selon une étude de l’entreprise d’analyse SlashData, il y aurait en effet plus de 8 millions d’utilisateurs du langage dans le monde en 2019. Chiffre en progression de 1.7 million par rapport à 2018.

Or, comme le dit Guido Van Rossum, le meilleur moyen de débuter dans ce langage (et dans la programmation en général) est de le faire à plusieurs, ou de disposer d’un mentor, tout en s’amusant pour cultiver sa soif de découverte. Bien que simple d’accès, la programmation en Python n’en reste pas moins un monde à part. Un monde qu’il faut prendre le temps de découvrir.

La formation permet d’avoir accès à un expert partageant son expérience afin, d’une part, d’optimiser le temps d’apprentissage grâce à un programme cohérent et, d’autre part, de construire des bases solides dans le domaine. Cela vaut aussi bien pour les débutants en programmation qui trouveront des cours d’initiations pour notamment automatiser des tâches dans leur quotidien… que pour des experts d’autres langages qui souhaitent connaître les spécificités de Python et renforcer leur efficacité dans leurs développements. Bref, tout est fait pour faciliter l’apprentissage du langage ; il ne reste plus qu’à trouver formation à son pied.


Pour se former :

Matthieu Falce - expert ORSYS

Matthieu Falce est développeur indépendant et formateur en Python, data science et développement web. Ingénieur en bio-informatique de formation, il a travaillé dans plusieurs domaines : la recherche chez Inria, le développement web fullstack chez FUN-Mooc.

 Depuis plusieurs années, il est indépendant en informatique, où il allie son intérêt pour la pédagogie à ses compétences techniques. Touche à tout et généraliste, il s’intéresse au DevOps, à la data science et à l’interface entre ces domaines. Il propose des formations ainsi que de la prestation pour réaliser vos prototypes ou déployer vos projets et du conseil pour vous aider à les cadrer.

Share Button

Laissez un commentaire

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

4 commentaires sur “Python : présentation d’un langage de programmation « tout public »