Interview de Gérard Berry
 

Gérard Berry, né en 1948, est un chercheur mondialement connu dans le domaine de l'informatique qui travaille sur les langages de programmation, leur sémantique, leur compilation sur cibles matérielles ou logicielles et leur vérification formelle. Ses travaux ont concerné trois domaines : les langages de programmation fonctionnels, les langages parallèles et temps-réel, et les circuits électroniques. Il a donné en 2008 un cour au Collège de France, accompagné de séminaires par des personnalités extérieures, sous l'intitulé « Pourquoi et comment le monde devient numérique ? ». Il est membre de l'Académie des sciences, de l'Académie des technologies, et de l'Academia Europaea. Il est aussi directeur scientifique d'Esterel Technologies et a été en 2008 le titulaire de la chaire d'innovation technologique Liliane Bettencourt du Collège de France. Il a accepté de répondre aux questions de SPECIF et nous l'en remercions.
 

Question 1 : Tu as été titulaire de la chaire d'innovation technologique Liliane Bettencourt du Collège de France. Pourrais-tu présenter à nos lecteurs cette chaire et ce que cette illustre institution attendait de toi ?

   La chaire d'innovation technologique Liliane Bettencourt a été créée en 2006 au Collège de France en partenariat avec la Fondation Bettencourt-Schueller qui subventionne de nombreuses activités dans le domaine des sciences, de l'art et de l'humanitaire. La chaire a pour ambition de marier science, innovation technologique et implications économiques. Le premier titulaire, Jean-Paul Clozel en 2006, était un pharmacologue. Le second, moi-même en 2007, un informaticien chercheur puis industriel. Le troisième et actuel, Mathias Fink, est un physicien très impliqué dans les applications. Le cours que j'ai donné était consacré à une présentation générale de la science et de la technologie informatiques au grand public. La présentation technique était accompagnée d'une analyse légère, mais j'espère pertinente, de l'impact de la numérisation du monde dans les domaines économiques et sociaux. Ce genre de cours ne se trouve pas dans l'enseignement classique. En revanche, il correspond bien à la vision du Collège qui est d'enseigner « la science en train de se faire » au sens large.

Question 2 : Pour beaucoup d'entre nous le Collège de France, fondé en 1530, c'est la science traditionnelle, image de la classification désuète d'Auguste Comte. Est-ce que l'informatique a sa place dans ce monde ?

   Insister sur le côté traditionnel du Collège de France est absolument suranné, pour peu que cet attachement à la tradition ait jamais eu de sens. Le nombre d'immenses scientifiques qu'il a hébergé et héberge encore est considérable. Beaucoup de Prix Nobel et Médaille Fields y ont enseigné et y enseignent encore des cours de premier plan mondial sur des sujets en pleine évolution. Pour les professeurs permanents, l'obligation de ne jamais enseigner deux fois la même chose interdit le conservatisme. De plus, le Collège a de nombreux laboratoires de premier plan, en collaboration avec d'autres institutions, par exemple en médecine ou en neurobiologie, une discipline actuellement en plein essor.

   Mais il est exact que l'informatique a eu et a encore du mal à être reconnue et à s'implanter au sein des sciences classiques, dans beaucoup d'organismes en France et dans le monde. De ce point de vue, le monde de la recherche scientifique est très conservateur, ce qui est assez paradoxal. Récemment, le Collège a décidé d'ouvrir davantage son enseignement, en particulier en créant les chaires annuelles (avec aussi par exemple la création artistique et le développement durable). L'importance actuelle évidente de l'informatique a naturellement conduit le Collège à s'y intéresser et à la reconnaître explicitement en tant que science, d'abord à travers ma chaire. Gageons que l'action continuera.

Question 3 : j'ai lu dans ta notice biographique, que j'ai consultée, (-: mais je le savais déjà) que tu as (as eu) trois centres d'intérêt :
 - le lambda-calcul et la programmation fonctionnelle
 - la programmation parallèle et temps réel
 - la conception assistée par ordinateur de circuits intégrés synchrones
et que de plus tu as conçu le langage Esterel.

