Un compte rendu de la conférence PyCon 2014

17 avril 2014
8 commentaires
Guido van Rossum à PyCon 2014
PyCon 2014, Palais des congrès de Montréal

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é

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 !

Ajouter aux favoris / partager

Commentaires

2014-04-17 12:02

Une belle série de photographies de la conférence :
http://meetings.tourisme-montreal.org/2014/04/15/pycon-2/

David Genest
2014-04-17 21:51

Bravo David pour ce bon billet. Trop peu de montréalais dans les pythonistas. Content de voir que ce langage t'attire.

Yves Moisan
2014-04-29 14:39

Voilà un compte rendu fort intéressant et bien rédigé. Chapeau. La quantité de technologies "dérangeantes" ("disruptive") que je vois depuis des années dans les conférences "communautaires" est, dans le cas du monde python, franchement stupéfiante.

Quiconque a entendu Eben Moglen parler de désintermédiarisation ("disintermediation") en aura un exemple frappant avec la foule de présentations sur le Notebook IPython, entre autres. J'espère penser à m'inscrire à la conférence l'an prochain.

2014-04-29 15:19

Merci pour les bons mots, David et Yves.

Yves, intéressante votre référence à Eben Moglen (que je gagnerais sans doute à mieux connaître!) et vous faites bien de souligner le potentiel "perturbateur" de IPython Notebook, certainement l'une des vedettes de la conférence. Cet outil met en effet Python au service d'utilisateurs souvent fort différents de l'informaticien typique et favorise leur autonomie dans l'analyse de données complexes.

Yves Moisan
2014-04-30 08:09

J'ai dû voir une bonne dizaine de présentations d'Eben Moglen, toutes par média interposé malheureusement. Il est l'un des rares orateurs à pouvoir se permettre de faire un nombre arbitrairement élevé d'incises arbitraitement longues sans perdre le fil de son propos -- et sans perdre son auditoire non plus. Il devait être fort en LISP pour fermer toutes ses parenthèses sans en oublier une ;-)

Sa plus grande qualité, à mon humble avis, est de tenir un propos qui s'adresse toujours à l'intelligence. Il échappe une blague à l'occasion, fort heureusement, mais jamais il ne fraye dans les eaux de la démagogie, du racolage intellectuel.

Je serais partant pour participer à une séance de visionnement public de l'un de ses discours suivie d'une discussion. J'ai fait ça à Sherbrooke, mais je pense bien que le terreau est plus fertile à Montréal. Il a organisé une série de quatre séminaires à l'université Columbia récemment sur l'affaire Snowden). Ça pourrait être un départ.

2014-04-30 10:02

Pour une séance de visionnement, l'idéal serait peut-être de la greffer à un événement plus large ayant des affinités?

Yves Moisan
2014-04-30 10:16

Tout à fait. Par exemple, l'université populaire?

Phillip Banks
2014-05-02 22:25

Merci pour cette republication de son lien. Assurez-vous de voir la nouvelle vidéo de Keila sur notre page youtube. http://youtu.be/N4NTYy5_bLY

Soumettre un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
  • Les adresses de pages web et de courriel sont transformées en liens automatiquement.
  • Balises HTML autorisées : <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plus d'informations sur les options de formatage