Accueil Carte Index Rechercher Nouvelles Archives Liens A propos
[Top Bar] [Bottom Bar]

Interview de Dennis M. Ritchie

par

Manuel Benet

Qui est Dennis M. Ritchie?:

Certaines personnes deviennent importantes car elles changent l'histoire, d'autres font l'histoire. Dennis Ritchie appartient à ce second groupe de personnes. Lorsque que nous étions encore en couche culotte, il développait le langage "C", langage informatique le plus utilisé de nos jours. Il est inutile de mettre en doute cette contribution à l'humanité.

Mais, ce n'était pas assez pour lui. Dennis Ritchie et Ken Thompson ont co-développé le système d'exploitation Unix. Oui, il a créé UNIX.

Il n'a pas arrêté de travailler sur ce dernier, de plus Plan 9 et Inferno ont été développés par le groupe de recherche qu'il dirigait.

Son travail fut reconnu par plusieurs organisations de la communauté informatique: ACM award pour un article de 1974 sur les systèmes et langages; IEEE Emmanuel Piore Award (1982), Bell Laboratories Fellow (1983); Association for Computing Machinery Turing Award (1983); C&C Foundation award of NEC (1989): IEEE Hamming Medal (1990), etc.

Maintenant, Dennis M. Ritchie est a la tête d'un département de recherche sur les systèmes d'exploitation au centre de recherche des Bell Labs/Lucent Technologies dans le New Jersey


LF: Tout comme beaucoup d'enfant veulent devenir Superman, vous êtes l'idole de beaucoup de programmateur C et de fans Unix dans le monde entier. Comment ressentez vous le fait d'être adoré par des centaines de développeur UNIX/C? Il est impensable de nous imaginer de nos jours sans Unix et C. Lorsque vous avez crée C et commencé a travailler sur Unix, est-ce que vous vous attendiez à ce qu'il devienne le FUTUR de l'informatique?

Dennis: Ces deux questions sont similaires, et elles me sont fréquement posées. Evidement, les félicitations et les prix que j'ai reçu ainsi que mon équipe nous ont fait très plaisir, et nous sentons ainsi que nos avons créé quelque chose de valeur. Mais nous ne nous attendions pas à ce que cela devienne "le futur" , ou de l'éventuelle importance qu'ont pris nos travaux. L'idée de départ était "essayons de faire quelque chose d'utile" et en même temps réalisons un travail où d'autres personnes pourront participer. C'est important de garder à l'esprit que bien que Unix, le C et C++ soit un domaine important, le monde de l'informatique et des produits réels est beaucoup plus large. Cela est vrai aussi bien pour les études sur les langages de programmation que le monde qui brasse beaucoup d'argent des éditeurs de software.

LF: Si Unix fait parti du présent ainsi que du passé dans l'histoire des systèmes d'exploitation, C aurait pu être consideré sans nul doute comme "LE LANGAGE", cependant beaucoup de langages orientés objets sont apparus ces dernières années. Que pensez vous de C++ et de Java, ainsi que de la petite guerre entre les développeurs C et C++ ?
C a été caractérisé (à la fois admirativement et individuellement) comme un langage assembleur portable et C++ tente de le mettre au niveau de l'orienté objet et d'une approche de la programmation plus abstraite.

Dennis: C++ a bénéficié énormément de C, parce que C fut adopté par beaucoup même avant la croissance de C++, et C++ a pu employer C comme base pour établir un nouveau langage et comme outil pour créer ses compilateurs. C a été caractérisé (à la fois admirativement et individuellement) comme un langage assembleur portable et C++ tente de le mettre au niveau de l'orienté objet et d'une approche de la programmation plus abstraite. L'erreur des deux (dans les standards récents) semble être l'accumulation de gadgets. Ils ont tout deux un certain pragmatisme en essayant de comprendre ce qui est réellement nécessaire. Java est manifestement un descendant de C++, qui en une fois enlève l'héritage des pointeurs du C et ajoute l'idée (pas si nouvelle mais peut être de nos jour faisable) de fichiers objets independants du matériel. Maintenant qu'il a été pris dans une machination inter Sun-Microsoft et qu'il a aussi ses propres problèmes d'ornementation, il est difficile de deviner vers quelle voie les choses vous allez.

LF: Maintenant faisons l'hypothese que vous devriez refaire le langage C après toutes ces années d'expérience et à partir de rien. Est-ce que vous y changeriez quelques chose?