Quelle est la continuité dans ces domaines ?

   Mon action dans ces trois domaines repose sur une même vision de la conception des systèmes informatisés. D'abord, il doit y avoir un modèle de calcul sous-jacent simple, adapté à son problème, robuste et malléable. Pour la programmation fonctionnelle, c'est le lambda-calcul, certainement le modèle de calcul le mieux compris à ce jour. Mais ce modèle ne s'adapte pas de façon satisfaisante au parallélisme, devenu maintenant fondamental partout. J'ai distingué et étudié trois sortes de parallélisme : l'asynchrone, où la communication est en temps non-prévisible, pour lequel j'ai introduit la machine chimique (CHAM) avec G. Boudol ; le synchrone, avec une communication conceptuellement en temps 0 qui fonde la conception d'Esterel et des autres langages synchrones ; enfin, le vibratoire, avec communication en temps prévisible, sur lequel se fonde l'implémentation des langages synchrones en circuits électroniques ou en logiciels. Mais développer un modèle ne suffit pas. Il faut construire les langages associés, les faire passer à l'échelle des grandes applications, développer les compilateurs, et convaincre les utilisateurs. C'est à cela que je me suis attelé ces dix dernières années. Un point intéressant est que les concepts que nous avons développés dans le synchrone s'appliquent également et sans changements dans des mondes aussi socialement disjoints que la conception des circuits et celle des logiciels embarqués.

Question 4 : Je vois le terme « synchrone », mais je ne vois pas le terme « réactif ». Pourrais-tu en dire plus sur ces deux adjectifs quand ils ont trait à la programmation ?

   La notion de réactivité est liée aux applications : un système réactif doit réagir aux changements de son environnement en fournissant des résultats ou des commandes en retour, avec souvent (mais pas toujours) des contraintes de temps-réel. La notion de synchronisme est liée à un modèle de calcul particulièrement bien adapté à la programmation des systèmes réactifs. Elle est devenue standard dans le temps-réel critique. Mais d'autres chercheurs étudient des modes de programmation asynchrones pour les systèmes réactifs et temps-réels. Citons par exemple ADA, Java temps-réel, etc.

Question 5 : Je vais reprendre le titre de ton cours au Collège de France même si je sens qu'il est difficile de traiter ma question en peu de mots, alors qu'il t'a fallu huit leçons pour développer ta réponse. « Pourquoi et comment le monde devient numérique ? ». S'agit-il bien de la notion de nombre que j'ai apprise à l'école élémentaire ?

   Oui, il s'agit bien de la même notion de nombre. La première clef du monde numérique est le codage discret de l'information. Dans un ordinateur, toute information est représentée par une suite de nombres qui peuvent représenter par exemple des intensités lumineuses ou sonores, ou bien des codes plus ou moins arbitraires comme les codes ASCII des caractères. On dit souvent que l'information est représentée par des suites de 0 et de 1. Cette vision est bien trop simpliste. L'aspect numérique est fondamental, par exemple pour la compression et l'amélioration des images et des sons qui reposent sur des transformées de Fourier ou autres. Même pour des données apparemment non-numériques comme des textes, lire les suites de 0 et 1 comme des nombres est fondamental dans toutes les opérations de codage redondant pour les télécommunications, de chiffrement pour la sécurité, ou d'indexation pour la recherche. Enfin, la numérisation est la base de l'adressage mémoire, sans doute l'opération la plus importante dans un ordinateur. Dans tous ces cas, les nombres considérés sont des entiers éventuellement très grands. Les nombres dits « réels » n'existent pas en informatique. Pour calculer sur des problèmes « continus », on utilise des discrétisations rationnelles approchées par des nombres dits « flottants » qui sont fort loin d'être simples.

