interview de Guido van Rossum
Guido van Rossum revient tout juste de PyCon 2005. C'était l'occasion pour nous de lui poser quelques questions sur Python... Un grand merci aux membres qui ont proposé des questions [Jiba, Bader, Hervé, etc..] - par Tarek Ziadé
10/04/2005
La version originale en anglais se trouve ici :
http://blogs.nuxeo.com/sections/blogs/tarek_ziade/2005_04_11_guido_van_rossum
si vous voyez des erreurs de traductions, merci de me le signaler.
- Quelle a été ta motivation première pour créer ce langage ?
Je travaillais dans une grosse équipe sur un nouveau système distribué nommé Amoeba. On souhaitait qu'Amoeba soit aussi utile qu'Unix pour notre travail quotidien, mais il manquait d'un langage de script efficace.
J'ai donc commencé la conception de mon propre langage. L'objectif était d'obtenir un langage à mi-chemin entre la programmation shell (de trop haut niveau) et la programmation C (de trop bas niveau).
Je souhaitais aussi que l'outil soit multiplateforme. (Peut être que je n'étais pas très optimiste au sujet du succès d'Amoeba :-) )
- Quels sont les points forts de Python ?
Je ne suis pas la bonne personne pour répondre à cette question : je suis tellement plongé dedans que c'est difficile d'avoir un avis objectif.
Vous trouverez des infos à ce sujet sur python.org.
Mon avis personel est que Python rends mon travailde développeur beaucoup plus facile que la plupart des autres langages car il prend en charge automatiquement certaines choses comme la gestion de la mémoire, les dépendances de plate formes, etc..
- Comment convaincre mon petit frère qui démarre l'informatique de choisir python ?
Télécharge PyGame, un outil vraiment sympa pour créer des jeux graphiques, et donne lui des APIs simplifiés pourlui permettre de créer des objets graphiques simple et les animer.
Il y a beaucoup de littérature aussi pour les débutants, en anglais (http://www.python.org/moin/IntroductoryBooks) et même en francais (http://www.python.org/moin/FrenchPythonBooks).
(NdA : penser aussi à Soya 3D)
- Si tu pouvais revenir en arrière dans la conception du langage, que changerais tu ?
- Se débarrasser de lambda, filter, map et reduce
- Faire fonctionner range() comme xrange()
- Faire de keys() et beaucoup d'autres méthodes et built-ins renvoyer des itérateurs plutot que des listes
- Quelles sont les évolutions du langage qui te paraissent les plus excitantes ?
Dans Python 2.4, les decorators et les générateurs d'expressions sont les nouveautés les plus sympas.
http://python.org/doc/2.4/whatsnew/whatsnew24.html.
- Tu reviens tout juste de PyCon2005. Quel a été ton sentiment et les évènements qui t'ont le plus marqué ?
Difficilede choisir entre IronPython (le portage de Python port sur .NET, maintenant supporté par Microsoft) ou le keynote fait par l'équipe de Google sur leur usage intensif de Python. (NdA : voir présentations de Greg Stein)
- Que penses tu de la dynamique actuelle de la communauté Python ?
Je pense qu'elle prospère.
- A quoi sert la PSF concrètement ?
Selon moi, son but premier est d'exister comme organisation à but non lucratif neutre qui est le "propriétaire" de Python, pour s'assurer que ce dernier reste gratuit et ne tombe pas dans les griffes d'une grosse entreprise.
Les autres membres pensent qu'il est maintenant important aussi pour la PSF de faire la promotion de Python et de toute activité liée, comme l'éducation et le sponsoring de projets codés en python.
Enfin, Je pense que c'est très important que la PSF ai assez d'argent pour pouvoir continuer à s'occuper de PyCon.
Même si l'évènement a généré un tout petit profit chaque année, c'est un engagement financier énorme qui ne pourrait être tenu sans que la PSF ait une situation financière stable.
- Est ce que Python est aussi populaire aux Etats Unis qu'en Europe ?
C'est très populaire partout. Il y a des user groups énormes par exemple au Brésil et en Argentine.
J'ai entendu parler d'un évènement Python en Corée du Sud il y a quelques années ou 700 personnes se sont déplacées.
- Est-ce qu'il est envisagé d'éditer une spécification sur Python (ISO, ECMA) et à quelle échéance ?
Non jamais, je ne vois pas l'intérêt.
- Quel est aujourd'hui finalement la différence entre les langages dynamiques comme Python et les langages compilés ? que reste t-il aux seconds ?
Javas a réduit une partie de la différence en ajoutant de la gestion de mémoire automatique (ils appelent ça Garbage Collection) aux fonctionnalités des langages compilés.
Il y a aussi des technique d'avant garde comme JIT dont pourront éventuellement bénéficier les langages dynamiques.
Le projet PyPy en Europe essaye de l'implémenter pour Python (en quelques sortes)
- Quelles sont les fonctionnalitées apportées à Python par l'intermédiaire de packages extérieurs qui te semblent les plus intéressants ? (PEAK...)
Comme tu l'a mentionné, je pense que PEAK est trop avancé pour la plupart des
utilisateurs de Python.
Je pense que Twisted est l'une des bibliothèques les plus intéressantes, ainsi que wxPython (dommage que ce soit basé sur du C++)
- Quels sont les logiciels libres écrit en Python qui te semble les plus interessants en ce moment ?
Twisted, Zope. J'en oublie certainement beaucoup car je n'utilise pas beaucoup de code Python tiers pour moi même. Je vis dans mon petit monde du "Not Invented Here" (Réinvention de la Roue).
- Que penses tu de l'évolution de Zope ?
Je pense que Zope 3 est un grand pas en avant.
- Que penses-tu de Pyrex ? Est-il envisagé de s'en servir pour écrire ou ré-écrire des parties de Python ?
Peut être. Réécrire quelque chose d'aussi gros que Python from scratch est toujours risqué.
Ca prend généralement plus de temps que prévu et on doit faire face à des problèmes inattendus. Je préfererais réécrire certaines parties de Python en Python même. Les gens de PyPy ont le même avis. :-)
- Parmi les différentes solutions visant à accélérer la vitesse de Python (Pyrex, Psyco, Pypy,...)
laquelle te semble la plus intéressante ?
PyPy sans aucune hésitation. Ca dépasse largement Psyco. D'un autre coté Pyrex est beaucoup plus efficace aujourd'hui. PyPy a encore du chemin à faire (actuellement, PyPy est 1000 fois plus lent que CPython :-) .
- A propos de rapidité sur quel point Python va s'orienter en priorité, vers une optimisation de la gestion de la mémoire ou une moindre utilisation du CPU ?
J'espère que l'on va s'orienter vers une accéleration des choses meme si cela doit etre plus cher en mémoire. Mais nous avons aussi réduit des dépensesde mémoire dans certains cas tout en accelérant les choses (par exemple : list.append() dans Python 2.4)
- Comment expliquer les meilleures performances de IronPython? par rapport à CPython?
Surement un choix de benchmarks. Il y a des parties (comme la gestion d'exception) ou IronPython est beaucoup plus lent.
- Quel est ton degré d'investissement actuel pour la communauté ?
Il est beaucoup plus secondaire. Je ne prend plus vraiment de décisions, même si quand le reste de la communauté n'arrive pas à se mettre d'accord je tranche.
Je reste quand même très interessé par l'évolution du langage (regardez mes blogs) plutot que les bibliothèques ou les supports de plateformes.
- Quels sont tes projets professionnels pour 2005 ?
Je travail à Elemental Security depuis 2003. C'est une start-up lancée par Dan Farmer
pour créer un nouveau type d'application de sécurité d'entreprise. Le logiciel est structuré
avec un serveur et des agents, et la partie agent est écrit pour la plus grande part
en Python.
J'ai aussi créé un langage dédié nommé Fuel qui facilite l'écriture de scripts
qui gèrent la sécurité. C'est un peu comme un Python à typage statique.
- Quel éditeur utilisez-vous ? Quelle est votre OS, environnement de travail de prédilection ?
XEmacs et vi. Red Hat. Peu importe mon environnement (KDE or Gnome); Les applications visibles étant Firefox, Xemacs, et des tas de terminaux X.
- T'amuses-tu toujours en développant Python ?
Oh yeah.
- Quand te présentes-tu pour les présidentielles américaines ?
N'étant pas né aux US je ne peux pas, mais mon fils pourra :-)
- Merci Guido !
Références :
- Page de Guido sur Python.org : http://www.python.org/~guido/
- Blog de Guido : http://www.artima.com/weblogs/index.jsp?blogger=guido
- Amoeba : http://www.cs.vu.nl/pub/amoeba/
- IronPython : http://www.ironpython.com/
- PyCon 2005 : http://www.python.org/pycon/2005/
- PyGame : http://www.pygame.org/
- Site perso de Greg Stein (Python at Google) : http://www.lyra.org/greg/
- PyPy : http://codespeak.net/pypy/
- PEAK : http://peak.telecommunity.com/
- PSF : http://www.python.org/psf/
- Twisted : http://twistedmatrix.com/
- Pyrex : http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/







