概要・機械語・手続き型言語に関して
ChatGPTの登場によって「コンピュータ言語が自然言語になる」と感じており、これからはプログラミング言語を環境に応じて使い分ける時代になると考えています。ですので、これからプログラムを始めようとする人へ向けて、様々なプログラミング言語を紹介していこうと思います。
プログラミング言語の概要
プログラミング言語とは、人間とコンピュータがコミュニケーションするための手段です。
まずは、さまざまな言語が存在する中で、低級言語と高級言語という2つの大きな分類があります。
低級言語とは
低級言語は、コンピュータのハードウェアに近い言語です。
機械語:0と1の組み合わせで構成
アセンブラ:16進数で構成
のように、人間が直接読み書きするのは困難な言語です。
高級言語とは
高級言語は、人間が自然言語に近い形でプログラムを書けるように設計された言語です。
C言語:手続き型言語
Java :オブジェクト指向言語
Python:スクリプト言語
など、人間が理解しやすく、様々な言語が存在します。
低級言語を使えば、コンピュータに近いため、より高速に動作させることができますが、プログラミングの難易度は高く、生産性は低いです。
高級言語を使えば、簡単にプログラムを作成することができますが、処理が重くなります。
人間が理解しやすくすると生産性が上がり、コンピュータが理解しやすくすると処理速度が上がりますので、状況に応じて使いこなすことが重要となります。
機械語、アセンブラについて
機械語とは
コンピュータは、0と1の組み合わせで作られた電気信号しか理解できません。機械語とは、この0と1を直接操作するためのプログラミング言語です。
正直、機械語のみでプログラムする機会はほぼないと思います。
ただ、プログラムを書いて、ビルド(コンパイル)すると、最終的に0と1の羅列になるということは理解していただければと思います。
アセンブラとは
アセンブラは、機械語を人間が読み書きしやすいように簡略化し、英単語や記号で表現した言語になります。アセンブラは、機械語と1対1で対応しており、機械語を人間が扱いやすい形にしたものです。
アセンブラの特徴は、直接メモリやレジスタを操作することができることです。しかし、下記の命令は、
BXレジスタの値を、CXレジスタに足して、結果をBXレジスタに格納するというもので、メモリ内のデータの移動や、四則演算もコマンドが必要となりますので、理解するのは難しい言語となります。
手続き型言語について
手続き型言語は、コンピューターに実行させたい処理を、手順として順番に記述していくプログラミング言語です。関数にまとめて、変数、分岐、繰り返しで処理を書いていきます。代表的な言語は、C言語です。
C言語で、aとbを足し算する関数は下記のようになります。
C言語の登場で、プログラミング言語が非常に書きやすくなり、多くの人がプログラムを始めました。書籍「はじめてのC」は超ロングセラーです。
まとめ
プログラミング言語の概要・機械語・手続き型言語に関してまとめました。
低級言語から紹介していますので、
機械語、アセンブラ、C言語は、ハードウェアに近い開発で使用されます。
各言語も、まだ概要レベルではありますが、AIの登場で、1つのプログラミング言語を極めるよりも、様々な言語を駆使することが重要になります。
この機会にプログラミングを始めてみましょう!