web-dev-qa-db-ja.com

なぜCはまだ高級言語の範疇にあるのですか?

Cプログラミング言語に関する教科書の多くは、Cは高級プログラミング言語であると説明していますが、オンラインのチューターの多くは、Cも中級プログラミング言語であると述べています。なぜそうなのですか?

12
CodeIt

歴史的に、アセンブリコードを抽象化するものはすべて高レベルと呼ばれていました。 Cは確かにそうします。この定義も、以下の説明とは対照的に、比較的明確です。

時間の経過とともに、私たちはより多くのプログラミング言語を作成し、より多くの抽象化とツールを発明しました。たとえばPythonと比較すると、C言語はハードウェア全体のセマンティックの豊富さと抽象化のレベルで明確に原始的です。そのことを念頭に置くと、ハードウェアよりはるかに高い言語が豊富にある場合に、Cを高レベルと呼ぶのは誤解を招く人が多いと思います。

したがって、「高レベル」は通常「ハードウェアよりも多くの抽象化」を意味し、「低レベル」は「ほとんど抽象化しない」ことを意味します。これは、先生が使用する定義です。しかし、誰もが同意するわけではなく、古いテキストは新しい用語を魔法のように採用しているわけではないので、「ハイレベル」(Cはハイレベル)の古い使用が広まっています。多くの優れたC本は、基本的に20年前にリリースされた本のより新しい版であることを覚えておいてください。

34
user7043

これは、機械語コード(アセンブリ)よりも高水準の言語であり、Cプログラミングの本やチュートリアルの元となる視点です。

その点で、それは高水準プログラミング言語です。

ただし、それはそれでもハードウェアに非常に近い-他のより最近の言語(Java、C#など)よりもはるかに近い-この観点から見ると、中レベルのプログラミング言語です。 。

12
Oded