●機械語●
コンピュータというものは、とても頭が良くって
何でも分かっていそうなのですが、
実際は、”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も同じですが)のようなタイプの言語のことを
「インタプリタ言語」と呼びます。
コンパイルしなくてよいので、作りかけの状態で実行できると
いう利点はありますが、翻訳しながらの実行なので、
実行スピードが遅く、大量データを素早く処理するような
システムにはあまりむいていません。