2008年11月30日日曜日

よいソフトをつくる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
無題 23:15

そんなの誰だってそうだよ。私は自分がプログラミングが得意な方だと思っているけれど、 Maeve の要求定義と設計に十ヶ月費やした。世間で言う、日常的な、広い意味でのプログラミングの能力と、「要求定義し、設計し、実装し、デバッグし、リリースし、メンテナンスする」という能力は明らかに異なっている。たった一人で後者ができる人間は、プログラマと呼ばれる者のうちのほんの一握りであり、それゆえハッカーだとかなんだとかいう尊称を与えられるのだ。

Joelはよいソフトウエアには10年かかるって言ってなかったっけ?作る側は使う側のことをわかるのに10年掛かるといったところだろう。使い手にあわせて10年かけて作り直し続けるといったところだろう。

Bindといういやなサンプルもあるぞ。まあそれでもHappyなほうだろう。ものすごい数のユーザがいて、ネットを支えているのは事実だ。質としては受け入れがたいとおもう人は山盛りいるだろうが。

結局、使い手と作り手が同じで作り手の能力がきわめて高い場合だろう。最近おもったのは、Linusとgitの関係だ。彼の日課がmergeであることに間違いはない。その要求を満たすためにgitを作ったのだ。

「リリースし、メンテナンス」することを考えると依存するものをpackage化する作業が手動で孤立していることはちょっとねぇ。repositoryをrsyncして、それを自動でrpm化したいのよねぇ。
とにかく凹んでいる暇があったら作るなりしっかり休むなり、意味がある(完成に向かう)方向で時間を使おう。とてつもなく長い道のりなのだから。

0 件のコメント: