言語と生産性
naoyaさんの記事
http://d.hatena.ne.jp/naoya/20050518
を読んで、昔も同じようなことを自分も考えていたなぁと思いました。ただ、今は少し考え方が変わりました。
僕は、最初の頃は生産性には「言語」が支配的な要素を占めるかと思っていましたが、Javaを深く使うようになってから、その考えはかなり変わりました。
Javaの良さというのは、言語ではなくて開発環境、運用環境、(ライブラリ)にありました。そして、それらの要因がJavaでの開発の生産性の殆どの部分を決定付けてしまっています。
ここ数年Javaでミドルを作ってみて、作る物の性質、開発環境、ライブラリ、運用環境、言語などの多くの要因によって、生産性そのものがまるで変わってしまうと強く感じるようになりました。
- 言語はボチボチでも開発環境、運用環境が充実していたり
- 言語として優れていても開発環境やライブラリがダメだったり
- 言語や開発環境がダメでもライブラリが無茶苦茶優れていたり
と色々なパターンがあるので、開発者の人はそれぞれ思うところがあるのではないかと思います。だから、こういう生産性にまつわる話は、全員話すコンテキストが違うので、不毛な議論になりがちです。
なので、コンテキストを決めて良いところ、ダメなところを比較してみると面白いんじゃないなっていう気がしています。