最小主義者のためのMac OS Xプログラミング

Contents

はじめに

多分、僕が作ったプログラムを見ればみんな既に知ってると思うけれど、僕のプログラミングスタイルは一貫していて、必要な機能を必要最小限のプログラミングで作ることにしている。プログラムの外見なんてのは、まず動くものを作ってから調整するものだと思ってるし、どんな高度なプログラミングテクニックを使って高速化したって、安定して動作しなければ意味が無い。だから、僕は、結構保守的なコードの書き方をする。

と、言うような主義なので、いまいちMac OSの派手なユーザインターフェースに違和感を覚えていた。まあ、それでも、プログラミングを覚えてみたいという気はあったんだけど。が、大学の授業でプログラミングを教えることになって、学生のうち3人がMacを使って宿題をしたいということだった。グラフィックスとかの宿題に、Win 32 APIとか、X-WindowのAPIとか直接書かせると、それだけで秋学期が終わってしまうと困るので、Windows用の簡単なWrapper関数を書いたのだが、Mac OS Xでも宿題ができるようにするには、同じ関数セットをMac OS X用に書かなくてはならない。まあ、こういう機会でも無いと絶対Macでプログラミングなんてしないだろうから、と思い立ってMac OS Xプログラミングを勉強することにした。

最初に思ったのは、「Objective-Cって何かの悪い冗談だろう」ってことだった。なのだが、Objective-Cの関数は、extern "C"を使えばC++から呼び出せることがわかり、そうであれば、Objective-Cに依存する部分を一本のソースファイルに閉じ込めることで、ほとんどC++で書けることがわかり、さらに良くわかってくると、実はMac OS Xってよくできてるじゃん。と、思うようになった。それでも、メインの開発はWindowsでやってるけど。

多分、WindowsやLinuxでやってて、Mac OS Xプログラミングにも手を出そうと思ったら、Objective-Cを見た瞬間にやっぱりやめた、という人は他にもいるんじゃないかと思う。だったら、ひょっとすると、僕がいろいろ試していることとか、他の人にも役に立つことがあるかもしれない、と、思ったので、YSFLIGHT.COM内で公開することにした。