This is an archive copy of wikilivres.ca as of 18 February 2017 (from the WikiTeam dump). The original site is closed.

Page:Swinnen - Apprendre Python, 2010.djvu/8

Free texts and images.
Jump to navigation Jump to search
This page has been proofread


VIII Préface





Présentation du langage Python
Ce texte de Stéfane Fermigier date un peu, mais il reste d’actualité pour l’essentiel. Il est extrait d’un article paru dans le magazine Programmez ! en décembre 1998. Il est également disponible sur http://www.linuxcenter.org/articles/9812/python.html. Stéfane Fermigier est le ce-fondateur de l’AFUL (Association Francophone des Utilisateurs de Linux et des logiciels libres).


Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans l’imposer) une approche modulaire et orientée objet de la programmation. Python est développé depuis 1989 par Guido van Rossum et de nombreux contributeurs bénévoles.



Caractéristiques du langage

Détaillons un peu les principales caractéristiques de Python, plus précisément, du langage et de ses deux implantations actuelles :


• Python est portable, non seulement sur les différentes variantes d’Unix, mais aussi sur les OS propriétaires : Mac OS, BeOS, NeXTStep, MS-DOS et les différentes variantes de Windows. Un nouveau compilateur, baptisé JPython, est écrit en Java et génère du bytecode Java.


• Python est gratuit, mais on peut l’utiliser sans restriction dans des projets commerciaux.


• Python convient aussi bien à des scripts d’une dizaine de lignes qu’à des projets complexes de plusieurs dizaines de milliers de lignes.


• La syntaxe de Python est très simple et, combinée à des types de données évolués (listes, dictionnaires…), conduit à des programmes à la fois très compacts et très lisibles. À fonctionnalités égales, un programme Python (abondamment commenté et présenté selon les canons standards) est souvent de 3 à 5 fois plus court qu’un programme C ou C++ (ou même Java) équivalent, ce qui représente en général un temps de développement de 5 à 10 fois plus court et une facilité de maintenance largement accrue.


• Python gère ses ressources (mémoire, descripteurs de fichiers…) sans intervention du programmeur, par un mécanisme de comptage de références (proche, mais différent, d’un garbage collector).


• Il n’y a pas de pointeurs explicites en Python.


• Python est (optionnellement) multi-threadé.


• Python est orienté-objet. Il supporte l’héritage multiple et la surcharge des opérateurs. Dans son modèle objets, et en reprenant la terminologie de C++, toutes les méthodes sont virtuelles.


• Python intègre, comme Java ou les versions récentes de C++, un système d’exceptions, qui permettent de simplifier considérablement la gestion des erreurs.


• Python est dynamique (l’interpréteur peut évaluer des chaînes de caractères représentant des expressions ou des instructions Python), orthogonal (un petit nombre de concepts suffit à engendrer des constructions très riches), réflectif (il supporte la méta-