Dennis: Trouver une voie (avec comme limite le temps à y consercrer) pour être au maximun compatible avec le standard ANSI/ISO dans certain cas: compléter la déclaration des types des arguments de fonctions, que le standard C de 1989 apelle "function prototypes". Il y a plusieurs petits détails qui ne sont pas trés propres, par rapport à ce qu'il aurait du être. Par exemple, la signification de "static", qui est utilisée (à tort) dans beaucoup de cas. J'ai toujours quelques doutes a propos de la syntaxe du langage, surtout à l'endroit de la déclaration des variables. C'est un des points le plus critique, mais elle a une logique interne.

LF: Tandis que le C est adopté par beaucoup et est bien normalisé, les systèmes d'exploitation sont toujours en pleine évolution. De nouvelles idées permettent de réaliser des composants plus rapides et moin chers. Quelles devrait être selon vous les bases d'un système d'exploitation? En particulier, quelle est votre opinon sur les micro-nano-kernels par rapport au noyau monolithique?

Dennis: Je ne pense pas que, présenté de cette façon, ce soit une voie interessante. Je préfère fortement les environements qui fournissent aux applications un "espace de nom" structuré et commun , ainsi qu'un mécanisme pour accéder aux ressources, suivant la philosophie Unix (J'inclus Linux ici), Plan 9, Inferno. Il me semble que l'idée de micro/macro noyau ne s'est jamais imposée pour un cas réel, tout du moins en tant que base de systèmes à usages généraux. En pratique, il semble que le micro noyau devienne dédié au macro-système qui le chapote. Cela pourrait rester un outil utile pour la structure interne d'un système, mais n'est pas viable seul. Bien sûr (le monde étant compliqué) il y a des cas ou un petit système d'exploitation peut être trés utile pour des systèmes à usage non généraux mais pas pour les ordinateurs de bureau ou les gros systèmes centraux.

LF: UNIX est maintenant un système d'exploitation ayant une longue histoire Il a été crée il y a plusieurs années et depuis lors les fonctionalités réseaux, le matériel, les services ainsi que les applications ont évolués énormément. Quelles sont les handicapes et les limites d'UNIX facent à la demande des utilisateurs présents et futures ?

Dennis: Je n'en vois aucune, fondemantale ou technologique, au niveau des API système ("system calls"). Il y a bien sûr des implications commerciales et politiques énormes dans la lutte qui oppose les vendeurs d'UNIX commerciaux entre eux et maintenant avec les divers fournisseurs d'UNIX libres, y compris Linux et BSD.

LF: En ce moment il y a un problème avec l'approche de l'an 2000 et la potentielle implosion de l'internet due au bogue Y2K . Croyez vous qu'il y ait quelques fondements à propos des previsions apocaliptiques qu'ont fait quelques experts?

Dennis: Aucun commentaire à ce propos, vraiment, en tout cas , je ne serait pas en vol le 31 decembre 1999 à 23:59, je n'ai jamais été près d'un aéroport lors du nouvel an de toute ma vie. Ce fait n'a probablement rien à voir avec Y2K.

LF: Ceci ne serait pas une interview complète si je ne vous questionnais pas sur Inferno, le système sur lequel vous êtes en train de travailler. Quelles sont les raisons pour lequelles vous avez conçu un systeme d'exploitation complètement, ainsi qu'un nouveau langage associé Limbo? Mais aussi pourquoi le couple Inferno/Limbo s'il existe JavaVM/Java? En d'autres mots, qu'est ce qu'apporte Inferno que Java n'a pas?

