Win32 API の入門書を発掘したので、ひさしぶりに読みました。
ちょっと古い本ですが(2002年から2年間の雑誌連載がベース)、いまだに
本屋さんに平積みされていたりするので、ひそかに人気なのかもしれません。
ありがちな「GUI プログラミングの入門書」でもなく、かといって
OS に関する専門的な知識を前提としたマニアックな解説記事でもない、
Windows をまじめに勉強し始めるのにちょうどいいレベルの本というのは
意外に少ないのかもしれませんね。
内容は、Windows がメッセージを処理する仕組みから始まり、
ファイルシステム、メモリ管理、プロセス管理、といった
OS の基本的な部分に関する解説があり、続いて実行ファイルの
構造や DLL の仕組み、プロセス間通信、といったプログラミングに
必要な基礎教養(?)に関する解説があり、さらにはデバッガの
動作原理や非同期 I/O などの雑学的な話にまで及んでいます。
それぞれの項目では、単に API 関数を言葉で説明するだけではなくて、
実際にプログラムからどのように使えばよいかを具体的なコードを示して
解説してくれています。そのため、かなり理解しやすく、また、
実際にコードを書く足がかりにもしやすいと思います。
実際のところ、この本だけで Win32 API を直接呼び出すコードを書けるか
というと、情報が足りていない部分もあるかと思います。しかし、
いきなり MSDN の山の中をさまようより、この本の内容を足がかりにして
調べていけば、より短い時間で必要な情報にたどりつけると思います。
そういった意味ではちょうどいいレベルの内容のような気がします。
最近の .NET Framework でプログラミングする場合、これらの Win32 API に
直接触れることは少ないはずですが(触れなくてもいいようになっているはず)、
.NET と言えども最終的にはこれらの Win32 API を呼び出して動作している以上、
知っておいて損の無い話だと思います。というか、これら Win32 API の仕組みを
知らずに .NET の世界だけで考えてプログラミングすると、思わぬ落とし穴が
ありそうでちょっと怖い気がします・・・
Seaoak はずっと UNIX (Solaris/Linux) の世界でプログラミングしてきたので
Windows の世界は素人なのですが、意外な違いがあったりして楽しく読めました。
Windows でプログラミングをする人には広くオススメできる一冊だと思います。