• [^] # Re: let's go...

    Posté par (site web personnel, Mastodon) . En réponse au journal Appel à contribution pour un nouveau langage !. Évalué à 2.

    Pas de fanatisme dans mon commentaire :-) et je suis de la jeune génération (je m'y suis mis au début des années 90, et je n'ai pas connu les développements historiques de ces trucs nés un peu avant moi) Cependant, je m'intéresse beaucoup à l'histoire et l'évolution des technos&techniques que j'utilise mais je peux avoir mal compris.
    Je sais que le langage C a apporté beaucoup de concepts très hauts niveaux, mais j'ai vu aussi que quasiment tous ces concepts étaient déjà présents (et d'autres plus avancés) et que K&R ont justement retenu des choses qui leur permettaient de rester assez proche de la machine (et donc de pouvoir facilement et rapidement porter le compilateur) ...et c'était le sens de mon commentaire. Ça se sent dans le types de base par exemple : y avait que du int dans la première monture (i.e. short et long ont été ajouté par la suite et alignés sur des multiples de 8, dans la continuité de char) ; et ce int est bien l'entier (plus précisément le word comme on pouvait lire dans certaines littératures de l'époque) de l'architecture cible (taille de registre qui n'est pas pareil sur les Intel/AMD x86 que j'ai connu et les PDP de la première heure...) Dans un des papiers (je ne sais plus si c'est de Denis ou un autre collaborateur du Lab) que j'ai lu, c'était à dessein que les constructions du langage devait pouvoir se traduire quasi directement en langage machine et qu'il n'y avait pas de vérifications faites par le compilo (car c'est ce qui pouvait rendre ceux existant plus long à porter et donnait aussi de moins bonnes performances quand on a tenté d'écrire des systèmes d'exploitation avec : il fallait donc pouvoir continuer à gérer les choses comme en assembleur tout en pouvant utilisant le genre de syntaxe qui commençait à voir le jour ; D'ailleurs, le système Unix n'est pas le premier a avoir été écrit dans un langage de haut niveau...)

    Je suis bien d'accord que le code généré par les compilateurs C est bien loin d'une traduction directe en assembleur. Ne serait-ce parce-que depuis longtemps il y a des paquets d'optimisations incroyables.

    "It is seldom that liberty of any kind is lost all at once." ― David Hume