Joel on Software

Joel on Softwareに、プログラムというのは書くのより読むほうが難しいと書いてあった。だから、古いコードがクズだと思ってしまうらしい。特に他人のコードはその人自身の癖もあるので余計そう思うのかもしれない。しかし、大きいシステムをそのために一から作り直すのも愚かということも書いてあった。確かに、複雑なロジックだとしても難しいコードを書いてあるプログラムは価値があると言えないと思う。複雑なロジックをいかに簡単に書くかというのが重要だと思う。しかし、再利用性やその他の理由も良いコードの判断材料になるので単純には「可読性が低い=悪いコード」とは断言できないかもしれない。


あと、言語の習得よりもライブラリの習得に時間がかかるとも書いてあった。また、自明でない抽象化はすべて、程度の差こそあれ、漏れがあると書いてあった。結局、抽象化されたものを使用しても漏れ(例外)があった場合に、ブラックボックスの中身を知らないと対処できないということであるが、つまり、抽象化されたものを使用すれば作業時間は減るが、学習時間は短縮されないということらしい。抽象化は、その概念を理解することが重要かもしれない。


私は、達人プログラマーは読んだことないが、ハッカーと画家はあまりよくなかったが、Joel on Softwareは結構良いと思う。人月の神話以来のヒットかもしれない。あと、ピープルウェアも読んでみたいが、どちらかと言うとマネージャよりな内容の気がするので、読むのはしばらく先かもしれない。