Passer au contenu

/ Département d'informatique et de recherche opérationnelle

Je donne

Rechercher

Navigation secondaire

Implémentation systématique de compilateurs optimisants pour les langages hautement dynamiques - Olivier Melançon

Implémentation systématique de compilateurs optimisants pour les langages hautement dynamiques

Par

Olivier Melançon

Université de Montréal

 

Vendredi 13 février 2026, 10:30-11:30 EST, Salle 6214


Pavillon André-Aisenstadt, Université de Montréal, 2920 Chemin de la Tour

 

 

Abstract: Les langages de programmation hautement dynamiques, tels que Python, JavaScript, Ruby ou R, doivent leur succès à leur grande expressivité, à leur flexibilité et à la rapidité de développement qu’ils offrent, et ont joué un rôle important dans la démocratisation de la programmation au cours des dernières décennies. Toutefois, cette expressivité est généralement associée à des problèmes de performance. En pratique, obtenir des performances compétitives exige des efforts considérables : des compilateurs complexes et des millions d’heures-personnes de développement. Il existe donc une tension apparente entre le confort des utilisateurs d’un langage et celui de ses implémenteurs. Cette présentation questionnera le caractère inévitable de ce compromis. On y présentera des approches permettant de simplifier et de systématiser l’implémentation d’un langage dynamique en dérivant un compilateur optimisant à partir d’une sémantique exécutable et de techniques d’interprétation abstraite. On y abordera également les perspectives futures de ces approches pour la conception de la prochaine génération de langages de programmation.

 

Bio: Olivier Melançon est candidat au doctorat à l’Université de Montréal, et membre du Laboratoire de Traitement Parallèle de l’Université de Montréal et du groupe de recherche Compilation et Optimisation des Langages Dynamiques du Centre Inria d’Université Côte d’Azur. Chercheur en implémentation et optimisation des langages de programmation, ses recherches courantes se consacrent aux techniques d’interprétation abstraite pour l’optimisation des langages dynamiques, à la génération de compilateurs à partir de sémantiques exécutables, et aux plateformes d’enseignement de l’informatique.