ちょっとひらさんっぽい話。
そんなこんなで私物を整理していたら、昔の勉強ノートがでてきたわけです。中を見てみるとなつかしい事が書いてあってうれしい。Blogも良いけど紙のノートにまとめるのも思い出がよみがえってきて良い。新人~2年目くらいに書いたんだろうけど、ハードのことを必死で勉強しているのが分かる。トラ技を3年くらい続けて読んでいたり、情報処理検定の勉強と絡めていたりしている。デバッグルームで、RS-232Cのピン配置とかアスキーコードを知りたいとき、このノートにお世話になった。今じゃGoogleだけどね。
そんななか、ノートが昔勉強したMINIXの所に来て驚く。ノートにソースコード貼り付けて、それにコメント入れて勉強している!そうだ、昔はノートに切り貼りしながら勉強するスタイルだった。これは勉強に時間がかかるはずだ。必死でMINIXを勉強した事実は覚えているんだが、いまいち自分の血肉になっていない気がする。MINIXのシステムコールの一覧やら、inodeのフォーマットなんてまとめてもしょうがないだろと今の自分なら思うけど、当時はこれが大事だと思っていたんだよな。
MINIXの後は、仕事で使ったμITRONのマニュアルから丁寧にシステムコールが順にまとめられている。マニュアルそのまま持ち運んだ方が絶対によいと思うんだが、まとめたかったんだろうな。続いてコードコンプリートとパタヘネか。パタヘネは図を書いた方が良いよ。これだけは正解。状態遷移図とかノートに写してうんうん言っていた。
ふと思い立って、コンピュータアーキテクチャをパラパラと読んでみる。あれ、買ったときこんな難しい本絶対無理と思ったけど、意外に簡単じゃね?と思った。見ている視点が、パタヘネとは違うけど普通に面白いと思う。
ちょっと脱線。
コンピュータアーキテクチャ(日本語版)を流し読みした感想は、「良い本だけど、ちょっと内容が古いかな」って感じ。原書が書かれたのが1990年で、17年前なのにちょっと古いという表現が思いついたのは凄いと思う。勉強するならパタヘネの方がよいと思いますよ。コンピュータアーキテクチャは性能をどう評価するかを重点的に書いてあるのに対し、パタヘネは一つ一つの説明が丁寧でどう動くかを中心に書いてあります。コンピュータアーキテクチャの方が図や式がやや抽象的で、パタヘネは実際のハードウェア近くまで書いてある。正直、パタヘネじゃなくてコンピュータアーキテクチャ(ヘネパタ)の方を薦める人って、本当に読んだのかと問いつめたい。両方読めとかどんなけCPU設計するんだよって思う。コンピュータアーキテクチャ(ヘネパタ)は、SHマイコン萌えな人が読む本だよ。
整理を続けていると、こんどはコンパイラ構成法がでてきた。これも最初の方がさっぱり分からなかったけど、今読むとHOPと同じような事がかいてあって少しは分かる。
勉強の記録をつけるのは大事で、勉強し続けるとそれなりに成長はしているんだなと思った。