Publié le

Publié à l'origine sur : Whisky Echo Bravo

PyCon 2015, Palais des congrès de Montréal (Photo: David Lesieur)

En avril dernier avait lieu à Montréal, pour la seconde année consécutive, la conférence PyCon. Impossible pour nous de passer à côté de PyCon 2015, le plus grand rendez-vous mondial pour programmeurs Python. Malgré des journées fort remplies, c’est complètement énergisés et la tête pleine d’idées que nous sommes rentrés au travail après la conférence.

Dans cet article, nous proposons une courte liste de présentations, quelques-uns de nos coups de coeur, avec des liens pour les visionner. Sachez cependant que nous n’avons pas pu couvrir l’entièreté du riche programme de la conférence — pour cela, il aurait fallu nous cloner! Il ne nous reste plus qu’à regarder en ligne ce qu’on a manqué; toutes les présentations ont été captées et sont disponibles sur le site PyVideo.

Python Concurrency From the Ground Up: LIVE! (David Beazley)

Voir la vidéo

On pourrait juger un peu suicidaire un conférencier qui déciderait de présenter son sujet par l’écriture de code en direct, devant la foule. En effet, on s’attendrait surtout à ce qu’il crée un programme bourré d’erreurs et de fautes de frappes et à ce qu’il perde quelque peu l’intérêt de l’assistance pendant qu’il tente de repérer et de corriger ses inévitables bévues. Il est rarement intéressant de regarder un programmeur à l’oeuvre!

C’est pourtant le défi que s’était donné David Beazley, défi qu’il a relevé avec succès grâce à une vivacité d’esprit remarquable. Non seulement a-t-il bien maîtrisé le code qu’il a écrit sous nos yeux, mais son mode de présentation a tenu tout le monde en haleine, permettant à chacun de mieux comprendre les fondements de la programmation asynchrone avec Python. David Beazley nous a montré les effets du GIL, le «Global Interpreter Lock», ce mutex de l’interpréteur CPython qui empêche les fils (threads) de s’exécuter en même temps. Il nous a aussi présenté des stratégies pour contourner le GIL et nous a amené à comprendre un peu comment est construit le module asyncio introduit dans Python 3.4.

Discours d’ouverture (Jacob Kaplan-Moss)

Voir la vidéo

L’allocution de Jacob Kaplan-Moss, qui pourrait s’intituler «Bonjour, je m’appelle Jacob et je suis un programmeur médiocre» (même s’il est fort estimé par ses pairs), dénonce une culture d’élite au sein des milieux technologiques, où on ne jure souvent que par le mythique crack de l’informatique (généralement imaginé comme un jeune homme blanc ayant l’informatique pour seule passion), au mépris de tous ces travailleurs dont le savoir-faire est parfaitement adéquat et dont l’apport et la diversité des idées sont pourtant nécessaires à la réussite de toute entreprise. Dans ce climat malsain, beaucoup ne se sentent pas à leur place, particulièrement les femmes, une situation inacceptable à l’heure où l’industrie doit combler un grand nombre de postes.

Construite comme un récit vraiment bien ficelé dont les éléments prennent tout leur sens au dénouement, voilà une présentation percutante qui invite à remettre en question certaines attitudes et à en finir avec le syndrome de l’imposteur. Entre la médiocrité et le prodige, il y a beaucoup d’espace. À la fin de l’allocution, c’est debout que la foule a longuement applaudi Jacob Kaplan-Moss.

Discours d’ouverture (Catherine Bracy)

Voir la vidéo

À l’ère où nos gouvernements ont de moins en moins de moyens de répondre aux attentes de leurs citoyens et où leurs grands chantiers informatiques échouent plus souvent qu’autrement, Catherine Bracy lance un appel à la participation citoyenne. Peu importe nos connaissances techniques, nous pouvons tous agir, mettre la main à la pâte pour régler les problèmes et faire avancer la démocratie. N’importe qui peut «hacker la société» et elle nous présente d’ailleurs plusieurs personnes qui, à partir de petits projets, ont réussi à faire une différence.

Facts and Myths about Python names and values (Ned Batchelder)

Voir la vidéo

Le langage Python est facile à apprendre, mais quand on l’aborde avec l’expérience d’autres langages de programmation, on risque de le faire avec certaines idées préconçues. Cette présentation de Ned Batchelder vise une meilleure compréhension formelle des concepts de noms et de valeurs tel que Python les entend. L’éclairage est fait sur les notions d’alias, d’affectation, de mutabilité et de portée.

Beyond PEP 8: Best practices for beautiful intelligible code (Raymond Hettinger)

Voir la vidéo

Dans cette présentation, Raymond Hettinger démontre comment l’application aveugle ou stricte de conventions de code comme PEP8 peut en fait détourner l’attention des vrais enjeux et nuire à la qualité du code.

Gradual Typing for Python 3 (Guido van Rossum)

Voir la vidéo

Guido van Rossum, le créateur de Python lui-même, présente la proposition PEP484 qui vise à enrichir la syntaxe Python d’annotations décrivant le typage des objets. En plus d’enrichir les documentations techniques, ces informations optionnelles permettraient de débusquer certains bogues plus tôt durant le développement et aideraient à créer des outils de développement plus intelligents.

La syntaxe présentée rend le code Python nettement moins lisible et ne fait pas l’unanimité au sein de la communauté Python, mais il est intéressant d’apprendre que cette syntaxe est déjà valide aujourd’hui. Face aux enjeux du typage, Guido van Rossum fait preuve d’un pragmatisme qui tranche avec le dogmatisme dont font parfois preuve les passionnés des langages de programmation. Certains segments de la présentation sont assez pointus et montrent à quel point les annotations de types peuvent devenir complexes, par exemple lorsqu’on aborde les collections, les types génériques et l’héritage.

Zen of Quality - How PBS measures QoS for digital viewers (Mike Howsden)

Voir la vidéo

Ceci n’est que l’une de nombreuses présentations relevant plus de l’étude de cas que de la discussion d’un aspect du langage Python. Nous avons apprécié cet aperçu de la manière dont PBS, une chaîne de télévision ayant un important volet de diffusion en ligne, s’y prend pour assurer une expérience de qualité pour ses téléspectateurs, dans un contexte où elle ne contrôle pas des éléments importants de la distribution, en particulier la qualité de la connexion internet de ses clients.

Pour PBS, la principale clé réside dans la collecte de différents événements par le lecteur vidéo tournant chez chaque client (par exemple les interruptions indésirables survenant pendant le visionnement), puis dans l’analyse des données. Nous sommes ici dans le «big data», puisqu’une journée typique chez PBS correspond à une cueillette d’environ 70 millions d’événements. Plusieurs outils Python servent au traitement de ces données, de leur cueillette jusqu’à leur visualisation.

Eschew the extraneous else (Larry Hastings)

Voir la vidéo

Sous la barre des deux minutes, sûrement la plus courte présentation de la conférence. Le titre dit déjà presque tout!

Code Comments: What are they good for? (Clara Bennett)

Voir la vidéo

En 5 minutes, des recommandations sensées concernant les commentaires incorporés au code (excluant les docstring). L’essence de la proposition: les bons commentaires expliquent pourquoi le code est conçu d’une certaine manière ou expliquent pourquoi il ne fait pas une certaine chose à laquelle on pourrait s’attendre qu’il fasse. S’il y a d’autres types de commentaires et que le code est difficile à comprendre sans ceux-ci, Clara Bennett suggère de considérer un remaniement du code.

Vous en voulez plus?

Nous avons aussi aimé :

Bon visionnement!

Commentaires