制御抽象化
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/09 14:25 UTC 版)
「抽象化 (計算機科学)」の記事における「制御抽象化」の解説
詳細は「制御構造」を参照 制御抽象化はプログラミング言語を使う主たる目的の1つである。コンピュータが理解する操作は極めて低レベルであり、メモリのある場所から別の場所へ何ビットかを移動させ、2つのビット列を加算するといったことでしかない。プログラミング言語を使うことでこれをもっと高いレベルに変換する。例えば、次のようなプログラム内の文(式)があるとする。 a := (1 + 2) * 5 人間にとっては、これは非常に単純で明らかな計算である(1 足す 2 は 3、これに 5 をかけて 15)。しかし、これを評価するには低レベルの実行ステップに落とし込まねばならないし、計算結果である 15 を変数 "a" に代入するという作業も複雑である。数値は二進数表現に変換され(これも大方の予想よりも複雑な作業である)、(コンパイラやインタプリタが)計算をステップに分解して機械語の命令列に直す(機械語あるいはアセンブリ言語は一般のプログラマにとっては直観的に理解可能なものではなく、その内容は通常の加算や乗算といった人間の考える算術とは趣きが異なる)。そして、計算結果の "15" を "a" というラベルの付いた変数に格納するが、実際には物理メモリか仮想メモリ上のあるアドレスのメモリ位置がそれに対応しており……などなどである。 制御抽象化なしでは、プログラマは機械語レベルでレジスタやメモリアドレスを指定してプログラムを書かねばならない。その場合2つの深刻な結果を招く。第1に似たような機能を毎回コーディングしなおさなくてはならなくなる。第2にプログラマは特定のハードウェアや命令セット向けにプログラムを書くしかなくなる。
※この「制御抽象化」の解説は、「抽象化 (計算機科学)」の解説の一部です。
「制御抽象化」を含む「抽象化 (計算機科学)」の記事については、「抽象化 (計算機科学)」の概要を参照ください。
- 制御抽象化のページへのリンク