Question 6 : Le monde sera numérique ou informatique, certes, mais comment le vois-tu ?

   Comme disait Pierre Dac, « la prévision est un art difficile, surtout en ce qui concerne l'avenir ». Mais il y a au moins quatre paris certains. D'abord, Internet va centraliser toute l'information disponible, ainsi que presque tous les services qui y sont liés. Les autres formes de communication comme la téléphonie s'y fondront. Déjà, il est difficile de se souvenir de la vie avant le courrier électronique, le téléphone portable, les services en ligne et les moteurs de recherche. Les répercussions sont déjà bien connues : création de communautés virtuelles, naissance de créations artistiques d'un nouveau type, etc. L'imagination dans ce domaine ne peut pas être prévue. Le deuxième pari est la numérisation et la mise en réseau de la plus grande partie des objets qui nous entourent. Les voitures se parleront pour éviter les accidents, parleront à la route et à la ville pour éviter les bouchons, je retrouverai enfin mes lunettes grâce à la petite puce quelles contiendront, etc. Les humains seront rapidement minoritaires sur Internet. Il y a bien sûr un grand danger associé, le fait que « Big Brother » est devenu techniquement possible, et donc probable si l'on ne s'organise pas contre. Le troisième pari est le bouleversement de toutes les sciences par la modélisation numérique, la création d'instruments virtuels, etc. On voit maintenant une évolution forte de la biologie vers la bio-informatique, i.e. la compréhension des structures et transferts d'informations liés aux signaux moléculaires ou électriques. Notons aussi que la numérisation et la simulation sont le seul recours pour les cas où l'expérimentation directe est impossible, comme pour l'étude de l'évolution du climat ou celle des trous noirs. Le quatrième pari est une révolution de tout ce qui est lié à la santé. L'imagerie numérique a déjà révolutionné le diagnostic, mais elle n'en est qu'à ses débuts. Jointe à d'autres méthodes d'observation plus classiques, elle a permis l'explosion de nouvelles sciences, comme les neurosciences qui s'attaquent à la compréhension de notre pensée et de nos mouvements, et ont déjà permis la création de prothèses directement commandées par la pensée. Enfin, les circuits seront bientôt implantés directement dans le corps humain. Rêvons un peu : il serait bien plus logique d'être appelé par son médecin lorsqu'il détectera un problème à distante que d'aller faire la queue chez lui en ne sachant pas trop ce qu'on a.

Question 7 : Quand on t'écoute, on sent ta passion à faire découvrir l'informatique, l'algorithmique et plus généralement les STIC au plus grand nombre. En particulier, tu fais souvent référence à ton expérience avec les plus jeunes, or le nombre de jeunes intéressés par l'informatique baisse ou au moins ne croît pas aussi vite que les besoins de la société. À SPECIF ces questions de didactique associées à la baisse d'effectifs nous intéressent au plus haut point. Que devrions-nous faire pour populariser notre science et comment devrions-nous nous y prendre ?

   En premier, se rendre compte de l'importante du problème et de la responsabilité des scientifiques dans l'état actuel des choses. La science est encore enseignée d'une façon quelque peu dogmatique qui ne plait pas à un grand nombre d'enfants : « apprenez d'abord, vous verrez après à quoi ça sert » est une mauvaise formule à l'heure d'Internet, où les enfants explorent le monde d'une façon à peu près opposée. De plus, l'entrée de nouvelles matières comme l'informatique reste très difficile à cause des résistances internes. Dans ma leçon inaugurale, je disais avec force que, de ce point de vue, la France entrait dans le 20e siècle à l'envers au lieu d'entrer dans le 21e à l'endroit. Il reste encore une confusion répandue entre l'usage de l'ordinateur (Computer Literacy en anglais) et la science informatique, confusion qu'on ne fait nullement entre l'apprentissage de la conduite automobile et la mécanique ou la thermodynamique. Or, si l'enseignement de l'usage de l'ordinateur progresse grâce au B2I et au C2I, celui de la science informatique reste au point mort, malgré des avancées récentes sur les principes (il a existé un moment, puis a disparu au début des années 1990). C'est extrêmement dommageable au vu de l'importante grandissante des industries liées à l'informatique et des gisements considérables d'emplois qui y sont liés. Le terrain est occupé en grande partie par les pays asiatiques qui ont bien détecté les enjeux. La création à terme d'un vrai enseignement de science informatique au lycée est indispensable pour que notre pays tienne son rang dans le monde.

   Mais il faut aussi prendre le problème beaucoup plus tôt. Les méthodes d'enseignement de type Montessori ou de type « Main à la pâte » montrent qu'on peut enseigner fort efficacement les sciences aux jeunes enfants tout en les passionnant – souvenons-nous qu'il ne peut pas y avoir d'appropriation d'une culture quelconque sans motivation associée. Un enseignement d'informatique très tôt, s'il est bien conçu, devrait sans problème attirer les enfants, car il leur parlerait des racines de leur vie de tous les jours ; pour eux, il n'y a pas de notable différence entre le numérique, la mer ou la montage. J'ai moi-même enseigné dans une école Montessori, d'abord aux 9-12 ans, puis au 6-9 ans. Cette expérience a été la clef de mon cours au Collège de France. J'y ai vu la confirmation que l'informatique est aussi un terrain idéal pour la formation du raisonnement, car son approche est à la fois de type mathématique et de type expérimental.

   Il est clair qu'un enseignement pérenne de la science informatique et de ses conséquences demandera la création d'un CAPES informatique, qui rencontre pour l'instant de grandes résistances. Mais ne serait-il pas aberrant qu'un étudiant formé à la meilleure informatique ne puisse pas l'enseigner par manque du diplôme correspondant ?

