先人に学ぼう

多治見寿和『プログラミングテクニック―UNIXコマンドのソースコードにみる実践プログラミング手法 (UNIX MAGAZINE COLLECTION)』、『プログラミングテクニックアドバンス―実践的UNIXプログラミングソースコードにみる珠玉の手法 (UNIX MAGAZINE COLLECTION)』。
UNIXにある各コマンドのソースコードから実践プログラミングテクニックを学ぶ事が目的の本。4月号から季刊化した『UNIX MAGAZINE』の連載をまとめたムック。
データ構造から構文解析、ネットワークプログラミング、セキュリティ、システムプログラミングなど多岐に渡った範囲で、実際のソースコードを眺めて、批判を交えつつ、何故このテクニックが使われているのか、どうすればプログラムとして良いものとなるのかを詳しく解説している。
1人でソースコードを眺めていても、続かない事がある。ある程度まとめられていれば読み易いし、テクニックが探し易い。
プログラムが洗練された考えによって作られている事が、よく分かった。
Diomidis Spinellis『Code Reading―オープンソースから学ぶソフトウェア開発技法』。
帯には「コードは小説より面白い!」。内容は勿論素晴しいが、監訳者も豪華。上の『プログラミングテクニック』を書くための本と言うか、実際に自分で大規模なプログラムのソースコードを読むための心得、姿勢、テクニックを学ぶための本。
付録CD-ROMに本の中に出てくるソフトウェアのソースコードが全て入っており、随時挿入される練習問題と共にすぐに訓練する事が出来る。扱っているソースコードはC、JavaPerlなど様々な言語で書かれている。従って、言語に制約されないプログラムの読み方と書き方をマスタ出来る。
悩んで車輪の再発明をするよりも、先人が残しているアウトプットから学ぶ。アウトプットとインプットの均衡が成り立っている環境だからこそ出来る勉強法。オープンこそが、正しい環境の形だと思う。

Code Reading―オープンソースから学ぶソフトウェア開発技法

Code Reading―オープンソースから学ぶソフトウェア開発技法