Bonjour, je suis en train d'apprendre le Fortran et dans ce langage il n'y a pas de #include (je débute, donc peut-être que dans un cours un peu plus avancé, j'en verrai...). Je m'aperçois donc que si je veux travailler sur des strings, faire du calcul (cos, exp,...) je n'ai pas besoin de faire un #include<string.h> ou un #include<math.h> et encore moins besoin de compiler avec -lm (ou avec son équivalent Fortran).
Si les créateurs du C (et du C++) ont opté pour que l'on mette des #include dès que l'on en a besoin, c'est qu'il y a bien un intérêt. D'où ma question : quel est-il ? Est-ce une question de portabilité ? Pourquoi, par défaut, tous les #include ne sont-ils pas inclus ?

Autre question : le Fortran a des fonctions intrinsèques. Le programmeur appelle la fonction ABS() mais le compilo appelle soit IABS() (pour les entiers), CABS() (pour les complexes), DABS() pour les double precision. Le choix est fait par le compilo suivant le type des arguments.
Pourquoi en C, est-ce au programmeur de faire la différence entre abs(), fabs() ? Je pense qu'il doit bien y avoir un intérêt à faire cette méthode.

Merci.