万人が扱える待望の 32bit OS Windows95 が登場し、プログラミングに新たな道を開いた。しかし、Windows95 に関する情報は、図形によるユーザ・インタフェース GUI ばかりが目だってしまい必要な情報がなかなか得られない。
良く聞かれるのは、「Windows95 のプログラムを作るのは大変である、数倍手間が掛かる」ということである。そうかと思うと、オブジェクト指向とか、ビジュアル・プログラミングとか、一見華やかに見えるお話ばかりである。
プログラムはお話だけでは何の役にも立たない。実際に、動いてもらわなければならないから、そう言った話をいくら聞いても何も前進しない。新たにプログラムを作るのならばともかくプログラム移植となるとまったく無力である。
一番知りたいのは、MS-DOS や UNIX で蓄積したプログラミング経験を活かし、Windows95 でよりよいプログラムが作れるかどうかである。16bit OS で一番不満だった僅かなメモリしか扱えない問題は Windows95 ではどうなったのであろうか。果たして 32bit UNIX の大容量プログラムを移植して動かすことが出来るのであろうか。Windows95 は思いの外、従来の 16bit MS-DOS用のプログラムの動作がよく、それが問題をいっそう複雑にしている。
次に知りたいのはプログラム開発に数倍手間が掛かる問題である。数倍手間が掛かるのは Windows95 が GUI だからであるが、数倍手間が掛かるのであればプログラムを作ること自体をやめざる得ない場合もある。百歩譲って、数倍手間を掛けて作る価値があればよいのだが、数倍手間を掛けて作ったところで、逆に数倍使いにくいとしたらどうだろうか。GUI は「売りやすい」ソフトウェアを作るためのものであり、GUI 必ずしも「使いやすい」ソフトウェアを作るためのものではない。
だったら、Windows95 で GUI でないプログラムを作ればよい。では、GUI でないプログラムを作ることが出来るのだろうか。特にグラフィックスが絡んだ場合はどうなのであろうか。本書では GUI はほどほどにしかやらない。まったくやらないわけでもなく、GUI を使っても使いにくくならない程度しか導入しないのである。
非GUI も GUI も道具であり、その道具の限界を良く知って使い分けることである。何かをしたいとき、どちらが向いているか、判断して使い分ける必要がある。なのに「売りやすい」から、すべて GUI にしてしまうという所に無理があるのである。昔はすべて非GUI だったのは技術的に出来なかっただけの話である。今日、使い分けが出来ないのは技術と意識が成熟してしいないからである。
本書では従来の Windowsプログラミング手法を分解し、非GUIプログラムでも、ウィンドウを開きグラフィックスが扱えるようにしている。ウィンドウが隠れた場合の対処も自動的に出来るようにしている。さらに点を打つ, 線を引く, 円を描く, 文字を表示すると言った基本的なグラフィックスを簡単に行えるように工夫をした。
つまり、書名の『10倍簡単』は後から付いた名前だけのものではなく、執筆当初から10倍簡単を目指していたわけである。本書で扱う事柄は Windows95プログラミングの基本である。そのため、C言語を使用している。姉妹編の『Windows95プログラムを10倍強力に作る[C++版]』(平成8年5月25日共立出版発行, 定価2,884円(本体2,800円), ISBN4-320-02810-4 C3041)では C++ を使用し、より踏み込んで解説している。
MS-DOS や UNIX で作った多くのプログラムを抱え、これをより強力なものにしたい場合、まずは本書に従ってそのまま Windows95 に移植するとよい。一通りの移植が出来たなら、姉妹編に従って徐々に拡張すればよいだろう。
本書は本年正月に発行された前著『ANSI C/C++辞典』(共立出版)と同様、TeX(テフ)というコンピューター組版言語システムを使用し、筆者自らが版下作成まで行っている。執筆と編集は同時進行であり、最新の情報をいち早く提供できた。前著の作業終了後、ゼロから Windows95プログラミングを始め、わずか3カ月で出版に漕ぎ着けた。
本書の出版にあたっては、『ANSI C/C++辞典』に引続き、共立出版の坂野一寿さんに大変お世話になった。また、松岡里美さんには筆者の難しい話を良く聞いていただき、分かりやすくて かわいいイラストを描いてもらった。
本書で使用する C/C++ の用語は『ANSI C/C++辞典』(平成8年1月25日共立出版発行, 定価6,695円(本体6,500円), ISBN4-320-02797-3 C3541)に準じているので、不明の点は参照していただきたい。
平成8年(1996年)3月26日
Hirabayashi Masahide
平林 雅英