Publié le

Publié à l'origine sur le site de Whisky Echo Bravo

Guido van Rossum à PyCon 2014

Après 8 jours d’activités, c’est aujourd’hui, le 17 avril, que prend fin la conférence PyCon 2014. PyCon est le plus grand rassemblement annuel de la communauté de Python, un langage de programmation développé en logiciel libre. Chez Whisky Echo Bravo, nous adorons ce langage à la fois élégant, portable et puissant. Nous lorgnons de plus en plus du côté de Python pour des projets logiciels sur mesure. Pas question, alors, de passer à côté de PyCon, d’autant plus que, cette année, c’est chez nous à Montréal qu’avait lieu l’événement !

Cet article est un compte rendu bien personnel de mon expérience, ma première présence à PyCon, en immersion dans une communauté que je connais encore assez peu.

Une communauté diversifiée

Contrairement à PHP, l’usage de Python dépasse largement le seul créneau du développement web. Python est employé dans toutes les industries et est particulièrement prisé par la communauté scientifique. Ceci était manifeste sur le site de la conférence : outre les informaticiens, il était possible de croiser biologistes, enseignants, linguistes, statisticiens, mathématiciens, dans un melting-pot réunissant toutes les tranches d’âge. On y a même croisé des enfants, dont Keila Banks, 12 ans, dont l’exposé a touché le millier d’adultes présents. De nombreux autres jeunes sont venus, surtout pour apprendre les rudiments de la programmation de jeux durant l’événement Young Coders, une session de formation ludique dispensée en français et en anglais.

La communauté Python est également riche d’une proportion de femmes supérieure à ce qu’on retrouve habituellement dans le milieu des technologies. Le tiers des conférenciers étaient des femmes. Ceci n’est pas le fruit du hasard, mais le résultat d’un ferme effort de la communauté pour recruter et soutenir les femmes, les inciter à prendre plus de place et pour combattre le sexisme dans un milieu dominé par les hommes. Le dynamique groupe PyLadies est au cœur de cette action militante.

La diversité de la communauté Python fut d’ailleurs célébrée par le discours-vedette de Van Lindberg. S’écartant complètement des questions techniques qui monopolisent habituellement une conférence comme PyCon, son exposé s’est appuyé sur une recherche scientifique pour rappeler que la diversité est un atout pour imaginer des solutions dans un monde de plus en plus complexe. C’est avec conviction qu’il a également récité le texte du code de conduite de la communauté Python, un texte positif et inspirant qui, avec ses valeurs d’ouverture, de considération et de respect, pourrait sans doute inspirer bien d’autres groupes sur cette planète…

Dans son allocution, Fernando Pérez a, quant à lui, souligné les avantages réciproques de la collaboration entre scientifiques et informaticiens. Les scientifiques ont enrichi l’écosystème Python d’outils formidables comme NumPy (une bibliothèque de manipulation de tableaux multidimensionnels) et IPython Notebook (un outil web permettant l’édition de texte, de code informatique, d’expressions mathématiques et de diagrammes). Parfois leurs contributions se fraient un chemin jusque dans la syntaxe du langage, comme en témoigne l’ajout d’un opérateur de multiplication de matrices dans Python 3.5. À son tour, la communauté du logiciel libre a aussi de quoi inspirer les scientifiques, avec son mode de collaboration plus ouvert, moins compétitif et plus conciliant envers les erreurs.

Vidéos :

Un dictateur bienveillant

Guido van Rossum est le « BDFL », « Benevolent Dictator for Life », le dictateur bienveillant à vie de la communauté Python ! Il est le créateur et leader du projet Python, appelé à trancher lors de décisions difficiles sur l’avenir du langage et, bien sûr, l’un des conférenciers les plus attendus à PyCon.

Il est entré en scène avec l’image la plus marquante de ce PyCon : un immense « 2.8 » biffé. Cette image réitérait sans équivoque son opposition à la création d’une version 2.8 de l’interpréteur Python. Il préconise plutôt un passage définitif à la branche 3.x (la plus récente version est 3.4). Cependant la migration s’avère difficile dans nombre de projets et, bien que Python 3.0 ait été lancé il y a plus de 5 ans, il s’écrit encore aujourd’hui plus de nouveau code pour Python 2.7 que pour Python 3. Pour cette raison, van Rossum a proposé une prolongation du support pour Python 2.7 jusqu’en 2020, tout en évoquant la possibilité de créer de meilleurs outils pour faciliter la transition vers Python 3. Son affirmation selon laquelle les choses allaient « s’arranger par elles-mêmes » et que le schisme entre les versions 2 et 3 serait chose du passé avant la nouvelle date d’échéance n’a cependant pas paru convaincre toute l’assistance. Certains croient qu’une version 2.8 serait nécessaire pour réduire le fossé des incompatibilités entre les versions 2.7 et 3. D’ailleurs, même après le discours du BDFL, il était possible de croiser, au tournant d’un couloir, une personne vêtue d’un t-shirt séditieux arborant simplement « 2.8 » (non biffé, celui-là !).

