1️⃣ Dans les 60s et 70s, la spécification est résolument affaire de maths. C'est Tony Hoare qui assied la notion avec son triplet
{PRE} Programme {POST}
Si le programme encode le "comment", la spécification vise à encoder le "quoi" (il faudra attendre les années 90 pour penser au "pourquoi")
2️⃣ La mode du model-driven des années 90s déplace en partie la notion vers des diagrammes. Les modèles OMT puis UML visent à mieux décrire, spécifier, documenter.
Parce que les maths c'est un peu trop abstrait, dessinons donc le "quoi".
3️⃣ Dans les 20s, la mode Agile déplace une nouvelle fois la notion de spécification... vers la suite de tests.
Parce que penser c'est un peu trop abstrait, admettons que le "quoi" peut être résumé à une longue énumération des cas [1].
4️⃣ La mode de l'IA revisite ces temps-ci la notion de spécification.
Puisque penser c'est définivement trop difficile, la spécification devient un prompt, un souhait exprimé, une intuition à raffiner.
5️⃣ La prochaine vague sera certainement techno-réaliste.
La spécification, le quoi, c'est ce que l'IA mettra dans nos mains en autonomie. Pourquoi faire compliqué quand on peut faire simple ?
#SoftwareEngineering
pour les plus matheux d'entre vous, on passe de la spec par intension à une spec par extension. Plutôt que de dire "les nombres pairs" on "précise" { 2, 4, 6, 8, ... } ↩︎