関数型言語

LISP,Scheme,Haskell関数型言語をかじってみました。
手続き型やオブジェクト指向言語よりも、やっぱり生産性は高いと感じます。
感覚的に、再利用可能なコードのうち、オブジェクト指向は半分ぐらいは再利用できるけれど、残り半分がうまくコンパクトに書けません。
(インターフェースや匿名クラスを駆使すればある程度かけるけれど、やっぱり冗長。)
関数型はほとんどコンパクトに書けます。
そういう仕組みを持っているように感じました。

「ソフトウェア開発の定量化手法2nd」でFPあたりの行数を調べてみました。
最頻値で比較すればいいと思うけれど、どうでしょうか?

                    言語水準    最小値  最頻値  最大値
------------------------------------------------------
1.      自然言語    0.10        1,800   3,200   5,000
15.     C           2.50        60      128     170
124.    Common LISP 5.00                64      
132.    LISP        5.00        25      64      80
170.    C++         6.00        40      55      140
172.    SCHEME      6.00                54
284.    Haskell     8.50                38

驚いたのが、Javaがなくて、Haskellがあることです。
この2nd本はとても古く、1998年だけれど、調べてみると確かにHaskellはその当時からありました。
でもJavaもあったハズだよなぁ〜。
Javaはどのあたりだろう?C++は超えられても、Haskellはムリかな。