Qu'est-ce que Python ?
Python est un langage de programmation informatique généraliste. Contrairement à HTML, CSS ou JavaScript, son usage n’est donc pas limité au développement web. Il peut être utilisé pour tout type de programmation et de développement logiciel.
On s’en sert notamment pour le développement back end d’applications web ou mobile, et pour le développement de logiciels et d’applications pour PC. Il permet également d’écrire des scripts système, afin de créer des instructions pour un système informatique.
Par ailleurs, Python est le langage informatique le plus populaire pour le traitement Big Data, l’exécution de calculs mathématiques ou le Machine Learning. De manière générale, il s’agit du langage de prédilection pour la Data Science.
À quoi sert Python ?
L’un des principaux cas d’usage de Python est le script et l’automatisation. Ce langage peut par exemple remplacer les scripts shell, mais permet aussi d’automatiser les interactions avec les navigateurs web ou les interfaces graphiques des applications.
Il permet aussi l’approvisionnement de système ou la configuration au travers d’outils comme Ansible ou Salt. Toutefois, c’est loin d’être ses seules applications.
Une autre utilisation est la programmation d’application. Il est possible de créer toutes sortes d’applications à l’aide de ce langage. Même s’il ne permet pas de générer des binaires standards à partir d’un script, des packages tiers comme cx Freeze et PyInstaller compensent cette faiblesse.
En outre, Python est le langage le plus utilisé pour la Data Science et le Machine Learning. La grande majorité des bibliothèques utilisées pour ces deux disciplines d’analyse de données ont des interfaces Python. C’est ce qui explique qu’il soit sa popularité en tant qu’interface de commande haut niveau pour les bibliothèques de Machine Learning et autres algorithmes numériques.
On utilise aussi ce langage pour la création de services Web et d’APIs RESTful. Ses différentes bibliothèques natives et frameworks web tiers permettent de programmer des sites web data-drivent avec quelques lignes de code seulement.
Un autre cas d’usage est la métaprogrammation et la génération de code. Chaque élément de ce langage est un objet, y compris les modules et les bibliothèques.
C’est ce qui fait de Python un générateur de code très efficace. Il est possible d’écrire des applications manipulant leurs propres fonctions, beaucoup plus extensibles qu’avec d’autres langages. Il est aussi possible de s’en servir pour diriger des systèmes de génération de code comme LLVM pour créer du code dans d’autres langages.
son histoire
Au CWI
À la fin des années 1980, le programmeur Guido van Rossum participait au développement du langage de programmation ABC au Centrum voor Wiskunde en Informatica (CWI) aux Pays-Bas. Il travaillait alors dans l’équipe du système d’exploitation Amoeba dont les appels systèmes étaient difficilement interfaçables avec le bourne shell qui était utilisé comme interface utilisateur. Il estima alors qu’un langage de script inspiré d’ABC pourrait être intéressant comme interpréteur de commandes pour Amoeba
En 1989, profitant d’une semaine de vacances durant les fêtes de Noël, il utilise son Macintosh personnel pour écrire la première version du langage. Fan de la série télévisée des Monty Python, il décide de baptiser ce projet Python. Il s’est principalement inspiré d’ABC, par exemple pour l’indentation comme syntaxe ou les types de haut niveau mais aussi de Modula-3 pour la gestion des exceptions, du langage C et des outils UNIX.
Durant l’année suivante le langage commence à être adopté par l’équipe du projet Amoeba, Guido poursuivant son développement principalement pendant son temps libre. En février 1991, la première version publique, numérotée 0.9.0, est postée sur le forum Usenet alt.sources. La dernière version sortie au CWI fut Python 1.2.
Au CNRI
En 1995, Van Rossum continua son travail sur Python au CNRI (en) à Reston (en), aux États-Unis, où il sortit plusieurs versions du logiciel.
À partir d'août 1995, l'équipe python travaille au CNRI sur Grail un navigateur web utilisant Tk. Il est l'équivalent pour python du navigateur HotJava, permettant d'exécuter des applets dans un environnement sécurisé. La première version publique, disponible en novembre, est la 0.2. Il a entraîné le développement de modules pour la librairie standard comme rexec, htmllib ou urllib. La version 0.6 sera la dernière de Grail; elle est publiée en avril 1999.
En 1999, le projet Computer Programming for Everybody (CP4E) est lancé avec collaboration entre le CNRI et la DARPA. Il s'agit d'utiliser python comme langage d'enseignement de la programmation. Cette initiative conduira à la création de l'environnement de développement IDLE. Les subventions fournies par la DARPA ne suffisant pas à pérenniser le projet, Guido doit quitter le CNRI. Python 1.6 fut la dernière version sortie au CNRI.
À BeOpen
Après la sortie de Python 1.6, et après que Van Rossum a quitté le CNRI pour travailler avec des développeurs de logiciels commerciaux, le CNRI et la Free Software Foundation collaborèrent pour modifier la licence de Python afin de la rendre compatible avec la GPL. Python 1.6.1 est essentiellement le même que Python 1.6 avec quelques correctifs mineurs et la nouvelle licence compatible GPL.
En 2000, l'équipe principale de développement de Python déménagea à BeOpen.com pour former l'équipe PythonLabs de BeOpen. Python 2.0 fut la seule version sortie à BeOpen.com. Après cette version, Guido Van Rossum et les autres développeurs de PythonLabs rejoignirent Digital Creations.
Andrew M. Kuchling a publié en décembre 1999 un texte nommé python warts qui synthétise les griefs les plus fréquents exprimés à l'encontre du langage. Ce document aura une influence certaine sur les développements futurs du langage.
La Python Software Foundation
Python 2.1 fut une version dérivée de Python 1.6.1, ainsi que de Python 2.0. Sa licence fut renommée Python Software Foundation License. Tout code, documentation et spécifications ajouté, depuis la sortie de Python 2.1 alpha, est détenu par la Python Software Foundation (PSF), une association sans but lucratif fondée en 2001, modelée d'après l'Apache Software Foundation.
Afin de réparer certains défauts du langage (ex: orientation objet avec deux types de classes), et pour nettoyer la bibliothèque standard de ses éléments obsolètes et redondants, Python a choisi de casser la compatibilité ascendante dans la nouvelle version majeure : Python 3.0, publié en décembre 2008. Cette version a été suivie rapidement par une version 3.1 qui corrige les erreurs de jeunesse de la version 3.0 en la rendant directement obsolète.