Modèles de machine abstraits du programmeur : comprendre la méta du logiciel

Cet article explore les « modèles de machine abstraits » (AMM) utilisés par les programmeurs lors de l’écriture de logiciels. L’auteur relate ses expériences personnelles dans la conception d’outils de programmation, soulignant le lien étroit entre l’architecture matérielle et les langages de programmation. Il soutient que le modèle AMM mental d’un programmeur n’est pas simplement un modèle de langage ou de matériel, mais une abstraction qui intègre des comportements extra-fonctionnels tels que le temps, la mémoire et les E/S. En analysant des langages comme Haskell, l’auteur différencie les modèles descriptifs des modèles de spécification et détaille l’application des AMM à divers langages de programmation et plates-formes matérielles. L’article explore également le rôle des AMM dans l’évaluation des compétences de programmation et la construction d’écosystèmes logiciels, en analysant comment différents types de concepteurs de langages influencent les AMM. Enfin, l’auteur résume l’importance des AMM dans l’ingénierie logicielle et indique les futures orientations de la recherche.