プログラム言語ってなあに?


●機械語●

コンピュータというものは、とても頭が良くって

何でも分かっていそうなのですが、

実際は、”0”と”1”(2進数の考え方ですね)

しか理解することができません。

コンピュータはこの”0”と”1”の組み合わせに

よって命令を理解し、実行しているのです。

このコンピュータだけが分かる言葉のことを

「機械語」と呼んでいます。

●アセンブラ言語●

人間が機械語だけでプログラムを組もうとすると

気の遠くなるような作業が発生することになります。

そこで、機械語を人間に分かりやすい表意記号

(ニーモニックコード)で表した言葉が「アセンブラ言語」です。

機械語に近い分、処理スピードはとても速いのですが

コンピュータのハード面に対するかなりの知識が

要求されることと、機械語レベル(アセンブラの1命令は

機械語の1命令とほぼ対応します)での命令記述しか

できないため、開発効率はあまりよろしくありません。

ハードレベルでの細かい指示を出したいときや

スピード最優先の開発に有効な言語だといえます。

機械語やアセンブラ言語のように機械よりの

言語のことを「低水準言語」と呼んでいます。

●高水準言語●

もっと人間に近い言葉でプログラミングしたい、

という要望から生まれてきた言語のことをまとめて

「高水準言語」と呼んでいます。

高水準言語には大きく分けて

処理の手順を記述していく「手続き型言語」

手順なしに処理目的を指定する「非手続き型言語」があります。

それぞれどんなものがあるのか挙げてみましょう。

<手続き型言語>

「COBOL」

事務処理に向いています。

「FORTRAN」

科学技術の計算に向いています。

「Pascal」

科学技術の計算、教育に向いています。

「C」

システム制御に向いています。

<非手続き型言語>

「RPG」

事務処理に向いています。

「Prolog」

人工知能に向いています。

「LISP」

人工知能に向いています。

「Smalltalk」

研究用オブジェクト指向言語です。

●その他の言語●

その他としては、データベース操作とデータ処理機能を

統合した第四世代言語(4GL)や、表計算ソフトなどの

エンドユーザ言語や特殊問題向き言語

(GPSS,DYNAMO,SAS,FORMAC,APT,COGO,STRESS)

などがあります。最近はネット向け言語として、

「HTML」「XML」「JAVA」「Perl」なんかもありますね。

●コンパイル(翻訳作業)●

高水準言語で記述されたプログラムは、そのままでは

コンピュータに理解させることができません。

一度コンピュータに分かる言葉(機械語)に訳して

あげるという作業が必要になります。

この作業のことを「コンパイル」と呼んでいます。

また、このとき使う翻訳プログラムのことを

「コンパイラ」といいます。

一方、1命令ずつ翻訳しながら実行していく

Basic(VBも同じですが)のようなタイプの言語のことを

「インタプリタ言語」と呼びます。

コンパイルしなくてよいので、作りかけの状態で実行できると

いう利点はありますが、翻訳しながらの実行なので、

実行スピードが遅く、大量データを素早く処理するような

システムにはあまりむいていません。


プログラミング入門に戻る