Le langage Pharo fête ses 10 ans après un tour du monde...

Date:
Mis à jour le 16/04/2020
En 10 ans, le langage de programmation Pharo, créé chez Inria par les chercheurs Stéphane Ducasse et Marcus Denker, s’est imposé dans de nombreux domaines : application web, serveur, télécommunications, banque... Un succès basé sur une communauté active de plus de cent contributeurs et une large diffusion, aussi bien académique qu’industrielle.
Pharo
© Inria / Photo C. Morel
Logo Pharo

« Un langage simple, pur et interactif ! » Voilà comment Stéphane Ducasse, directeur de recherche au centre Inria Lille - Nord Europe, décrit le langage Pharo, qu’il a créé avec Marcus Denker, un autre chercheur de l’équipe Rmod, et dont il souffle la dixième bougie cette année.
L’aventure remonte à 2007 : Stéphane Ducasse et Marcus Denker, sont alors à l’université de Berne les mainteneurs de Squeak, une implémentation de Smalltalk, un langage de programmation "orientée objet" très répandu. « L’infrastructure de Squeak était jugée trop lourde et obsolète. Stéphane, qui venait de créer l’équipe Rmod chez Inria, m’a alors proposé de le rejoindre et de reprendre ensemble toutes les bases de Squeak pour créer notre propre langage, se souvient Marcus Denker. L’idée était de créer non pas un prototype de recherche comme l’était devenu Squeak, mais un langage efficace permettant aux utilisateurs (et utilisatrices) d’avoir une grande rapidité de développement de leurs applications et de générer facilement du business », résume Stéphane Ducasse.

Simplicité et interactivité

Dès 2008, les deux chercheurs publient la première version de Pharo en open source, qui fédère immédiatement la communauté de contributeurs et contributrices (ou committers) issue de Squeak. La particularité de ce nouveau langage réside d’abord dans sa simplicité, les instructions tenant sur une carte postale - « là où d’autres langages ne tiennent parfois pas sur 50 pages », précise Stéphane Ducasse – et d’autre part dans son côté interactif. « Avec Pharo, l’utilisateur a un retour immédiat sur l’objet développé, à tel point qu’il peut modifier son programme directement dans le compilateur, dont le rôle est d’habitude de débugger le programme fini. Cette caractéristique permet d’expérimenter beaucoup plus vite, un peu comme un appareil numérique en photographie par rapport à l’argentique, et donne un côté immersif très apprécié des développeurs (et développeuses) », détaille Stéphane Ducasse.

Aujourd’hui la communauté Pharo compte près de cent committers mettant régulièrement à disposition des briques logicielles. « Par exemple, une société belge spécialisée dans le suivi de flottes de camion a partagé son serveur http entier, une énorme brique représentant un an de travail, pour voir si la communauté pouvait s’en saisir et l’améliorer en retour », raconte Stéphane Ducasse. L’équipe Rmod, forte d’une trentaine de chercheurs et chercheuses, ingénieurs, doctorantes et doctorants, assure, elle, un rôle de structuration de la communauté : « Inria, nous offre la possibilité de dégager du temps et des moyens pour développer la plate-forme, ce qui nous permet de maintenir un lien entre recherche académique et applications industrielles », note Marcus Denker.

En 2013 a ainsi été créé le consortium Pharo réunissant plus de 50 entreprises. « L’idée est de mettre des moyens en commun pour assurer aux utilisateurs (et utilisatrices) un appui technique et assurer la pérennité du langage, en vérifiant par exemple qu’il soit compatible avec toutes les prochaines versions de Windows ou Mac », explique Stéphane Ducasse.

 

L’idée était de créer non pas un prototype de recherche comme l’était devenu Squeak , mais un langage efficace permettant aux utilisateurs (et utilisatrices) d’avoir une grande rapidité de développement de leurs applications et de générer facilement du business

 

 

Des applications variées

Aujourd’hui, Pharo est utilisé dans une grande variété de domaines : drones, télécommunications, banque… La société Lifeware a par exemple des applications de plus de 30 millions de lignes de code en Pharo pour effecteur des contrats en main blanche pour des sociétés d’assurance. De son côté, le groupe Thalès utilise Pharo pour développer des prototypes d’interfaces graphiques pour l’Armée. « Ce qui est surprenant, c’est que le langage génère des applications que je n’aurais jamais envisagées à l’origine » , s’enthousiasme Stéphane Ducasse. Pharo a par exemple permis de développer et gérer des distributeurs de billets en Russie entre 2008 et 2015, ainsi que de nombreux sites de location/vente comme de la location de machines outils en ligne au Japon.

Le langage est aussi reconnu pour sa valeur pédagogique concernant la programmation orientée objet, raison pour laquelle il est enseigné dans une quarantaine d’universités à travers le monde. Pour répondre à cet intérêt, l’équipe Rmod a même créé un cours en ligne (MOOC) comptant à ce jour 8000 participantes et participants, étudiantes ou étudiants en cursus ou diplômés ! « L’un des meilleurs Moocs que j’ai suivis… […] En tant que développeur sénior, je voudrais être réincarné en développeur Pharo dans ma prochaine vie », témoigne ainsi un utilisateur sur le site du Mooc. L’équipe Rmod attire aussi les jeunes talents : « n’ayant programmé qu’en Python et Java auparavant, Pharo m’a directement séduit notamment par sa syntaxe très minimale, qui permet malgré cela d’implémenter un comportement complexe de façon relativement simple », raconte Julien Delplanque, ingénieur en logiciel ayant intégré cette année l’équipe en tant que doctorant.

Pour l’avenir, Stéphane Ducasse, Marcus Denker et leur équipe nourrissent de nombreux projets. Ils travaillent par exemple sur de nouvelles couches du logiciel destinées à l’internet des objets - pour embarquer par exemple du Pharo au sein d’appareils connectés - ou à des applications liées à la blockchain … signe du caractère très actuel du langage !

Rmod est une équipe-projet Inria commune avec le laboratoire CRIStAL (Centrale Lille, CNRS, Université de Lille)