コードの量よりも、思考の妨げの方が生産性に影響を与える
ガツンと言うようなことじゃないので、ぼくは蚊の鳴くような声で答えたい。
書きながら考えるということと、その言語で考えるって視点が抜け落ちてる気がする。
「いまどきのフレームワークは進化しているから、言語による差なんて余りない。仮に、Javaのほうが二倍コードを書く必要があったとしても、開発の中でコードを書いている時間より考えている時間のほうが圧倒的に長いんだから、その辺は誤差でしょう。」
プロダクトレベル、もしくは、保守フェーズに入ってからは、コードは短くてシンプルな方がいいに決まってる。だけど、開発中の生産性に限って言えば、コードの量はそんなに問題じゃなくて、いかに思考を妨げないかが重要だ。
PythonistaはPythonで物事を考えるから、Javaで書こうと思ったら、一回頭の中でPythonからJavaへの翻訳作業が入る。他の言語の場合も同じだし、フレームワークの違いも思考の妨げに繋がる。
ここで言ってる翻訳ってのは、{}で括るの面倒くせーとか、行末のセミコロンうぜーとかいった、言語の文法とか書式についてではない。もっと思考の根底にあるなにかだ。
言葉ではうまく説明できないんだけど、C言語をやってきた人が、初めてJavaに触れたときに、オブジェクト指向ってなんだよっていう戸惑いを感じるようなものに近いと思う。Lisperなんてもっと大変。関数思考で考える人がJavaを書く時の苦労を想像してみて。
コードを書いている時間より考えている時間のほうが圧倒的に長いからこそ、この思考の妨げは生産性に大きく関係してくるはずだ。