高水準言語
提供: miniwiki
高水準言語(high-level programming language: こうすいじゅんげんご、高級言語とも)とは、記述の抽象度が高いプログラミング言語のことである。対義語は機械語やアセンブリ言語を指す「低水準言語」である。「高級言語」の対は「低級言語」である。
概要
抽象度が特に高いプログラミング言語という意味で代表的な言語としては、PrologやHaskellがある。
高水準言語は、低水準言語と比べ、
- 人間にとってわかりやすい
- プロセッサに依存した処理を書かなくてよい
- メモリ制御、IO制御等、低水準の操作を意識しなくてよい
といったことが特徴である。
その他
高水準言語とハードウェアとの間には、大きなセマンティックギャップがある。そのギャップを埋めるのがコンパイラやインタプリタといったプログラミング言語処理系であるわけだが、これを効率化するため、過去いろいろな努力がおこなわれてきた。
ひとつめは、ハードウェアを高水準言語の側に寄せる努力である。古くは1961年のバロース B5000という例があり、LISPマシンや、近年でもメインフレームにはCOBOLの1命令(MOVEやADD等)をほぼ1つの機械語に変換できるアーキテクチャを持つものや、ARMアーキテクチャのJazelleのように中間表現を実行できる、といったものがある。(高水準言語マシン)
ふたつめは、コンパイラが生成するプログラムやインタプリタが、高性能になるようにする、という努力である。RISCは、あえてハードウェアを単純にし、コンパイラに高性能なプログラムを生成させよう、という方向であった。一方で、コンパイラが利用しやすいような複雑な命令を用意したTRONCHIPのような例もある。