La suite de la présentation fut tout à fait hilarante alors que, devant deux ou trois mille paires d’yeux, il a codé en direct, faisant quelques erreurs en cours de route, un petit programme choisissant au hasard les sujets à aborder parmi ceux qui lui avaient été soumis via Twitter avant la conférence. Ceci l’a amené notamment à expliquer certains choix dans la syntaxe du langage (décrochant au passage une flèche vers le langage Perl) et à faire la promotion de Kivy pour accroître la présence de Python dans le développement d’applications mobiles.

Vidéo :

Un programme étoffé

PyCon 2014, Palais des congrès de Montréal

Avec cinq présentations simultanées à toutes les 30 ou 40 minutes, la riche programmation de PyCon offrait de quoi satisfaire tout le monde. Personnellement, il m’a semblé au départ que la durée de chaque présentation ne permettait pas d’aller assez en profondeur, mais après quelques-unes j’en suis venu à apprécier cette formule qui maintient l’intérêt et permet de donner des références, des points de départ sur un grand nombre de sujets. Dans plusieurs présentations, Python n’était pas le sujet principal, mais les outils ou techniques présentés faisaient néanmoins partie de l’arsenal des utilisateurs de Python.

Il y a eu, entre autres, une série de présentations fort intéressantes sur les stratégies de test, de débogage et de profilage, dont voici les liens vers les captations vidéo :

Quelques autres présentations qui ont retenu mon attention :

  • Introduction to Docker, par Amjith Ramanujam : une présentation ultra limpide de Docker qui, en ce qui me concerne, a immédiatement démystifié les « contenants Linux » et illustré les applications pratiques. Je ne serais pas surpris de voir l’usage de Docker exploser au cours des prochains mois !
  • Postgres Performance for Humans, par Craig Kerstiens : une exploration des possibilités du SGBD PostgreSQL, incluant son usage comme dépôt NoSQL, notamment via le sous-estimé module hstore et le tout récent module jsonb, ainsi que quelques bonnes pratiques pour assurer la performance du système.
  • All Your Ducks In A Row: Data Structures in the Standard Library and Beyond, par Brandon Rhodes : un bon rappel des compromis inhérents à différents types de structures de données dans Python.
  • Discovering Python, par David Beazley : une aventure assez singulière sur une « île déserte », avec Python pour seul outil pour tenter de comprendre 1,5 téraoctets de code source C++ et assembleur, sur une machine Windows XP sans connexion internet ! La salle était comble pour ce conférencier apprécié, à un tel point qu’on a dû demander à la foule de se « défragmenter » afin que tous aient une place assise !

Les présentation-éclairs, des séries d’exposés de 5 minutes chacun, étaient également excitantes et variées (vidéos : 1, 2, 3, 4).

Je ne recommanderai pas ici plus de présentations en particulier, car tout dépend de l’intérêt et du niveau de l’auditeur. Et puis après tout, je n’ai pu voir qu’un cinquième de tout ce qui était offert ! Les vidéos des présentations sont tous déjà en ligne sur le site PyVideo.org. La qualité des enregistrements est excellente et la plupart des conférenciers étaient à la fois de bons orateurs et très compétents dans leur domaine d’expertise.

Une foule d’activités

Je n’ai pas mentionné une foule d’activités, tels une course de 5 kilomètres, une salle d’exposition où l’on pouvait rencontrer des représentants de la plupart des commanditaires (dont Google, Facebook, LinkedIn, Rackspace, etc.), une foire de l’emploi, des espaces de discussions, des sprints de développement, etc.

Si vous regrettez déjà d’avoir manqué la conférence, tout n’est pas perdu puisque l’édition de 2015 de PyCon se tiendra à nouveau à Montréal ! D’ici là, il est également possible d’assister aux rencontres régulières de Python Montréal, un groupe très dynamique grâce auquel nous devons sans doute la venue de PyCon à Montréal (bravo !). Pour ma part je n’ai encore assisté qu’à une seule de ces rencontres, mais c’était ultra intéressant et je compte bien y assister plus souvent à l’avenir. Au plaisir de vous y rencontrer !

Commentaires