Le C, un langage de bas niveau ?

Voilà une question étrange. Selon Alan Perlis , « un langage de programmation est bas niveau lorsqu’il nécessite de faire attention aux choses qui ne sont pas pertinentes »

Il y a de nombreuses façons d’interpréter le « pas pertinentes ». Prenons un exemple un peu technique mais révélateur. Les réels en machine sont stockés sous la forme d’approximations flottantes. Sur 64 bits, un flottant est constitué d’un bit de signe s, puis de 11 bits pour stocker son exposant e en base 2 et enfin de 52 bits pour sa mantisse m. L’interprétation se fait grâce à la formule

    \[(-1)^s * 2^{e - 1023} \left(1 + \frac{m}{2^{52}}\right)\]

Si on souhaite, à partir d’un flottant récupérer les trois champs s, e et m, comment s’y prendre ? Chaque langage proposant des fonctionnalités bien particulières je propose dans la vidéo qui suit un comparatif en langage C et en langage Ada qui permet de mieux saisir la phrase d’Alan Perlis et d’aborder des aspects souvent ignorés des néophytes de ces langages.

Voyons comment on fait en C :

Et en Ada:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *