続・Javaの生産性が思ったよりあがらない理由

COBOL 文化から抜け切れていない/抜けようともしない

 私は最近、故あって COBOL の学習をしています。これまではまったく COBOL の経験はありませんでした。そして、気がついたのは、この COBOL 文化こそが Java、ひいては他のオープン系システムの生産性を下げる要因だということです。

 コーディングはすれどなかなか実行できないどころかコンパイルすらままならなかったかつての COBOL + 汎用機の時代。その習慣を一人一台開発機(開発環境)、即時ビルドの今の時代に持ってくることになんの疑問も感じていない。これはオカシイ。

 笑ってしまうのは、品質目標として「単体テスト時のエラー発見数X件」というのがあったりすること。「机上デバッグ(コンピュータで動作させずに紙の上でデバッグすること)」なんてのが行われていた時代ならいざ知らず、自分のPCで動作を確認できる今の時代、動かないものを提出したらそれこそ「まだできていない」と言われます。逆にきっちり作ると「エラーが出ないからテスト項目が足りない」なんて言われることも。かくしてプログラマーたちは「一見ちゃんと動くように見えるが、実はエラーを抱える」プログラムというものをわざわざ作らなければならなくなるのでありました。