Dennis: Inferno est l'enfant chéri de Phil Winterbottom et Rob Pike, et a commencé juste avant l'arrivée du rouleau compresseur Java (la machine publicitaire). Java avait son propre prédecesseur (appelé Oak en interne), mais au moment où Inferno a éclos il n'y avait aucune raison de penser que le phénomène émergerait, et bien que nous ayons été informé de java, il était toujours à l'état de projet. Je pense que c'est un effet du hasard qu'une idée technologique vénérable (un langage implanté sur une machine virtuelle portable) ait été ravivée à la fois par Sun et nous. Ceci dit, l'idee Inferno était depuis le départ plus intéressante en terme de technologie de système d'exploitation (un langage et un OS qui travailleraient ensemble sur du matériel éprouvé, simple et identique en tant qu'application sous Windows ou Unix ou Linux). Toutefois, il faut complimenté Sun pour avoir mieux pris pied dans le marché très explosif des navigateurs web.

LF: Il semble que le futur de Limbo, en tant que langage de programmation, soit lié à l'expansion et à la popularité du système d'exploitation Inferno. Est-ce que cela a un sens de porter le langage Limbo sur un autre système d'exploitation ? Ou bien, sa conception et ses objectifs sont ils trop dépendants d'Inferno?

Dennis: D'un point de vue technologique, Limbo n'est pas particulièrement dépendant d'Inferno. En pratique, il en est dépendant, simplement parce qu'une nouveau langage dépend de l'environnement dans lequel il est employé.

LF: En regardant votre carriere aux Bell Labs, il semble que vous ayez toujours travaillé sur des projets que vous aimiez, et je suppose que c'est toujours vrai avec Inferno. Est-ce que je me trompe en pensant que vous appréciez réellement votre travail de création d'UNIX et du C ?

Dennis: Effectivement j'ai beaucoup apprécié ma carriere au Bell Labs (qui continue).

LF: Je ne puis éviter de faire la comparaison entre vous et toutes les personnes qui ont actuellement travaillé sur des projets sans but lucratif, simplement parce qu'ils sont passionnés - bien que je suis sûr qu'ils ne refuseraient pas d'argent pour le travail qu'ils font. Pouvez vous vous voir impliqués dans des projets comme Linux, ou semblables, si vous n'étiez pas aux Bells Labs? Comment voyez vous toutes ces personnes depuis un laboratoire innovateur avec le poids des années d'expérience? Etant donné que notre journal est principalement destiné aux utilisateurs de Linux, nous ne pouvons pas oublier de vous poser une question sur Linux. Tout d'abord, quel est votre avis sur l'élan de Linux, et sur la décision de beaucoup de sociétés de commencer à développer des logiciels pour lui (par exemple, est-ce que Bells Labs va porter Inferno sur Linux)?

Dennis: Je vais repondre à ces questions en même temps. Le phénomène de Linux est tout à fait plaisant, parce qu'il s'inspire fortement des bases fournies par Unix. Linux semble être parmi le plus sain des dérivés directs d'Unix, bien qu'il y ait également les divers systèmes BSD ainsi que les offres plus officielles pour les stations de travail et les fabriquant de gros systèmes. Je ne puis m'empêcher d'observer que naturellement, les unix libres semblent souffrir d'exactement le même genre de fragmentation et de différents qui se sont produit et se produisent toujours dans le monde commercial.

LF: La grande question à propos de Linux ? Est-ce que vous avez déjà utilisé Linux? Si oui, quelle est votre opinon à son sujet ?
J'admire beaucoup la croissance et la vigueur de linux.

Dennis: Je ne l'ai pas vraiment utilisé quotidiennement pour dire la vérité. Mon environnement informatique est un étrange mélange de Plan 9, Windows, et Inferno. J'admire beaucoup la croissance et la vigueur de linux. Souvent, des personnes me pose cette même question, mais posée de telle manière que la réponse attendu devrait calmer une irritation à propos de Linux par rapport aux Unix des sociétés traditionnelles. Mais tout au contraire, je pense que tout deux sont la continuité des idées que nous avions commencées avec Ken ainsi que beaucoup d'autres il y a plusieurs années.

LF: Et microsoft, que pensez vous du monopole de cette compagnie sur les ordinateurs de bureau? Les anciens films de sciences fictions décrivaient un monde dominé par des gros ordinateurs qui rythmeraient votre vie quotidienne. La réalité nous montre une autre histoire. Des ordinateurs, à bien des égards, ont été relégués à un appareil simple. Vous qui avez developpé un système d'exploitation pensé pour les programmeurs, qui avez vécu ces scènes de science fiction, qui avez imanginé l'informatique actuelle, comment imaginez vous l'avenir de l'informatique ? Selon vous, quelle place vont pendre Inferno et Linux dans l'avenir ?

Dennis: Ce sont deux questions. Microsoft a un monopole sur les ordinateur de bureau, mais ce n'est pas la seule informatique existante. Les deux alternatives logicielles (comme linux) et des morceaux du monde qui n'est pas autant médiatisé que Windows ou la guerre des navigateurs (comme l'informatique haute performance, celle qui est très fiable ou très petite) auront toutes une place. Je crois que Linux et Inferno vont prospérer.


Texte original en Anglais.
Traduit par Charles Vidal. 
Aidé de John Peer,merci a lui. 

© LinuxFocus 1999
Contacter le Webmestre.