論理的思考の放棄

僕は、1 日に少なくとも 3,000 行程度、多く書くときで 10,000 行以上のプログラムを書くことができる。その結果、多い月で 10 万行 / 月くらいである。なお、言語は書くソフトウェアの性質上、大半が C 言語である。

そりゃまた多いなあ. いくらC言語が低レベルで、やたらと行数が嵩むとはいえそりゃすごい.

いろいろ調べたの結果によると、普通の開発者の作業能力は、1 ヶ月数百行程度、多い人でも 1 ヶ月で 3,000 行程度らしい。"1 日、数百行" ではなく、"1 ヶ月、数百行" である。もちろん職業プログラマーの話で、仕事の他に、毎日大学へ行ったり自分の会社を持っていたりしている訳ではなく、プログラミングに専念していても、この程度だという。

職業プログラマーは平均能力という意味では底辺だからなあ. バイトでプログラムをしていただけレベルでも即戦力. 情報系卒の上位クラスだと即火消しクラスになっちゃうぐらいレベルが低い. まあ、そもそも職業プログラマーがコーディングしている時間って相対的にはかなり少ない気がする. ドキュメント書いたり、テストしたり、プロジェクト内での調整をしている時間が多いからなあ。

最近、色々話してみると、「コンピュータに関する技術的な仕事 (特にプログラミングやソフトウェア設計など) は、論理的思考で行うのが良い」と誤解している人が結構いることを知った。

そうですね. 部長にそんなんで良くプログラム書けるなあといわれたことがあるし(笑).

これが、普通のソフトウェア開発者が 1 ヶ月にわずか数百行 〜 3,000 行程度しかプログラムを書くことができないという原因になっている。人間の中に構築することができる仮想の論理的処理エミュレータは、性能が低すぎるのである。

これは違うと思うなあ. 普通のソフトウェア開発者の生産性が低いのは人月が報酬の単位で、性能が低いほうがお得だからだと思うなあ. この文面だけ見ると生産性は低いけど、論理的処理エミュレーターのおかげで正しいアウトプットが出てきそうな気がするけど、実際には腐ったアウトプットしか出てこないからなあ. 彼らは性能以前に壊れた論理的処理エミュレータしかもっていないと思うよ.
そもそも論として、プロとかエキスパートって言うのは訓練と実践を重ねてなるものだけど、職業プログラマは何故か実践しかないからね. どんだけ駄目な方法論でも実績があるという名の下にデスマーチ、屍の山を築く. レミングス以外の何者でもない. プログラマの3大美徳、怠惰、短気、傲慢を身につけるところからみんなやり直しませんかと思います.
大学時代の私の最大生産量は1日500行程度. 最近は開発時間の大半を API や標準ライブラリの使い方を調べたり、FLOSS の都合の良いライブラリを探すことに費やされるため1日に200行も生産できないことが多い. でも、1日あたりに生産するソフトウェアの価値は過去よりも高いことが多い. 行数の多寡ではなく、生産した価値で捉えないと駄目なんじゃないかなあ. プログラムの種別によっても行数違うしね. ライブラリのグルーをするだけならそんなに行数いらないし.
とはいえ、パレートの法則的に80%の直感と、20%の論理で書くものだと思う、プログラムは. でも、直感って無意識で考えれるくらいネイティブになってないと駄目なんじゃないかな. そういう意味では、職業プログラマの大半は無理でしょ.