プログラミング言語によって、プログラマの生産性に違いが発生する、という議論はほとんどされていないのではないだろうか。
ここで議論するのは、Martin Fowlerがいうような、量れない生産性の話ではない。プログラミング言語が、どんなプログラマをどのくらい生産するか、という話題である。
現在、生産性がもっとも高いのはJavaで、さまざまな質の膨大なプログラマを生産している。*1
かつてCも同様に高い生産性を誇っていたが、新規プログラマを大量生産するというその役割は、Javaに取って代わられたように思う。
Rubyはかっこよくて素性がよい言語であるが生産性はさっぱりである。一部の敏感なプログラマを引きつけるのだが、プログラマを生産することはあまりない。新たなプログラマを生産するよりも、既存のプログラマの性質を変える能力が高い、触媒のような言語である。*2 *3
Lisp*4も同じく生産性はとても低いが、まれに突出した孤高のプログラマを生産する。
COBOLはあらたなプログラマを生産することはないが、既存のプログラマを大切にするアフターサービスのよい言語と言えよう。
というネタをdIary.rd,v (2005-04-28)から発掘してみた。
*1:http://kitaj.no-ip.com/tdiary/20050412.html#p01 , http://kitaj.no-ip.com/tdiary/?year=2005;month=1H;category=Java
*2:変更容易性が高い?