Joel on Software その1
Joel on Softwareを購入して読み始めたので、自分なりに要点をまとめておこうと思う。時間の合間を利用しつつ読んでいるので、読み進めるペースが遅いですが、みなさんの参考になればと思います。
第1章 言語の選択
ここで筆者が述べているのは、シンタックスでプログラム言語を選ぶことはないということだ。実際に自分が携わった(携わっている)プロジェクトを見ても、シンタックスで選ぶなんてことはないです。逆にシンタックスで言語を選ぶなんて話があるんだろうか?
第2章 基本に帰れ
ここでのキーワードは「ペンキ屋のシュレミールのアルゴリズム」だ。
シュレミールは道路の真ん中に破線を描くペンキ塗りの仕事を得た。最初の日、ペンキの缶を道路に持ち出すと、彼は300ヤード描き上げた。「よくやった!君は仕事が早いな!」とボスは言って、1コペイカくれた。次の日、シュレミールは150ヤードしか進まなかった。「まぁ、昨日ほどじゃないが、それでも早いほうだ。150ヤードなら立派なもんだ」と言って、1コペイカくれた。
その次の日、シュレミールは30ヤード描いた。「たった30!」とボスは叫んだ。「そんなんじゃダメだ!最初の日にはその10倍もやったじゃないか!いったいどうしたっていうんだ?」
「仕方ねぇです」シュレミールは答えた。「毎日ペンキの缶から遠くなってくんで!」
というジョークが端的にあらわしている。
C言語のstrcat関数を例に挙げ、根本的な部分、基本的なビットレベルでのパフォーマンスを意識すべきだと述べ、このベーシックな部分が設計などの重要な決断に影響を与えると書いてある。
これは、ついてはとても納得できる。だが現実には、Java、PHP、Perl、Rubyなどの言語で開発をする際、あまりそういうことを意識できている人は少ないのではないだろうか?CPUも高速になり、メモリも大容量になっており、そういうことを意識することが昔に比べて減ってきているのが、大きな原因ではあるとは思うけど。