プログラミングは製造工程ではない

またも前回の続き。

「「設計書に文章で書いてあることをプログラミング言語に置き換えるだけ」ということになるのです」

もしこれが実際その通りだとすれば,それをやっている人というのはプログラマではなく,むしろコンパイラという職業じゃないかと。

で,もしも,プログラマがちゃんとプログラムを書けるレベルまで設計書を詳細化しなければならない,ということであれば,プログラマって何なの?

言ってみれば編集者がネームを書いて,アシが仕上げるって感じに近いのではないか。マンガ家はどこに行った?

「考えてみればこの業界のお仕事というのはですね,服飾業界などが産業革命以前に家内制手工業でいっこいっこ手作りをしていたあの頃と同じ状態のままなのです」

ワタシはむしろ逆で,プログラミングは設計の最終工程であると考えている。製造はビルドに相当する。そういう意味で製造はむしろ他のすべての製造業の中でもっとも進んでいて,ほぼ自動化されていると言っていい。

で,例えば5年10年使われるプログラムを作ろうとするのであれば,仕様書の質はもとより,クラスの分け方,関数の分け方から変数名に至るまで,ちゃんとしたレベルで設計していかなければならない。で,このレベルで設計書を書いて,設計書に書いてある変数名で設計書に書いてある関数を作る「コーダー」がいるのであれば,もしかしたらそのコーディング作業は「製造」になるかも知れないけど,そんな設計書を書くのは,それこそ無駄。だからプログラマがコードまで書く。でも本来プログラマがやるべきことはちゃんとしたプログラムを設計することなんだよね。
動作するだけじゃなく,ちゃんとしたプログラム(あいまいだけど)。変数の生存期間や凝集度のような測れる部分もあるけど,「分かりやすい変数名」のような,測れないものも含めて。

半年後に「こんなプログラム,ちょっと仕様変更するだけで大変すよ。読む気にもなんないですし。作り直しちゃった方が早いっすね」みたいなことになるプログラムは非常に多いんだけど,そういうのがなければ,本来はもっともっと稼げているはずじゃないかと思う。

いずれは今のようなコーディングがなくなる時代が来ると思うけど,そのときでもやはりプログラマはプログラマだろうと思う。プログラマは単にコードを打つ人ではないのだから。