Ces documents d’archives qui chamboulent la tech

L’idée qui causera la prochaine révolution informatique a été décrite il y a plus de 50 ans. Voici où tu peux la trouver.

Ces documents d’archives qui chamboulent la tech

Octobre 1968, Garmisch, Allemagne. L’industrie de l’informatique est en plein boom.

Les nouvelles technologies promettent des avancées majeures dans des domaines variés : communications, automatisations industrielles, opportunités économiques...

Bien sûr, cela fait plusieurs années que le Comité scientifique de l’OTAN surveille ça de près.

Pour comprendre où en est l’industrie de la tech et savoir s’il faudrait entreprendre des actions internationales, le comité de l’OTAN réunit les meilleurs informaticiens de l’époque pour une conférence de 5 jours, intitulée Software Engineering.

Pour te donner une idée du niveau ambiant, plusieurs des participants à cette conférence ont obtenu le Prix Turing [1] ou le Computer Pioneer Award [2], qui récompensent des personnes pour leurs contributions majeures dans le domaine de l'informatique.

En lisant le compte rendu de cette conférence [3], j’ai été pris par un sentiment étrange :

La conférence qui prédit l’avenir

Tout ce que je lisais dans ce compte rendu de 1968 me paraissait tellement… actuel !

Par exemple, cette intervention de Kinslow, qu'on peut lire à la page 21 :

La conception est un processus itératif.

  1. Planifier jusqu'à ce qu'on pense avoir compris le problème.
  2. Écrire du code jusqu'à ce qu'on réalise qu'on n'a pas compris le problème.
  3. Revenir en arrière et refaire la planification.
  4. Écrire plus de code et itérer jusqu'à ce qu'on arrive à la bonne solution.
H.A. Kinslow

Voilà une excellente définition de la méthode agile [4], plus de 20 ans avant que ce terme ne soit inventé, et plus de 30 ans avant que la pratique ne se démocratise dans les entreprises (si on part du principe que SCRUM est une méthodo agile, ce qui est discutable 😈).

H. A. Kinslow
H.A. Kinslow, évangéliste du mouvement agile sans le savoir (et sosie de James Bond à ses heures perdues)

Prenons un autre exemple. Un peu plus loin dans le document (page 24) on peut lire :

Cette stratégie nécessite que le système soit conçu en modules pouvant être réalisés, testés et modifiés indépendamment, en dehors des conventions de communication inter-module.

E.E. David

Si ça te fait penser aux microservices [5], dont l'idée est justement d'avoir des "(petits) modules pouvant être réalisés, testés, modifiés (et déployés) indépendamment", tu as tapé dans le mille !

Aujourd'hui, quand on parle d'architecture microservices, on ne pense pas à E.E. David Jr. On pense plutôt à Netflix, l'entreprise qui a redécouvert et propagé ce concept... 37 ans plus tard ! (Et ils ont assuré sur ce coup-là.)

E. E. David
E.E. David, mister microservices et conseiller scientifique de Richard Nixon

Un dernier pour la route ? Voici mon préféré, qu'on peut trouver à la page 32 :

  1. Un système logiciel peut être mieux conçu si les tests sont entrelacés avec la conception au lieu d'être utilisés après la conception.
  2. Une simulation conforme aux exigences permet de contrôler comment organiser la conception du système.
  3. Grâce à des répétitions successives de ce processus de test et de conception entrelacés, le modèle finit par devenir le système logiciel lui-même. Je pense que c'est la clé de l'approche qui a été suggérée, qu'il n'est pas question de tester les choses après coup avec des modèles de simulation, mais qu'en fait les tests [...] contrôlent, pour ainsi dire, le lieu et l'ordre dans lesquels ces choses sont faites.
Alan J. Perlis

Une pratique qui consiste à guider la conception d’un logiciel en alternant entre l’écriture de tests et l’écriture du code de production, le tout effectué de manière itérative, ça te parle ?

Oui, Perlis nous décrit le Test Driven Development [6]... sauf qu’il a fallu attendre les années 2000 pour que Kent Beck ne (ré)invente cette pratique.

Aujourd'hui encore, très peu d’entreprises utilisent le TDD. C’est comme si cette technique était trop… "futuriste" pour la majorité d’entre nous. 😉

Alan J. Perlis
Alan J. Perlis, la première personne à avoir obtenu le Prix Turing

La prochaine trouvaille

Comme tu peux t'en rendre compte, les participants à cette conférence étaient en avance sur leur temps d'au moins quelques décennies.

En tout cas, c’est le temps qu’il nous a fallu pour comprendre et pour mettre en place certaines de ces idées (qui faisaient déjà consensus à l’époque).

Pour moi, il n'y a pas de doute : ces archives renferment encore des trésors cachés.

De nombreux passages n’ont jamais été réellement exploités et il y a de fortes chances pour qu'on y parle déjà de la prochaine pratique qui va chambouler l'industrie de la tech.

En plus de ça, la conférence de l’OTAN de 1968 n’est pas la seule archive disponible sur internet. Il y en a des tas !

On peut trouver par exemple Software Engineering Techniques [7], la suite de Software Engineering qui s’est déroulée un an après, ou bien une autre conférence de 1968 [8] (600 pages de considérations sur divers sujets, comme le machine learning, la modélisation de données ou les systèmes en temps réel).

Lire ces documents, ça n’est pas seulement redécouvrir l’histoire de l’informatique moderne, c’est faire un voyage dans le futur de notre industrie.

Conclusion

Nos pratiques modernes sont basées sur des idées qui existaient déjà il y a plus de 50 ans. On en a oublié certaines, d’autres ont mis du temps à maturer avant de devenir des standards.

Le prochain concept qui va révolutionner l'informatique fait probablement partie du lot, ça n’est qu’une question de temps avant qu’on ne le déterre.

En attendant cette découverte, lire les archives de l’époque nous permet de prendre de l’avance sur notre temps en nous imprégnant des standards de la programmation du futur.

Et toi, qu’est-ce que tu attends pour y jeter un œil ? 😉

← Retour au blog