La montée en puissance d'Unix

Pendant ce temps, au plus profond de l'État du Nouveau Jersey, un projet qui allait faire de l'ombre à la tradition du PDP-10, s'animait peu à peu depuis 1969. C'est l'année même de la naissance de l'arpanet qu'un hacker des laboratoires Bell nommé Ken Thompson inventa Unix.

Thompson avait participé au 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 cœur de ce dernier, sans rien en laisser transparaître à l'utilisateur ni même à la plupart des programmeurs. Cela facilitait l'utilisation et la programmation et augmentait donc la proportion de travail consacré à la résolution des problèmes posés et non de ceux qu'induisent l'ordinateur.

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

Dennis Ritchie, un autre hacker, avait inventé un nouveau langage, le « C », pour que Thompson puisse l'utiliser dans son embryon d'Unix. Tous deux étaient conçus pour être agréables, sans contraintes, et souples. Aux laboratoires Bell, le mot a circulé, et ces outils attirèrent l'attention jusqu'à être renforcés, en 1971, par une prime accordée à  Thompson et Ritchie afin qu'il réalisent ce que l'on appellerait maintenant un système spécifique de gestion d'activités liées à la production de documents. 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. 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 et les mêmes possibilités sur des machines différentes il pourrait leur servir d'environnement logiciel commun. Cela affranchirait les utilisateurs des coûts de modification des logiciels liée à l'obsolescence des machines. 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.

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 donnant KISS et dont la version développée conseille de faire les choses simplement, sans prétentions). Un programmeur pouvait facilement apprendre 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 une sorte de boîte à outils de programmes simples mis au point dans le but de se combiner utilement les uns avec les autres.

Ces combinaisons se révélèrent adéquates pour une large gamme de tâches informatiques, à la plupart desquelles leurs concepteurs n'avaient même pas songé. Le nombre de machines sous Unix exploitées par la société AT&T augmenta rapidement malgré l'absence de soutien officiel. En 1980 il avait gagné 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é.

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

Unix disposait même, en quelque sorte, de son propre protocole réseau —  nommé UUCP, lent et (alors) peu fiable mais 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 une extension facultative. Les sites Unix ont commencé à former un réseau dans le réseau, et une culture spécifique. 1980 vit la première mouture de l'Usenet, réseau qui dépasserait bientôt l'ARPAnet.

Certains sites Unix se trouvaient eux-mêmes sur l'ARPAnet. Les cultures PDP-10 et Unix se rencontrèrent et à se mêlèrent, mais ce 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 de silex et peaux de bêtes ! », murmuraient-ils.

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 patent et attira 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 même.