空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

COM

最近初めてCOM(Component Object Model)の実装の詳細を勉強した。Windows用の技術というよりも,C++の実装を巧みに利用したInterfaceベースのライブラリデザイン手法に関する教養を深めようと思い,知人に勧められて読んでみたのだ。実装の煩雑さはまだ未知数だが,ユーザーインターフェースを提供する立場から見ると,かなり使えそうな印象を受けた。
しかし,調子に乗ってWebでググって見ると,COMに関する文献は2001年あたりからピタリと止んでしまっていることに気付く。優れた解説書の一つであるInside COM―Microsoft’s Component Object Model (Microsoft programming series)に至っては既に絶版になっている。どうやら既に同技術は.NETに取って代わられたようである。C/C++の資産をムリムリ活用するために実装方法に縛りを加えるというやり方が,COMという技術全体を複雑な物にしてしまったのだろうか。
COMマンセーな本を読んでウキウキしていただけに,残念な気持ちもひとしおである。ちなみに僕が勉強につかった本はこれ→「Essential COM (ASCII Addison Wesley Programming Series)」。「Effective COM (ASCII Addison Wesley Programming Series)」は注文済み。さらに「ATLインターナル―仕組み・設計・実装法 (アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming series)」も読もうと思っていたのだが,ちょっとなえ初めている。
最近は.NETのCommon Language Infrastructure;CLIがMacOSXLinuxでも利用できるらしい。なんとなくネイティブじゃないとイヤ,という価値観があり,.NETやJavaが逆に中途半端に思えて今まで食指が伸びなかったのだが,そろそろ勉強をしてみようかなという気になってきたのだった。