Question 8 : Et dans l'enseignement supérieur que devrions nous enseigner et transmettre ? Que devrions nous privilégier ?

   L'enseignement supérieur me semble relativement à jour, sauf dans certaines grandes écoles qui restent quelque peu à la traîne. Mais l'informatique progresse sans doute plus vite que les programmes d'enseignement, surtout en ce qui concerne son insertion dans toutes les autres activités. Il faudra sans doute prendre un virage plus généraliste et chercher à toucher davantage d'étudiants dans tous les domaines. Par exemple, j'ai déjà mentionné que toutes les sciences et technologies étaient maintenant utilisatrices et même créatrices d'informatique. Il convient que les ingénieurs et chercheurs non spécifiquement informaticiens soient convenablement formés pour qu'ils ne perdent pas de temps à être simplement de mauvais utilisateurs. L'enseignement des techniques générales de modélisation numérique devra donc être promu.

   La façon d'enseigner sera progressivement modifiée par Internet qui est un moyen idéal de diffuser des cours magistraux en s'affranchissant de la géographie. Le très grand succès des téléchargements au Collège de France le montre bien. Mais le suivi des élèves demandera le maintien d'une approche beaucoup plus personnalisée en petites classes, avec mise à disposition sur le réseau de très nombreux supports d'exercice et de création.

Question 9 : Pour terminer sur une anecdote, Gustave Eiffel a conçu une tour particulièrement stable, or on t'attribue la « fonction stable séquentielle » dite « fonction de Gustave ». Qui est ce Gustave ? Est-ce une référence à cet ingénieur mondialement connu ?

   Effectivement, la tour Eiffel est très stable ! Mais mon autre prénom « Gustave » ne date pas de là, car il existait avant les fonctions stables. Au début des années 1970, nous étions une joyeuse bande de jeunes informaticiens au bâtiment 8 de l'IRIA (sans N). Comme il y avait plusieurs Gérard, Philippe Flajolet avait décidé d'en renommer (techniquement, α-convertir) quelques-uns. Il a trouvé que Gustave m'irait bien, c'est à lui qu'il faut demander pourquoi. Dans mon dos, il a réussi à convaincre nos amis étrangers que c'était bel et bien mon vrai prénom. Plus tard, dans de célèbres notes de cours à Carnegie Mellon, un autre Gérard (Huet, celui qui a gardé son prénom car le moins jeune) a nommé ma fonction stable non séquentielle « fonction de Gustave ». Depuis, elle est citée comme cela partout. Récemment, soit 30 ans après les faits, un jeune Hollandais m'a écrit qu'il avait trouvé la fonction dans un de mes papiers de 1973, mais pas sous ce nom là ! Comme il était le premier à découvrir le pot aux roses, je lui ai immédiatement envoyé 200 kg de λ-expressions toutes fraîches en cadeau.

Interview recueillie par Pierre Lescanne

Article paru dans le Bulletin SPECIF n° 61 d'avril 2009, pages 41-44, http://specif.org/.
Nous remercions Gérard Berry et SPECIF pour l'autorisation de reproduire.

___________________
Association EPI
Mai 2009

Accueil Informatique et TIC Articles