5 BONNES RAISONS POUR CHOISIR PYTHON
Pendant mes 5 ans d’études en informatique et mes 10 ans de carrière en développement, j’ai croisé pas moins d’une centaine de langages de programmation, des plus simples aux plus complexes, des plus « mainstream » au plus obsolètes. À chacun ses caractéristiques, sa syntaxe, ses forces et ses limites.
Aujourd’hui il existe des milliers et des milliers de langages de programmation, mais seulement une petite « élite » se distingue par domaine (Web, systèmes embarqués, logiciels de gestion…).
La question qui se pose donc : Pourquoi Python est-il devenu l’une de ces élites? Pourquoi est-il le langage préféré des Data scientistes ?
Plusieurs facteurs ont fait que de de langage un acteur incontournable dans beaucoup de domaines, notamment celui de Data science. Ici j’énumère quelques facteurs clés :
1. Un langage open source
Quand on pense à l’open source on pense à la liberté, à un potentiel illimité sans qu’un propriétaire impose ses restrictions. En effet, Python n’appartient qu’à ses utilisateurs et à ses contributeurs qui forment une énorme communauté mondiale qui ne cesse de grandir et de contribuer à l’amélioration du langage, de ses environnements de développement (IDE), et de l’enrichir avec de nouvelles librairies utiles.
2. Une syntaxe facile
Une autre raison qui rend Python si populaire est sa syntaxe facile. En effet il est beaucoup plus facile à appréhender que certains langages comme C, C++ et même Java. On prend comme exemple la déclaration des variables. Le type des variables est déterminé implicitement par Python, sans avoir besoin de le spécifier clairement comme on doit le faire dans C, ou d’allouer de la mémoire et gérer les pointeurs.
3. Un langage de Programmation Orienté Objet
Python est un langage de Programmation orienté objet, ce qui lui apporte les grands avantages de ce concept: la modularité, l’abstraction, la productivité et ré-utilisabilité, la sûreté…
4. Le gamme de librairies
Python comporte une large gamme de librairies pour Data science et Data analytics :
• Numpy: utile pour les calculs mathématiques comme la multiplication matricielle, opérations sur les tableaux.
• SciPy: utile pour les calculs scientifiques avec des modules de visualisation, optimisation, algèbre linéaire et beaucoup d’autres choses.
• Pandas: contient des outils et des fonctions qui rendent l’analyse des données rapide et moins complexe.
Elle comporte 2 structures de données importantes : les séries unidimensionnelles indexées (int, string…), et les DataFrame qui sont des structures bidimensionnelles indexées, sous forme de lignes et colonnes, ce qui rend facile l’extraction et la récupération par Python des données Excel, csv ou sql.
Pandas fournit une variété de fonctions utiles, qu’on peut exécuter sur les séries et les DataFrames comme Average, Sum, Group By…
• Scikits learn: c’est un package python pour Machine Learning. Il inclut une large gamme d’algorithmes de ML, et donc permet d’implémenter des traitements simples ou complexes
de ML. Son grand avantage est qu’il est compatible avec les autres librairies Python, surtout Pandas et Numpy.
Ce package contient par exemple les algorithmes de régression, et il permet de calculer le taux de précision de ces algorithmes.
• Matplotlib et Seabourn : Ce sont des librairies très utiles pour la visualisation de données sous forme de graphiques et histogrammes.
5. Ses environments
Enfin, la force de Python vient de la stabilité, modernité et variété de ses environnements de développement (IDE). On prend comme exemple les Notebooks, ce sont les organisateurs de code magiques pour les Data scientists. Ils constituent une approche « Story telling » du code, ce qui rend
le travail organisé, lisible et élégant à présenter. Ces notebooks peuvent être gérés par plusieurs IDE sur machine local ou sur Cloud. On note comme exemple Jupyter et Google colaboratory.
Pour conclure, il suffit de regarder les sondages sur les langages de programmation préférés des développeurs (comme le sondage Kaggle qui place Python en tête loin devant les autres) pour constater la popularité de Python et déduire qu’il gagne la bataille face aux autres langages de programmation. Cela durera-t-il pour l’éternité ?