Est-il exagéré dire que gfortran n'est jamais qu'un frontend de la libc ?
Oui, c’est très exagéré. Le Fortran standard propose plein de fonctions (dites « intrinsèques ») qui ne sont pas dans la lib C standard, notamment des fonctions mathématiques et de manipulation de tableaux ou de matrices. Ensuite, un langage, ce n’est pas qu’une liste de fonctions, Fortran propose de nombreuses manières d’accéder aux éléments des tableaux, et d’extraire des sous tableaux (tableaux d’indices, masques, etc) et optimiser tout ça est un travail assez différent pour le compilateur par rapport à compiler du C. Après, tous les exécutables, quel que soit le langage avec lequel ils sont écrits, dépendent des bibliothèques auxquelles ils sont liés, et presque tous les compilateurs lient à la lib C par défaut (car elle est installée sur tous les systèmes). Ça ne fait pas de tous les langages de simples surcouches au C.
C’est un peu comme si en constatant que ton binaire ne s’exécute pas sur Windows et tu en concluais que Fortran n’est qu’un frontend à Linux. Le programme dépend de l’OS, mais il n’est pas seulement une suite d’appels système.
[^] # Re: Performance des compilateurs libres
Posté par jyes . En réponse au journal Des nouvelles de Fortran. Évalué à 9.
Oui, c’est très exagéré. Le Fortran standard propose plein de fonctions (dites « intrinsèques ») qui ne sont pas dans la lib C standard, notamment des fonctions mathématiques et de manipulation de tableaux ou de matrices. Ensuite, un langage, ce n’est pas qu’une liste de fonctions, Fortran propose de nombreuses manières d’accéder aux éléments des tableaux, et d’extraire des sous tableaux (tableaux d’indices, masques, etc) et optimiser tout ça est un travail assez différent pour le compilateur par rapport à compiler du C. Après, tous les exécutables, quel que soit le langage avec lequel ils sont écrits, dépendent des bibliothèques auxquelles ils sont liés, et presque tous les compilateurs lient à la lib C par défaut (car elle est installée sur tous les systèmes). Ça ne fait pas de tous les langages de simples surcouches au C.
C’est un peu comme si en constatant que ton binaire ne s’exécute pas sur Windows et tu en concluais que Fortran n’est qu’un frontend à Linux. Le programme dépend de l’OS, mais il n’est pas seulement une suite d’appels système.