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.
Aidé de John Peer,merci a lui.