| Questions & Réponses au sujet de Python extraites de
Langages & Systèmes n°3Ce document reprend le texte de mes réponses à une interview pour
Langage et Systèmes n°3 de Janvier Février 2000. La version publiée
est susceptible de différer quelque peu de ce document de travail
envoyé au journaliste. 1. Questions & Réponses au sujet de Python
- 1.1. Tout d'abord quel est votre fonction dans le monde Python et ailleurs egalement ?
- 1.2. Qu'est ce que Python pour vous ?
- 1.3. Comment êtes vous tombé dedans ?
- 1.4. Quel est votre parcours informatique, venez vous du monde PHP par
exemple?
- 1.5. Que permet Python par rapport aux autres langages comme le C++, ou Java ?
- 1.6. Quel est l'avenir de Python ?
- 1.7. Comment est géré le développement de Python? Est-ce comme pour Linux où
Linus Torvalds et Alan Cox décident de ce qui est bon ou pas pour le
noyau, ou est-ce plus libre?
- 1.8. A combien de développeurs estimez vous la communauté ?
- 1.9. Comment travail cette communauté, par projet, par fusion...?
1.1. | Tout d'abord quel est votre fonction dans le monde Python et ailleurs egalement ? |
| Je suis un passioné d'informatique depuis une bonne dizaine d'années,
et Ingénieur dans une SSII leader en Europe dans la journée. Pendant
mon temps libre, je m'intéresse particulièrement aux Logiciels Libres
et à la programation. Dans ce cadre, j'ai participé à la traduction
en français du Tutoriel du langage Python écrit par l'auteur du
langage, Guido van Rossum. Depuis, j'essaye de regrouper toutes les
sources d'information que je peux trouver en français sur Python, afin
de les mettre à disposition sur ma page
personnelle. J'ai aussi insuflé la création d'une liste de diffusion
francophone sur le langage suite à la première Journée Python
France (JPF01)
organisée par Marc Poinot à l'Onéra. Actuellement, je travaille sur la
traduction, en collaboration avec deux autres fans de Python, de
"Introduction à Python" ("Learning
Python" écrit par Mark Lutz et David Ascher), qui devrait sortir
chez O'Reilly en février
2000. Bref, beaucoup de choses à mener de front avec mon travail. |
1.2. | Qu'est ce que Python pour vous ? |
| C'est tout d'abord un superbe langage de programmation généraliste, dont
on tombe "amoureux" facilement. La plupart des développeurs qui y
goutent en deviennent en effet très vite fans. En effet, Python conjugue
à la fois puissance d'abstraction et simplicité, ce qui facilite
l'écriture de programmes et leur maintenance. Python est, entre autres,
portable, orienté-objet, fourni avec une immense bibliothèque facilitant
le développement, et surtout, facile à apprendre. De plus, c'est un
Logiciel Libre et il dispose d'une communauté chaque jour grandissante
et très enthousiaste. |
1.3. | Comment êtes vous tombé dedans ? |
| Par hasard, en discutant avec un collègue passionné comme moi par le
développement orienté-objet et le Génie Logiciel. De toutes façons, le
Python et moi, nous nous serions croisés tôt ou tard, puisque je suis
aussi un utilisateur passioné de GNU/Linux,
autre Logiciel
Libre (les pingoins et les pythons semblent bien
s'entendre). D'ailleurs de nombreux projets développés sur Linux
utilisent Python (même si Python est disponible sur bien d'autres
plate-formes, dont Windows, Mac, et plus généralement tout système
ayant Java, avec JPython, mais j'y reviendrai). Ensuite, j'ai attrapé
le virus même si je n'ai pas autant de temps pour programmer en Python
que je le souhaiterais. Pour la petite histoire, Python a été nommé en
hommage aux Monty Python's Flying Circus... ce qui me plaît bien :
dans la programmation, je préfère le fun. |
1.4. | Quel est votre parcours informatique, venez vous du monde PHP par
exemple? |
| Non, pas vraiment un developpeur Internet. Je suis un concepteur et
développeur objet dans mon travail, dans le monde du contrôle
commande, en C++ / Unix / Oracle. Je suis diplômé du DESS
de Génie Informatique de l'Université de Grenoble, ce qui m'a
initié à la puissance de l'objet, que j'ai ensuite pratiqué depuis 5
ans, mais avec en plus la problématique de la maintenance d'un
système, dans mon travail chez Cap Gemini. Par rapport à PHP, Python
se distingue, car c'est un langage objet générique, c'est à dire qu'il
n'est pas limité à, ou du moins originaire, comme PHP, du monde
Internet, même si une grande partie des projets les plus célèbres en
Python, comme Zope, touchent de près
ou de loin à l'Internet. Ce que j'aime dans Python, c'est l'alliance
d'un langage de script, de l'objet, et de la puissance d'abstraction,
bref l'alliance des deux outils que j'utilise quotidiennement (à part
Python) : ksh et C++. Avec la maintenabilité en plus... |
1.5. | Que permet Python par rapport aux autres langages comme le C++, ou Java ? |
| La rapidité des développements, car c'est un langage interprété de
très haut niveau, disposant d'une bibliothèque impressionnante. Il
intègre également tous les concepts de l'objet de ces langages
(héritage, exceptions, etc.), à tel point qu'il s'interface très bien
avec ceux-ci. Tant et si bien qu'un portage de Python en Java (Jpython ) intègre un interpréteur
Python avec toutes les bibliothèques de Java (swing, ...) en
natif. Bref, le complément idéal de java. Ecrire un programme puissant
et rapidement en produisant du code facile à comprendre, donc à
maintenir... que rêver de plus ? |
1.6. | Quel est l'avenir de Python ? |
| Radieux. Python progresse tous les jours, notamment avec JPython et
Zope, et vient de voir la création d'un consortium destiné à
soutenir les efforts de développement (HP est l'un des membres
fondateurs). D'autre part, le DARPA finance actuellement un projet
très ambitieux (CP4E) d'adoption
de Python comme "langage d'aprentissage de la programmation pour tous"
aux Etats-Unis. Le but est de donner à tous (les utilisateurs finaux)
la capacité de programmer un ordinateur, puisque tout le monde
aujourd'hui utilise les ordinateurs; le programme commence en 2000, et
ça promet des outils intéressants à l'avenir. En France, Python est
quelque peu confidentiel, et l'absence d'ouvrage en français a
sûrement retardé le développement du langage, par rapport à Perl, par
exemple, mais nous travaillons d'arrache-pied à la traduction d'un
livre d'introduction. A titre d'exemple, Python me semble donc promis
à un aussi bel avenir que Delphi auprès des développeurs Français, car
il lui ressemble beaucoup... avec la Liberté et la portabilité en
plus. Je suis assez serein sur son succès en France. |
1.7. | Comment est géré le développement de Python? Est-ce comme pour Linux où
Linus Torvalds et Alan Cox décident de ce qui est bon ou pas pour le
noyau, ou est-ce plus libre? |
| C'est assez semblable, même si la communauté des développeurs est
moins importante en ce qui concerne le coeur du langage
(l'interpréteur), ce qui simplifie la gestion du projet pour Guido va Rossum. La
contribution de la communauté est extrêmement forte, surtout pour les
modules de la bibliothèque. D'autre part, à une question qui lui a été
posée à JPF01, Guido nous a dit que l'avenir de Python serait assuré
s'il lui arrivait malheur... il a donc pensé à cela, au cas où. De
toutes façons les sources sont disponibles, c'est l'intérêt du
Logiciel Libre. |
1.8. | A combien de développeurs estimez vous la communauté ? |
| C'est très difficile à dire, et je ne suis pas sûr que Guido le sache
lui-même.... sûrement moins que C++ ou Perl, mais quand même plusieurs
dizaines de milliers. Cependant, de plus en plus de développeurs
rejoignent la bannière de Guido, comme en témoigne l'activité du newsgroup US. Certains développeurs
francophones sont actifs dans la communauté (11 membres payants
enregistrés dans la Python
Software Activity en France), et plusieurs sociétés ou organismes
français ont basé des projets essentiels sur Python, comme la JPF a
permis de le constater, à l'image des gros utilisateurs américains
(Industrial Light & Magic, Infoseek, Lawrence Livermore National
Laboratories, ...). |
1.9. | Comment travail cette communauté, par projet, par fusion...? |
| En fait, comme pour les projets Libres en général, par mailing-lists,
sites Webs et autres newsgroups (plus de 1500 posts par mois sur
comp.lang.python)... actuellement, les développements sont très actifs
sur XML, l'informatique scientifique, les outils pour Internet, dans
les groupes d'intérêt spécifiques (SIGs), et grâce à l'infrastructure
de la PSA (215 développeurs indépendants et une quinzaine
d'organismes, dont l'Onéra, par exemple). |
|