Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

コンピュータ言語の種類を徹底解説!機械語・アセンブリ言語・高水準言語の違い

プログラミング言語は、コンピュータが理解できる形式で命令を与えるために使われる言語です。人間が意図した処理をコンピュータに正確に伝えるためには、その目的や用途に応じて適切な言語を選ぶことが重要になります。

コンピュータ言語は、大きく以下の3つに分類されます。

  • 機械語(マシン語)
  • 記号言語(アセンブリ言語)
  • 高水準言語

機械語(マシン語)とは

コンピュータはあくまで機械であり、そのメモリに保存できるのは「0」と「1」の二進数だけです。そのため、コンピュータへの命令は0と1の羅列、すなわちバイナリコードで与える必要があります。

このようにバイナリコードで書かれたプログラムは、機械にとって最も理解しやすく、変換なしで直接コンピュータに入力して実行できます。これを機械語と呼びます。

機械語のメリット・デメリット

メリット:

  • 翻訳作業が不要なため、実行速度が非常に速い。

デメリット:

  • 0と1だけで構成されるため、プログラムの作成や読解が極めて困難。
  • 命令を覚えるのも容易ではない。

記号言語(アセンブリ言語)とは

記号言語は、アセンブリ言語とも呼ばれます。機械語の難しさを解消するため、0と1の代わりに「ニーモニック」と呼ばれる略号を使って命令を表現します。

「ニーモニック(Mnemonic)」とは、記憶しやすい略語形式で表された情報のことです。たとえば「ADD」(加算)や「SUB」(減算)のように、処理内容を連想できる英単語の省略形が用いられます。

記号言語のメリット・デメリット

メリット:

  • 機械語に比べて、プログラムの読み書きが格段に容易。
  • ニーモニックは覚えやすい。

デメリット:

  • プログラムが特定の機種に依存する(機械依存性がある)。
  • 機械語に比べると実行速度は遅い。
  • 実行には「アセンブラ」と呼ばれる翻訳プログラムが必要で、これがアセンブリ言語を機械語へ変換する。

高水準言語とは

人間の自然言語(英語など)に近い形式で記述できる言語を、高水準言語と呼びます。制御構造(if文や繰り返しなど)や入出力機能が備わっており、複雑な処理も直感的に記述できます。

代表的な例としては、FORTRAN、COBOL、PASCAL、C、C++などが挙げられます。

高水準言語のメリット・デメリット

メリット:

  • 機種に依存せず、プログラムの「移植性(ポータビリティ)」が高い。
  • 学習しやすく、理解もしやすい。
  • プログラムの作成にかかる時間が短い。

デメリット:

  • コンピュータが直接理解できないため、機械語への翻訳(変換)が必要。
  • 変換には「コンパイラ」または「インタプリタ」と呼ばれる翻訳プログラムを使用する。

コンパイラとインタプリタの違い

  • コンパイラ:プログラム全体の命令を一度にまとめて機械語へ変換する方式。
  • インタプリタ:プログラムの文を一つずつ順番に解釈・実行していく方式。

このように、それぞれの言語には得意分野と弱点があります。実行速度を重視するなら機械語やアセンブリ言語、開発効率や可読性を重視するなら高水準言語というように、用途に応じた使い分けが重要です。

  1. C言語の探索アルゴリズム解説|線形探索と二分探索の違いと実装例

    探索(サーチ)とは、複数の要素で構成されるリストの中から、目的の「キー」となる要素を見つけ出す処理のことです。 リストの中に指定した要素が存在すれば、その探索は「成功」とみなされます。 指定した要素がリストに存在しなければ、その探索は「失敗(不成功)」となります。 C言語で広く使われている代表的な探索手法は、主に次の2つです。 線形探索(Linear Search/リニアサーチ) 二分探索(Binary Search/バイナリサーチ) 線形探索(Linear Search)とは 線形探索は、リストの先頭から順に要素を1つずつ取り出し、キーと一致するかどうかを確認していく、最も基本的な探

  2. Cプログラムを機械語に変換する4つのステップを徹底解説

    プログラムの作成と実行の流れプログラムとは、プログラミング言語で記述された一連の命令の集まりです。プログラマーの仕事は、プログラムを作成し、その動作を確認することです。Cプログラムを機械語に変換して実行可能な形にするまでには、次の4つのステップが必要です。プログラムの作成と編集プログラムのコンパイルプログラムのリンクプログラムの実行1. プログラムの作成と編集プログラムの作成には「テキストエディタ」を使用します。テキストエディタを使えば、文字データの入力・修正・保存が自由に行えます。多くの場合、コンパイラには専用のテキストエディタが付属しています。プログラムを書き終えたら、ファイルとしてディス