Articles

7.6. 高レベルのプログラミング言語¶

プログラマーが機械語やアセンブリで直接プログラムを書くことはまれです。 ほとんどのアプリケーションの実行ファイルには、何十万、何百万もの機械語命令が含まれています。

高レベルのプログラミング言語は、マシンコードの詳細を抽象化し、プログラマーが問題解決に集中できるようにするために発明されました。 アセンブリ言語では2つの数字を足すのに3、4行のコードが必要かもしれませんが、C++、Java、Pythonなどの高級プログラミング言語では、1つの命令でこのタスクを達成することができます。

高レベル言語で書かれたプログラムは、実行するために機械語に変換する必要があります。 これには、事前にコンパイラプログラムでプログラム全体を機械語に変換しておく方法(コンパイル)と、プログラムの実行中にインタプリタで一行ずつ変換する方法があります。 上位のプログラミング言語では、1行が1個から数十個以上の機械語命令になります。

.../_images/compiling.png

以下のタブは、さまざまな言語レベルのコードがどのように見えるかを示しています。 ここでは、レストランの販売端末用のソフトウェアを設計していると仮定して、大人数の場合に自動的に加算される15%のチップを計算するコードの部分を見ていきます。

支払うべき総額を計算するには、まず、食事の合計金額に0.15をかけます。 これがその食事のチップになります。 そして、それを食事の値段に加えて、請求額の合計を求めます。

tip = mealCost * 0.15bill = mealCost + tip
LOAD MealCostMULT TIPRATESTORE TipLOAD MealCostADD TipSTORE Bill
010101011110010111110110101011101101101010010101010111011000111100010101011111001101101010111111

高レベル言語は、アセンブリやマシンコードよりもはるかにコンパクトであることに注意してください。 さらに重要なことは、実際の問題領域にはるかに近いレベルでアルゴリズムを表現できることです。 さらに重要なことは、アルゴリズムを実際の問題領域に近いレベルで表現できることです。レジスタへの値のロードやストアを心配する代わりに、通常の計算のようなコマンドを表現することができます。 tip = mealCost * 0.15.

Materials on this page adapted from:
Online Interactive Modules for Teaching Computer Science by Osman Balci et al.
Introduction to Computer Science using Java by Bradley Kjell (CC BY-NC 3.0)

.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です