会社で使うツールをC#で書いています。あー、こりゃ確かに楽だわ。

C++ with MFCだと、WinMainがあり、イベントのコールバック関数での振り分けがあり、自動生成される大量のコードを読むには、Windowsのお約束を大量に勉強しなくてはいけなかった。その上、ViewとFormでクラスが分かれてて、ファイルオープンはFormのコードが呼ばれて、ボタンとかはView、その間のデータのやり取りは裏技を使わないといけないという謎仕様。

対してC#では初期化が全部隠蔽されていて、イベントも直接関数に割り当てられるので、フォームにパーツをどんどん置いていって、パーツをダブルクリックして、やりたい処理だけを書いていけばいい。基本スマートポインタで勝手にガベージコレクションしてくれるので、開放も考えなくてよくて、メモリリークもしにくいし。

描画関数もJavaっぽくdrawLineとかできるし、BMPもBitmap a = new Bitmap("hoge.gif")と、一行で読み込める。MFCでのDIBのしんどさはどこへ!

後、最近の統合開発環境ってこんなに進化してるんですね!僕はVC6がメインで、VC7までしかさわったことがなかったんだけど、最近のは、リアルタイムにコードがパースされて、リアルタイムにwarningやerrorメッセージが出るんですね。コンパイル>エラーを見て修正、から、コードを打っている段階でsyntax errorを直せる。めっさ快適。

エンコーダとかのコアは速度的にC++だけど、ツールはもう完全にC#でいいなぁ。HSPと手間があんま変わらん。これで無料って…やばすぎ。