Au début des années 1950, écrire tout nouveau programme pour l'ordinateur UNIVAC signifiait coder à la main les mêmes sous-programmes courants en binaire machine brut, à chaque fois depuis zéro, car le consensus dominant parmi les informaticiens et les ingénieurs était que les ordinateurs étaient fondamentalement des machines arithmétiques — capables de calculer, mais non de suivre ou de traduire seuls des instructions symboliques de plus haut niveau. Cette hypothèse n'était pas une politique énoncée que quiconque devait défendre ; elle était simplement tenue pour un fait évident quant à ce qu'un ordinateur pouvait ou ne pouvait pas faire.

Grace Hopper, travaillant à la division UNIVAC de Remington Rand, estimait que l'hypothèse du domaine était fausse et construisit un traducteur fonctionnel, le système A-0, qui permettait aux programmeurs de référencer des sous-programmes réutilisables déjà écrits au moyen d'un code court plutôt que de retaper le binaire complet à chaque fois — démontrant techniquement qu'un ordinateur pouvait, en fait, traduire et exécuter des instructions de plus haut niveau.

Hopper a répété la même démonstration pendant des années, en visant la conviction catégorique elle-même, jusqu'à ce que suffisamment d'esprits évoluent pour rendre l'adoption possible.

Une seule démonstration ne renverse pas une hypothèse catégorique ; les gens la rationalisent pour l'écarter.

Une exposition répétée donne aux sceptiques de multiples occasions de mettre à jour leur modèle mental.

La persuasion visait la conviction sous-jacente, et pas seulement les caractéristiques de la technologie.

Une fois suffisamment de convictions modifiées, le compilateur est devenu acceptable comme pratique standard.

Lorsqu'une solution fonctionne mais contredit les hypothèses du domaine, ne vous contentez pas de la prouver une fois : répétez la preuve jusqu'à ce que l'hypothèse évolue.

L'effort de persuasion soutenu de Hopper finit par réussir, et le concept de compilateur dont elle fut pionnière mena directement à ses travaux ultérieurs sur FLOW-MATIC et au développement final de COBOL, l'un des langages de programmation les plus largement utilisés dans l'histoire de l'informatique de gestion — établissant les compilateurs et les langages de programmation de plus haut niveau comme pratique standard plutôt que comme une curiosité rejetée.

VÉRIFIEZ LES SOURCES

Les sources

  1. A-0 System Wikipedia · en.wikipedia.org
  2. Milestone-Proposal: Grace Hopper's Compiler and Programming Language Work, 1952-1959 IEEE Milestones Wiki · ieeemilestones.ethw.org
  3. The Woman Who Taught Computers English Missed History · missedhistory.com