今さら紹介するまでもないが、Windows プログラマならば必ず読んでおくべき 3 つのバイブルが以下だ。
プログラミングWindows第5版〈上〉
プログラミングWindows第5版〈下〉
「Petzold 本」と呼ばれる基本中の基本が本書「プログラミングWindows」だ。Windows アプリケーションがどのように作られているのか、その根幹を知る事ができる。これから先、Windows アプリケーションが主に .NET で作られる世になったとしても必須の知識がここにある。C 言語さえ知っていたら読み進める本なので敷居は低い。本書を読まずに Windows プログラマは名乗れないだろう。私が持っている本書は読み過ぎてボロボロだ。
Advanced Windows 改訂第4版
「プログラミングWindows」より若干難度が高いのが「Advanced Windows」だ。.NET プログラマなら常識になっているプログラミングMicrosoft .NET Framework
の Jeffrey Richter が著者だ。主に Windows カーネルオブジェクトの解説にページを割いている。スレッド、プロセス、イベント、セマフォ、ミューテックス、クリティカルセクション、仮想メモリ、etc…。この辺の知識はしっかりと定着させておきたい。
インサイド Microsoft Windows 第4版〈上〉
インサイドMicrosoft Windows第4版〈下〉
先に紹介した二冊とは一線を画すのがこの「Inside Windows」だ。「Windows 開発者しか必要ない本」という言われようだ。ここで言う「Windows 開発者」とは、Windows OS そのものを作っている開発者の事である。その為、この本の難易度はぐっと上がる。Windows の内部構造を掘って掘って掘りまくる。内部関数や内部構造体、カーネル、エグゼキュティブ、~ディスパッチ、レジストリ、I/O、~マネージャ、セキュリティ、etc…。本書を読み切ったら、Windows に関してはほぼ完璧と言える知識を持てるだろう。
Windows Vista、Longhorn 時代になっても全く色あせないのは低レベルアーキテクチャの知識である。次々に新技術が登場している今だからこそ、これら低レベルの知識は押さえておきたい。