De nombreux manuels sur le langage de programmation C indiquent que C est un langage de programmation de haut niveau, mais de nombreux tuteurs en ligne disent que C est également un langage de programmation de niveau intermédiaire. Pourquoi est-ce comme ça?
Historiquement, tout ce qui résume le code Assembly était appelé de haut niveau. C le fait certainement. Cette définition est également relativement claire, contrairement à ce qui suit.
Au fil du temps, nous avons créé de plus en plus de langages de programmation et inventé de plus en plus d'abstractions et d'outils. Par rapport à, disons, Python, le langage C est positivement primitif en termes de richesse sémantique et de niveau d'abstraction par rapport au matériel. Dans cet esprit, beaucoup de gens trouvent trompeur d'appeler C de haut niveau, alors qu'il existe une multitude de langages qui sont bien plus élevés que le matériel.
Alors maintenant, "haut niveau" signifie généralement "beaucoup d'abrégés sur le matériel" et "bas niveau" signifie "peu d'abrégés". C'est la définition que vos tuteurs utilisent. Tout le monde n'est pas d'accord cependant, et les anciens textes n'adoptent pas comme par magie la nouvelle terminologie, donc vous voyez toujours l'ancienne utilisation de "haut niveau" (sous laquelle C est de haut niveau) flottant autour. Gardez à l'esprit que de nombreux bons livres C sont essentiellement des éditions plus récentes de livres publiés il y a vingt ans.
C'est un langage de plus haut niveau que le code machine (Assembly), ce qui est le point de vue d'où proviennent les livres de programmation C et les tutoriels.
À cet égard, il s'agit d'un langage de programmation de haut niveau.
Cependant, il est toujours très proche du matériel - beaucoup plus que d'autres langages plus modernes (Java, C # et autres) - vu de ce point de vue, c'est un langage de programmation de niveau intermédiaire .