4GLとは何か

http://ja.wikipedia.org/wiki/4GL


4GL とは、第四世代言語 (4th generation language)の略である。FORTRANCOBOLのような手続き型言語より、より高機能なプログラム言語を一般的に指す。


第四世代というのは、機械語を第一世代、アセンブリ言語を第二世代、手続き型言語一般を第三世代と解釈するからである。


4GLの定量的定義は、Capers Jones がファンクションポイント法の研究の一環として行った。それによると、プログラミング言語の世代は開発者の生産性で決まり、人月当たりのファンクションポイント数(FP)で表される。4GLは、12 FP/人月から 20 FP/人月となる言語である。これをソースコードの行数に換算すると、ファンクションポイント当たり16行から27行でコーディングできるのが4GLだということになる。


4GLはドメイン固有言語(DSL)とよく比較される。研究者によっては、4GLはDSLのサブセットだとする者もいる[1]。アセンブリ言語が最新の開発環境(MS Studio)にもあることから、今後も各世代の言語が混在して利用されると予想する者もいる。