今回は、東京府荏原郡における明治期の町村制施行時の変遷過程シリーズはお休みして、毛色の違う話題。昨夏に発売予定だったCharles Petzold氏の「Programming Windows Sixth Edition」がようやく発売となった。Kindle版では既に先月にリリースされていたが、実際にKindleを使うようになってきて「この手の本」ではまったくKindleは向いていないとわかった。よって、紙書籍での購入となったのである。で、紙書籍の購入となれば現地調達にかなうものなしであり、米国出張中の身内に頼んで買ってきてもらった。
ところで、Charles Petzold氏の「Programming Windows」といえば、Windowsプログラミングの古典中の古典であり、私もかれこれ25年程前にWindows APIの使い方を本書の初版で学んだものである。ここで、当時「PROGRAMMING WINDOWS」の初版にあった最初のWindowsプログラムのソースコード「WELCOME1.C」を眺めてみよう。私自身、懐かしすぎてディスプレイが涙で曇ってしまう(苦笑)ほどだが、若い頃に覚えたものは本当に忘れないものなのだと改めて実感する。
当時はC++なんてものはなく、C言語のみであり、このCの知識以上に必要とされたのが、Windowsプログラミングの様式とでも言うべき「形」である。これは、Windowsのというよりもウィンドウシステム特有の「形」であり、Windowsの輸入元と言うべきApple社のMacintoshのプログラミングも同様の「形」だった。Microsoft社は、Macintoshで動作するExcel(そもそもExcelはMacintoshからWindowsへ移植されたもの)からウィンドウシステムの作り方を学習(真似)したとされるが、これはやってみればわかるが知識だけではどうにもならず、体験してみて初めてわかるシロモノである。(重要なことはヘッダファイル windows.h を読みこなすこと。ヘッダファイルを読むことの重要性はこれで学んだ。)
したがって、最初に私もこのソースコードを見た時には怯んだ。K&RのHello, World. のソースコードの長さが常識だと思っていた私にとって、「Hello, World.」ならぬ「Welcome to Windows」という文字列しか表示しない、事実上、単にウィンドウを表示させるだけのプログラムソースコードが50行近いという事実は、Windowsプログラミングの敷居の高さを感じさせるには十分すぎたのである。
とはいえ、それを仕事でこなしていく以上、また実際にはそれ以上に好奇心によって「PROGRAMMING WINDOWS」を読み進め(我ながら、ではあるが若いって素晴らしい)、タッチアンドエラーによって学習させていただき、私にとっては思い出深い初版なのである。
この初版の後に続くのは、1990年のWindows 3.0にあわせて登場する第二版。そして、1992年にはWindows 3.1の登場にあわせて第三版が登場する。この頃の「PROGRAMMING WINDOWS」はWindowsプログラミングのバイブルとも言え、Windowsのバージョンアップにあわせて次々と版を改めていたのだった。だが、それもWindows 95が登場しての第四版あたりから様子が変わってくる。DOSあがりのWindowsとは比べものにならない堅牢なWindows NTが登場し、ただ一つのWindows APIでしかなかったものがWin16とWin32に分けられ複雑怪奇化し、さらにはVisual Basicの爆発的普及からVisual C++の登場、C++対応のクラスライブラリとしてMFCが必須となるなど、Windowsプログラミング環境は大きく変わりつつあった。1998年に第五版が出てから、「Programming WINDOWS」は長い休みに入ったのである。
しかし、この間にPetzold氏はC#言語に傾倒し「Programming Microsoft Windows with C#」を出すなど、2000年以降も形を変えつつWindowsプログラミングに関する書籍をリリースし続けていた。そして、実に15年ぶりに「Programming Windows」は第六版として復活したわけである。では、以下より目次を示して、概要を確認してみよう。
PART I ELEMENTALS
CHAPTER 1 Markup and Code
CHAPTER 2 XAML Syntax
CHAPTER 3 Basic Event Handling
CHAPTER 4 Presentation with Panels
CHAPTER 5 Control Interaction
CHAPTER 6 WinRT and MVVM
CHAPTER 7 Asynchronicity
CHAPTER 8 App Bars and Popups
CHAPTER 9 Animation
CHAPTER 10 Transforms
CHAPTER 11 The Three Templates
CHAPTER 12 Pages and Navigation
PART II SPECIALTIES
CHAPTER 13 Touch, Etc.
CHAPTER 14 Bitmaps
CHAPTER 15 Going Native
CHAPTER 16 Rich Text
CHAPTER 17 Share and Print
CHAPTER 18 Sensors and GPS
CHAPTER 19 Pen (Also Known as Stylus)
昔日のPetzold本を知る者としては隔世の感がある(BitmapsとかRich Textあたりに拘りは感じ取れるが)──としか思えないが、これもかつてを思い起こせば、ウィンドウシステムなんかまったくの無縁でマウスと言えばお絵描きにしか使わない(金属ボールのアスキー(マイクロソフト)マウスを覚えていますか…)程度の私が、Petzold本によってウィンドウシステムを学んだのだから、今日のタッチパネル&HTML5をPetzold本によって理解することは当時と何ら違いなどない。そんなことを考えながら、今回はここまで。
コメント