«Pour créer Scala, nous pouvions partir de zéro»

Martin Odersky © 2026 EPFL/Alain Herzog - CC-BY-SA 4.0

Martin Odersky © 2026 EPFL/Alain Herzog - CC-BY-SA 4.0

Martin Odersky, professeur à la Faculté informatique et communications de l’EPFL (IC) et responsable du Laboratoire des méthodes de programmation, a développé le langage de programmation Scala, utilisé par des milliers d’entreprises dans le monde entier. En 2025, il a reçu le prix Programming Languages Achievement Award.

Martin Odersky a commencé à s’intéresser aux langages de programmation grâce à la librairie Blackwell’s située sur le campus de l’Université d’Oxford, où il a passé une année d’échange pendant ses études universitaires en mathématiques à l’Université Ludwig Maximilien de Munich. L’ouvrage portait sur la création de compilateurs, notamment la théorie et le processus de création d’un logiciel qui convertit les langages de programmation évolués en code que les ordinateurs peuvent exécuter en actions.

«Je me suis intéressé aux langages de programmation grâce aux compilateurs, parce que je trouvais que c’était un sujet passionnant», affirme Martin Odersky. «Pendant longtemps, j’ai créé mes propres extensions de langages de programmation, puis je me suis penché sur l’aspect plus théorique et académique des langages de programmation. Mais c’est vraiment ce livre qui m’a mis sur cette voie.»

Il ne se souvient plus pourquoi il a choisi cet ouvrage, apparemment au hasard, sur les rayons de la librairie Blackwell’s, mais cela l’a mené à un doctorat à l’ETH Zurich aux côtés de l’informaticien suisse Niklaus Wirth et à une carrière de près de 40 ans dans la conception de langages de programmation couramment utilisés.

Entre deux mondes de programmation

Lorsqu’il commence à s’intéresser à la programmation, Martin Odersky se retrouve entre deux mondes: celui de la programmation impérative et celui de la programmation fonctionnelle, domaine nouveau à l’époque. La programmation impérative, ou structurée, indique à un ordinateur comment effectuer une tâche étape par étape, tandis que la programmation fonctionnelle combine des fonctions qui agissent sur des données sans les modifier, en se concentrant sur ce qu’il faut calculer plutôt que sur la façon de le faire.

«Pendant longtemps j’ai été partagé entre les deux mondes, pensant qu’il devait y avoir un moyen de combiner les meilleurs éléments de la programmation structurée et de la programmation fonctionnelle», déclare Martin Odersky.

Cela l’a amené à travailler sur Java, un langage impératif, et à créer une extension appelée Pizza qui a ajouté des éléments clés de la programmation fonctionnelle à ce langage impératif.

Martin Odersky a travaillé chez IBM, à l’Université de Yale, à l’Université de Karlsruhe et à l’Université d’Australie-Méridionale avant de rejoindre l’EPFL en tant que professeur titulaire en 1999, où il a décidé de faire plus de travaux fondamentaux.

«Je me suis dit que nous pouvions partir de zéro et nous demander, sur une page blanche, comment assembler des éléments de programmation structurée, ou orientée objet, et fonctionnelle.»

En commençant par quelques conceptions préliminaires et des mini-langages pour tester différents concepts, Martin Odersky ainsi que ses collaboratrices et collaborateurs ont finalement trouvé un moyen d’en faire quelque chose de pratique, qui est devenu le langage de programmation Scala. «Il m’occupe depuis plus de 20 ans», confie-t-il.

Scala fonctionne sur la plateforme Java et combine des styles de programmation orientée objet et fonctionnelle. Cela signifie que vous pouvez écrire des programmes à l’aide de classes et d’objets, tout en utilisant des fonctions comme valeurs, ce qui évite de modifier les données. Le langage Scala, de l’anglais «scalable» (pouvant être mis à l’échelle), est un langage de programmation où vous pouvez commencer avec seulement quelques lignes de code puis en développer davantage.

«Au début, nous ne nous attendions à rien, mais cinq ans plus tard, soudainement, beaucoup de gens à San Francisco, dans la Silicon Valley et ailleurs ont franchi le pas», explique Martin Odersky. Aujourd’hui, il est utilisé par des milliers d’entreprises dans le monde entier, y compris les nouveaux Duolingo, Volkswagen et X (anciennement Twitter). C’est aussi un pilier essentiel des logiciels open source, par exemple en tant que langage d’implémentation du populaire framework Spark pour l’analyse des mégadonnées. Martin Odersky a également créé le Centre Scala à l’EPFL, qui coordonne le soutien et supervise le développement de Scala.

En reconnaissance de l’importance du langage de programmation Scala, ainsi que de sa longue et impressionnante carrière dans la recherche, l’enseignement et le mentorat, Martin Odersky a reçu le prix Programming Languages Achievement Award du Groupe d’intérêt spécial sur les langages de programmation (SIGPLAN) de l’ACM.

«Martin Odersky a eu un impact profond et durable dans le domaine des langages de programmation grâce à ses recherches révolutionnaires et à ses contributions pratiques significatives», lit-on sur leur site Internet. «Son travail a eu un impact direct sur des centaines de milliers de développeuses et développeurs dans le monde entier, et a inspiré une nouvelle génération de scientifiques et de spécialistes.»

«Nous avons beaucoup de chance d'avoir un chercheur aussi talentueux au sein de notre faculté », déclare Sabine Süsstrunk, doyenne d’IC. « Tout au long de sa longue et brillante carrière, il a eu une influence inestimable sur le monde de la programmation, notamment grâce au langage Scala, mais aussi grâce à son dévouement à l'enseignement et au mentorat des étudiant.e.s de l'EPFL.»

«Utiliser des éléments non fiables de manière sûre»

Martin Odersky et son groupe de recherche travaillent actuellement sur un projet du FNS visant à utiliser les capacités, qui sont essentiellement des jetons permettant certaines actions, pour assurer la sécurité des langages de programmation, car les gens utilisent de plus en plus des éléments non fiables d’Internet, y compris ceux créés par l’IA.

«Nous travaillons majoritairement sur une meilleure prise en charge des capacités afin de combiner les éléments fiables et non fiables de manière sûre», explique-t-il. «Les gens trouvent des éléments partout, dont la plupart pourraient être écrits par l’IA. Vous ne devriez pas faire confiance à ce code parce que vous ne l’avez pas vérifié ligne par ligne vous-même. Donc la question est de savoir comment vous pouvez combiner ces éléments non fiables sur lesquels vous comptez avec votre propre noyau, supposé sûr, d’une manière qui ne compromette pas la sécurité de l’ensemble du système. Les capacités peuvent le faire, et elles peuvent être encore plus efficaces si elles sont intégrées dans le système de type d’un langage. Nous misons donc sur les capacités comme technique pour relever ce défi.»


Auteur: Stephanie Parker

Source: People

Ce contenu est distribué sous les termes de la licence Creative Commons CC BY-SA 4.0. Vous pouvez reprendre librement les textes, vidéos et images y figurant à condition de créditer l’auteur de l’œuvre, et de ne pas restreindre son utilisation. Pour les illustrations ne contenant pas la mention CC BY-SA, l’autorisation de l’auteur est nécessaire.