プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

なぜWindowsプログラミングはつまらないか


最近仕事でWindowsプログラミングをしている。
まあ職業プログラマなんで、大体いつもWindowsのプログラム作ってるんですが(笑)
Visual Studioってやつを使って、ちょっとしたGUIのアプリを書いてたのです。
普段はシステムに近いところを書くことが多い上に、ツール類は大体コンソールアプリで作る人なので、あまりGUIのアプリは書かないのだ。


作り始めて数日して思った。


「つまらん」


いや、決してVisual Studioの作りが悪いとか、そういうわけではないのです。
本来面倒なGUIアプリを、ここまで簡単に作れるのは、素直にいいと思います。
ちょっと重いけど、機能を考えると、まあこんなものなんだろうね。


以前WindowsとGBAのプログラミングを比較する記事を書いた時、それはプログラミングにおける規模とか見通しじゃないかと思った。
ある一つの目的を達成するのに、膨大な資料を読んで理解する必要があるものと、ハードもソフトも限定された世界の違い。
でも、それだけじゃ、違いを説明できない気がするんだな。
もう一つ重要なことは:


プログラム内で実際に自分が作った部分と用意された部分の割合


じゃないかと思う。


Windowsのプログラミング環境においては、必要な部品はたいてい揃っている。
何かを実現するために、ゼロから作らなければいけない状況というのはあまりない。
プログラムを作る時は、その機能がどこにあるか、どうしたら使えるかを研究することに、ほとんどの時間が費やされる場合が多い。


一方マイコンやGBAなどの組み込み機器は、最初から出来ることの方が少ない。
何かを実現するためには、たいていゼロから作り始める。(特に趣味のプログラミングの場合は)
似たようなシステムのソースを流用できる場合もあるけど、その場合も単純に流用できることは少ない。


プログラムを作るという楽しさの本質的な部分は同じでも、まさに自分の力で作ったということを実感できるのが、マイコン達ではないかと思うんだ。
言ってみれば、既に着色もしてあって接着剤もいらないプラモデルと、着色はもちろんバリを削ったりしなくてはならないプラモデルとの違い、という感じかな。
PC-8001やMZ-80Kの時代が楽しかったのは、もちろん目新しさもあったろうけど、1から自分の手で作るということを体験できたからだと思う。


だいぶ時代錯誤的なこと言ってますね。
でも、開発効率と、物作りの楽しみは違うんじゃないかな。
何より趣味でプログラムを作るのであればね。


あー、またなんか作りたくなってきたなー。:)