「C言語 入門書の次に読む本」の改訂新版がいよいよ発売された。ISBNが新しくなっているので新刊として考えると、ぼくの6冊目の著作になる。1冊は共著で他5冊は単独執筆。フツーのサラリーマンとしてはかなり多い著作数になるのではなかろうか。
今回、改訂用に読み直したのだが、うーんやっぱり若いころの文章というか、日本語がちょっとなあという部分がいっぱいあってあちゃーという感じ。ほんとは全部直したいくらいなのだけどそれをやりだすと切りが無いし、このへんはもうそろそろ完ぺき主義でなくあるていど割り切るようにしないと新しいものが書けなくなってしまうので、妥協もいたしかたないところだなあ。前向きな妥協ってことでご勘弁ください。
内容的には未だに通用するというかまあいいこと書いてあるんではないかとは思うのだが、今となってはちょっと極端なところもあるかなあ、と思う。まあ8年以上も前に書いた本だし、筆者自身の考え方も変わってはいるのでこのへんもまあいたしかたがないところだ。ていうかそんな昔の本が改訂されてまた出ること自体、やっぱり普遍な内容を書けているのかなあともうぬぼれちゃったりもする。
ということでこの本を読む人へのメッセージなのだが、ぜひ他にもいろいろな本を読んでほしいと思う。そしていろいろな本を読んで、いろいろな角度で考えてほしいなあと思う。まあこれはべつに「この本の内容はあやしいから他の本も読んでおいたほうがいいよ」ということではなく、この本に限ったことでもない。
というのは、技術書ってやっぱり1冊だけ読んではい終わりではダメで、いろいろな本を読んでさまざまな角度から考えられるようにならないとなあと思うからだ。工学技術っていうのはこれが絶対に正しいという「正解」っていうのは無くて、状況によっていろいろ選択できることのほうが大切だ。本もそうで、「この本は正しいからこの本をすべて信じる」「この本はダメだから一切信じない」とかいうようなステレオタイプな考えで読むのではなく、箇所箇所によって、「この本のこの部分はまっとうだと思うから自分に取り込もう」「でもこの部分はちょっと違うんじゃないかと思うので、他の本と比較してみよう」とか考えられることが重要だ。
工学っていうのはどの本も正しくもあり間違ってもいるのだ。なぜならそれは状況次第で取捨選択されるべきもので、状況によってコロコロと変わるものなのだ。だから1冊の本を一概に「これは良い」とか「これはダメ」とか0か1で考えちゃうのはちょっと危険な気もする。いい悪いで考えてあら探ししながら読むのではなく、「この本から何かを得よう」という考えで読むことが重要だ。
いろいろ読んだうえで、「あの本にはこう書いてあったし、今回はそうしてみよう」とか「あの本にはこう書いてあったけど、今回の状況ではこっちの本のこれこれの内容のほうが適切だと思うから、今回はこっちにしてみよう」とか取捨選択できることが大切だ。工学ってホント取捨選択の、多神教の世界だと思う。それはプログラミング言語もそうだし、CPUもそうだし、OSもそうだし、開発環境もそうだ。これしかできなくて常にそればっかり使うというのではなく、いろいろ知っておいて状況に応じて今回はこれを使おうとか選べることが大切だ。
工学書っていうのは深い内容を書けば書くほど、最大公約数的な書き方はできなくなる。だから深い内容の本ほど、状況によっては正解では無いという内容も多くなってくる。だからいろんな本を読むことは、とっても大切なことだと思う。