MFCで“じゃんけん”を作るのもいいかも

高木です。おはようございます。

以前書いた記事で、今度はC#とC++で“じゃんけん”に挑戦するかもしれないことに触れました。
営業を頑張ってくれている馬詰にとっては、SESの案件が皆無といってもいいTcl/Tkよりは、C#とかC++をかじった方が得るものが大きいですからね。

今回、MFCを急募したけれど、MFCのことは「実際触らないことには、わからないです」とのことでしたので、C++で作るときにはMFCを使うということを考えてもよさそうです。

私もMFCは長い間まとも触っていません。
長い間というのは10年以上ということです。
しかも、今世紀に入ってから触ったことがあるのは、MFC 6.0だけです。

昨日、Visual Studio 2017のMFCをちょっとだけ触ってみましたが、ちょっと頑張らないとなかなか手が動きませんね。
この状態だと、一回もまともに触ったことがないwxWidgetsとかで作るのと大差ないかもしれません。

実をいうと、私が最初にMFCに触れたのは、MFC 1.0、すなわち最初のバージョンでした。
そのときの処理系は、Microsoft C/C++ Compiler 7.0だったと思います。
つまり、まだVisual C++はなく、16ビットのコンパイラだったのです。

Microsoft C/C++ Compiler 7.0には、PWB(Programmer’s Workbench)というMS-DOS上の統合開発環境はありましたが、MFCをまともにサポートしているわけがありません。
いわゆるAppWizardもClassWizardもなかったのです。
CWinAppの派生クラスを定義して、InitApplicationとInitInstanceをオーバーライドしてとかをすべて手作業でやっていました。

その後、Visual C++ 1.0が登場したのですが、今度はAppWizardやClassWizardが大量のコードを生成してくれるけれども、自分で書いたわけではないのでなかなか理解が及ばないといった有様になりました。
その当時の私は、CもC++も大して分かっていませんでしたのでなおさらです。
本業はプログラマーではなかったですから。

プログラマーではなかったのですが、いろんな処理系は触りました。
Borland C++でOWLも少しは触りましたし、DelphiやC++ BuilderでVCLも触りましたよ。
X68KのXCとかMacのCodeWarriorとかも触りましたね。

それぐらい古い時代からMFCとは(浅いですが)付き合いはあったわけです。
そういう事情ですから、MFCと聞けば何となくノスタルジックな気分に浸ってしまうというものです。

本当に勉強会でMFCをやるのであれば、私も十分に予習をしておかないといけません。
おそらく先にC#をやることになるでしょうから、しばらくは時間が稼げると思いますけど。