Page suivante Page précédente Table des matières

3. La montée d'Unix

Pendant ce temps, cependant, au plus profond de l'État du Nouveau Jersey, quelque chose était sur les rails depuis 1969, qui allait à terme faire de l'ombre à la tradition du PDP-10. L'ARPAnet a vu le jour la même année que celle où un hacker des laboratoires Bell, Ken Thompson, a inventé Unix.

M. Thompson avait travaillé sur le développement d'un système d'exploitation à temps partagé appelé Multics, qui partageait avec ITS des ancêtres communs. Multics fut un banc de tests pour des idées importantes, comme la manière dont on pouvait dissimuler la complexité d'un système d'exploitation au coeur de ce dernier, sans rien en laisser transparaître à l'utilisateur ni même à la plupart des programmeurs. L'idée était de faciliter grandement l'utilisation (et la programmation !) de Multics de l'extérieur, afin de pouvoir vraiment abattre du travail.

Les laboratoires Bell se sont retirés du projet quand Multics a montré des signes de boursouflement superflu (ce système a plus tard été mis sur le marché par la société Honeywell mais n'a jamais connu de succès). Ken Thompson regrettait l'environnement de Multics, et a commencé à implanter en s'amusant un mélange des idées de Multics et de certaines des siennes propres sur un DEC PDP-7 qu'il avait sauvé du rebut.

Un autre hacker, appelé Dennis Ritchie, avait inventé un nouveau langage, le « C », pour que M. Thompson puisse l'utiliser dans son embryon d'Unix. À l'instar d'Unix, C était conçu pour être agréable, sans contraintes, et souple. Aux laboratoires Bell, le mot a circulé, et ces outils ont attiré l'attention, jusqu'à être renforcés, en 1971, par une prime remportée par MM. Thompson et Ritchie, pour produire ce qu'on appellerait maintenant un système d'automatisation de bureau pour usage interne. Mais Thompson et Ritchie visaient de plus grands honneurs.

Traditionnellement, les systèmes d'exploitation avaient été écrits en langage d'assemblage, ardu, pour fonctionner le plus rapidement possible sur leurs machines hôtes. MM. Thompson et Ritchie furent parmi les premiers à comprendre que le matériel et les techniques de compilation avaient fait suffisamment de progrès pour permettre d'écrire tout un système d'exploitation en langage C, et en 1974 tout l'environnement avait été porté avec succès sur plusieurs machines de types différents.

Cela n'avait jamais été réalisé auparavant, et les implications étaient énormes. Si Unix pouvait présenter le même visage, les mêmes possibilités, sur des machines de nombreux types différents, il pourrait servir d'environnement logiciel commun à toutes ces machines. Les utilisateurs ne souffriraient plus des coûts des nouvelles conceptions de logiciels chaque fois qu'une machine deviendrait obsolète. Les hackers pourraient transporter des boîtes à outils logicielles d'une machine à l'autre, plutôt que de devoir réinventer la roue et l'eau chaude à chaque fois.

En plus de leur caractère portable, Unix et C avaient d'autres atouts dans leur manche, et pas des moindres. Tous deux avaient été construits en suivant la philosophie du « Keep It Simple, Stupid » (acronyme signifiant « baiser » et dont la version développée conseille de faire les choses simplement, sans prétentions). Un programmeur pouvait facilement retenir la totalité de la structure logique du C (à la différence de la plupart des autres langages, antérieurs ou postérieurs) sans devoir se référer sans cesse à des manuels ; et Unix était structuré comme une boîte à outils souple de programmes simples mis au point dans le but de se combiner utilement les uns avec les autres.

Ces combinaisons se sont révélées pouvoir s'adapter à une large gamme de tâches informatiques, à la plupart desquelles leurs concepteurs n'avaient même pas songé. Unix s'est rapidement développé sous l'impulsion de la société AT&T, malgré l'absence de programme d'assistance formel. En 1980, il s'était répandu sur de nombreux sites informatiques d'universités et de pôles de recherche, et des milliers de hackers en faisaient leur environnement de travail privilégié.

Les chevaux de labour de la culture Unix des premières années étaient les PDP-11 et ses descendants, les VAX. Mais Unix étant portable, il pouvait fonctionner quasiment à l'identique sur un plus grand nombre de machines, qu'on pouvait trouver sur l'ARPAnet. Et personne n'utilisait de langage d'assemblage ; les programmes écrits en C étaient facilement portés d'une machine à l'autre.

Unix disposait même, en quelque sorte, de son propre protocole réseau — le protocole de copie d'Unix à Unix (UUCP) : lent et (alors) peu fiable, il avait l'avantage d'être peu coûteux. Deux machines Unix quelconques pouvaient s'échanger du courrier électronique point à point grâce à des lignes de téléphone ordinaires ; cette fonctionnalité était construite dans le système, ce n'était pas un extra facultatif. Les sites Unix ont commencé à former un réseau dans le réseau, accompagné par une culture dans la culture des hackers. 1980 vit la première mouture de l'Usenet, réseau qui dépasserait bientôt l'ARPAnet.

Certaines sites Unix se trouvaient eux-mêmes sur l'ARPAnet. Les cultures PDP-10 et Unix ont commencé à se rencontrer et à se mêler, mais ce mélange n'était pas toujours heureux. Les hackers PDP-10 avaient tendance à considérer les gens d'Unix comme une bande de parvenus, qui utilisaient des outils d'allure ridicule et primitive si on les comparait aux adorables complexités baroques de LISP et d'ITS. « Couteaux en silex et peaux de bêtes ! » murmuraient-ils.

Et il existait encore un troisième courant. Le premier ordinateur personnel avait été mis sur le marché en 1975. La société Apple fut fondée en 1977, et les avancées ont suivi à un rythme effréné et incroyable dans les années qui ont suivi. Le potentiel des micro-ordinateurs était limpide, et ils ont attiré une autre génération de jeunes hackers brillants. Ils utilisaient le langage BASIC, qui était si primitif que les partisans de PDP-10 comme les aficionados d'Unix le jugeaient indigne de leur mépris.


Page suivante Page précédente Table des matières