月刊ニヒリスト

ニヒリストが日々あったことを綴るブログです。

システム開発と小説、映画の違い

小説とか映画とかに長年浸っていた僕の思考は、見えないものを見えないまま扱うことに慣れている。確かに作品の中で、もろにそのテーマについて語ったり、出来事として描写することはあるが、基本的には語られなかった「行間」が大事な意味を持ってくる。

しかし、システム開発において、見えないもの、(PC上で)触れないものは無に等しい。ほとんどすべてのものはソース上、もしくは設計書上に書いてある。

もちろん、言語特有の、暗黙の仕様やメモリやCPUの動作順序など、よりコアな部分に行くと、物理的な制約にぶつかるんだろうけど(つまり、ソースや設計書に載っていない情報に左右されるのだろうけど)、それもググれば出てくる、ググるしかないという点で、常にどこかに書いてある。

これは大きな違いだと思う。昔は小説や映画が提供してくれる主題を餌に、誇大妄想なり、思考(と言ってもミミズ並みに短い思考)を展開していたけど、今ではそういう形而上学的な?思考には進まなくなった。とてつもなく、即物的に生きている。

でも、まあ、いま書きながら思ったが、小説や映画も、書かれていたり、見えているもので、「触れない」主題を描いているという点で、プログラムと同じかもしれないのだが、プログラムの場合(※1)、その扱っている主題が「業務」という極めて即物的なものであるという点が異なると思う。何らかの業務に役に立つシステムを作るために、プログラムやデータベースや設計書がある。

 

それから、もう一つ、異なるのは視点の問題だ。プログラミングやシステム開発のだいたいの場面において、視野の範囲は極めて狭い。「僕は脂肪吸引をした」という文があるとしたら、だいたい見ている箇所は「僕」「は」「脂肪吸引(及び、脂肪吸引の引数=脂肪、もしくは引数の型)」「した」くらいまで細分化する。そうしないと、バグが取れない。

脂肪吸引という関数が、僕に対応していないかもしれないし、僕の脂肪が脂肪吸引に対応していないかもしれないし、脂肪吸引した結果が、「した」という行為に対応していないかもしれないからだ(「僕は脂肪吸引を蹴り上げた」だとコンパイルエラーだ)。

もちろん、「僕が脂肪吸引する」という文が、業務システムにおいて必要かどうか、という比較的広い視野も時々持つ(こういう視点は上流、すなわち設計に関わる人が多く持つ。そして業務に必要なければ無慈悲に削除される)。しかしその視点も、先程から書いているように極めて即物的な点では変わらない。そこでは「表現の豊かさ」とか「テーマの発展性」などの視点がない。ひたすら「業務で役に立つかどうか」だけだ。

 

もちろんシステム開発の業務の中で人とコミュニケーションを取ることが少しはあるので、そこで、「表現の豊かさ」を発揮することはある。具体例を挙げる気力がないので、そろそろ寝るが。

 

まあ、しかし即物的な視点だと、自分みたいな素人はプロジェクトでいらない存在だという視点に、頻繁にたどり着いてしまって(いまのひどく寂しい職場環境のせいでもある)、その点が辛い。これほど、つまらない仕事は僕にしか耐えられないと思って日々頑張ってはいるが(※2)。あと、上に書いてあるような、仕様書があって、それに合っていたら正解、間違っていたら不正解とはっきり決まっているのは、まだ救いあると思う。デザインやっているときは、そのへんが不明確でストレス溜まったから。

 

まぁ、なんか以上です。

 

(※1)ここで言う「プログラム」は業務システムの開発における、プログラムのことです。ほかの分野はよく知りません。

(※2)たまに「よく考えてるな」と感心することもあるし、技術ってすごいなと思うことがあるので、全部が全部つまらなくはないです。