Code Reading

Code Reading

いや、久々にやられました。
キャッチーなポップでエンターテイメントでない映画を
エンターテイメント色豊かに見せる。なんてのは日常茶飯事なので
この本に特に問題があるわけではありません。
帯に書いてあるのも本当のことです。
 
でも、良いコードを読むという趣旨だったら、netbsdとXのコード嫁。
で終わってしまう感も。それがいやだったら、3つぐらいにテーマを分けて(頻出コマンド編、ネットワーク編、カーネル編)
それぞれの内容をもうちょい深く追っていく構造にしてもよかったような。
 
なんだか、この「大学の教科書にもできますよ」的網羅が、
浅く広く、帯に書いてあることとは離れているように感じる。
(帯をつけた人が一面を取り上げすぎただけで本には罪が無い)

殆どのコードがCで書かれている点も気にかかる。
いや、どの言語にも共通したロジックがある。というのは
正解だと思うのだけれど、
最近の環境(C++,C#,Java)では苦もなくできることを遠回りして
いたりして、効率重視しすぎるのも良くないと思うけれど。
不経済に思える。
もっと言えば、個人的には、「○○をC言語で実装ネタ」は大好きなんですよ。だからこそ、開発技法を読み取るとか、そういうお題目なしに、ストレートに「C言語でやってみよう」みたいなタイトルにできなかったのが悔やまれるところ。

最近の環境じゃ楽チンなことをわざわざ難解に、っていう意味では

プログラミング作法

を読んでいけてる感じがしたので、

プログラム書法

読んで、それは今時当たり前すぎて、辛いっすよ。
ってなったのと同じような読後感。
あ、プログラム書法の方に似てるのね。
違うところは、Code Readingに出てくる例は、自分の技術よりハイレベルな例が多いから嬉しいということぐらい。
(プログラム書法は時代が移り変わり、昔はわざわざ言うようなことがもう当たり前になってるって話であって。)
 
あと、なんかフォローっぽいことを一つ二つ。
C++やらJavaで苦労が少なく書けるコードをCで実装している例が
多いって言ったけれど、それには理由があります。
Code Readingに出てくるのは、実在するオープンソースのソフトウェアのコードであり、プロダクト自体がC言語で書かれているのです。(例で挙げられているBSDC++で書き直せば...という反論もあるかもしれませんがそれはまた別の話)
 
読後数日間は(プロのプログラマではないにしろ)コーディングができなくなってしまいました。
精進が足りないようですね。
(本の内容が空振りしてもいつもはこんなことないのになぁ)

この感想に一番近い感想は
id:moleskinさんの
http://d.hatena.ne.jp/moleskin/20040603#p3
ですね