闘うプログラマー

日経BP書店 書籍紹介-闘うプログラマー 上巻(ISBN 4822740161)/日経BP書店 書籍紹介-闘うプログラマー 下巻(ISBN 482274017X)

闘うプログラマー 上巻
闘うプログラマー 下巻
闘うプログラマー 上巻
2002/10/24 記

 「ドッグフードを食え」とは名言。プログラムを組む目的というのは、究極的にはコンピュータに処理を行わせることなのだから、それが正しいのは当然として、より使いやすく、といった、さらなるもう一歩を考えることは重要な事だと思う。しかしまぁ、なんでこの業界、タカ派が多いんだろうねぇ。むしろタカ派だから目立つのか?
闘うプログラマー 下巻
2002/10/30 記

 「泳げないヤツは、おぼれるしかない」…いやはや、僕も同じ(?)ソフトウェア開発に身をおいているだけあって、当時、彼らの味わっていたであろう日々が、ありありと目の前に浮かんでくるようだ。その中から出てくる言葉――ドッグフード~や、泳げないヤツは~だ――は、実感があるし、そして何より良い言葉だ。泳げないヤツはおぼれるしかないし、泳ぐつもりのないヤツにはいてほしくない。
 昔、読んだ「私がマイクロソフトで学んだこと」といい、マイクロソフトの社内事情に付いて書かれている本を読むたびに、この会社で働くのは居心地が良さそうだと感じる。とは言っても、仕事のために、それ以外のすべてを(本当に)犠牲にするというのは、少々病的だ。……って、あんまり彼らのことを言えた義理ではないが。

 さらに、印象に残った言葉。「人生最良の時が、終わった」
 デーブ・カトラー氏の、プロジェクトの末期の言葉だが、確かにその通りだ。苦しい開発は、進行中ではさっさと終わらせたくてたまらないが、それがいったん終わってしまい、それらを後から思い返すと、「あぁ、楽しかったよな」と思えるときがある。もちろん、それはプロジェクトの内容にもよるんだが、確かにいくつかは「人生最良の時」だったのだ。プロジェクト終了直後の、かすかな喪失感がそれを教えてくれる。

 最後に、もう一つ。「プログラムとは、この世で数少ない、完璧を求められる仕事だ」
 だから、出荷される/リリースされるバージョンというのは、ほぼ妥協にまみれている。確かに、完璧であることを求められ、完璧でなければならないのだが、ちょっと考えてみればわかることだ。時に1000万行を越える事もある、数々のプログラムのすべてが、限られた期間、予算内で完璧になるわけがない。なんせ、作成しているのは人間なのだから。だから、コンピュータとは、意図したとおりには動かない。指示された通りに動くだけなのだ。

 そこで、完璧にどれだけ時間をかけずに近づけることができるか?という命題の元、数々のプログラミング手法が生まれてきた訳だが、未だすべてにおいて完璧であった事はない。何とも気の滅入る話だ。目標を100%達成することのないプロジェクトしかないとは!
 しかし、世の中そんなモンだ。完璧なプログラムを書くこと、つまり、プログラム作成の目的は、コンピュータでどのような処理を行わせるかがもっとも重要であり、それが100%完璧である事よりも、いま、その機能が使えることが重要であるのだから。僕らはバギーなWindowsOSの事を全く笑えもしない。

 けれども、いつかは手に入れなければならない。完璧なプログラムを。完璧なデザインを。そのために日々努力すること、そして結果を出すことが、プログラムという行為の本質であるとは言えないだろうか? 或いは、そんなことは夢物語でしかないのだろうか?
Back