prototype

Dans des langages de programmation dits « compilés » (cf. le langage C), on doit préfacer son §[programme] par une liste qui annonce au « compilateur » toutes les §[fonctions](fonctionnalité) qui seront utilisées plus loin dans le programme à proprement parler. En gros, cela signifie que le programmeur indique à la machine le nom de toutes les sous-parties, ce qu’elles savent accepter comme information, et ce qu’elles peuvent renvoyer comme information à une autre partie du programme. Comme un programme peut contenir des centaines, voire de milliers de sous-parties imbriquées les unes dans les autres, cette liste au préalable devient essentielle pour que la §[machine] puisse prévenir si le compte n’est pas bon, où si une des sous-parties se comporte différément que prévu. Il n’y a qu’une §[machine] ou un idiot savant qui puisse gérer une telle complexité, d’où l’importance d’un lieu privilégié de l’annonce du schéma de complexité du programme. Cette liste s’appelle la liste des « function prototypes ».

Prototype n.m. est emprunté (1552) au bas latin prototypos « forme primitive », substantivation (avec hellénisation de la finale) de l’adjectif prototypus « primitif », emprut au grec tardif prôtotupos « primitif, le premier type »." � Alain Rey, et al. ; Dictionnaire historique de la langue française; pp.1657
In modern, properly written C programs, all functions must be declared before they are used. This is normally accomplished using a function prototype. Function prototypes were not part of the original C language, but were added by C89. Although prototypes are not technically required, their use is strongly encouraged. (Prototypes are required by C++, however)... When you use prototypes, the compiler can find and report any questionable type conversions between the arguments used to call a function and the type of its parameters. The compiler will also catch differences between the number of arguments used to call a function and the number of parameters in the function." � Herbert Schildt ; C; pp.166
There are two styles in which functions are declared. In the new style, the types of parameters are explicit and are part of the type of the function; such a declaration is also called a function prototype. In the old style, parameters are not specified." � Brian W. Kernighan, Dennis M. Ritchie ; The C Programming Language; pp.202

Une prototype est à entendre ici dans les deux sens étymologiques : forme de type « primaire » et forme de type « première », que nous redefinissons en passant par la §[compilation](compiler) comme l’espace avant l’execution du programme.