とうとうVisual C# 2005を使う時が来たのだ!

C#というプログラミング言語は、それまで複数の言語や処理系が雑然と同時並行的に混在していたWindowsアプリケーションの開発環境を整理すべくマイクロソフトが重い腰を上げたときに投入されたものです。CUIの時代から使われてきたBASICやC++などと違って、GUIかつインターネットが当たり前の時代に登場してきたものですから、使い勝手にしても何にしても非常に優れているだろうことは容易に想像できました。

当初、C#はVisual Basic(以下、VB)に取って代わるものと思われていました。Windowsアプリの開発環境は、ほどなくVBからC#に完全移行すること間違いなしと思わせるような気配が、当時は濃厚に漂っていたものです。しかし、どうしたことでしょう。その後、C#はパッとしませんでした。アテが外れた出版社は慌てて情報収集をし、敗因を分析したのですが、その結果は驚くべきものでした。つまり、移行の主流になると思われていたVBプログラマーたちが、相変わらずVBを使っていたのです。もちろん、個人の趣味で開発言語を選べることは(ほぼ)ありませんから、正確には開発プログラムの発注側がVBに拘泥していたわけですが、それにしてもVBプログラマーにとってはVBでの開発の方が楽だと思われていたことも確実です。

VBは昔から使われてきたせいで、.NET Frameworkという新たな仕組みには無理矢理対応させられたという側面があります。データ型に対して緩いという長所(短所?)も作用して、同じような機能を実現するために複数の書き方が可能という面倒なことにもなっているのです。マイクロソフトが社として.NET Frameworkを前面に出している一方で、VBのヘルプにはVisual Basic関数の方が最適化されているという点で使い勝手が良い、といったような記述も見られるなど、相変わらずの混乱ぶりが見て取れます。

誤解を恐れずに比喩を使えば、VBは、増改築を繰り返した結果、同じ用途の設備が複数ある家のようなものです。もとから住んでいる人には使いやすいのかもしれませんが、初めての訪問者にはわかりにくいでしょう。一方、C#は、何もない更地にガンと建てた家のようなものです。初めて来た人にもわかりやすいと言えます。

何のしがらみもない、これからプログラミングを始めるという人は、迷わずC#を選んでください。遅蒔きながら、最近のWindowsアプリの開発においては、間違いなくC#の利用が進んでいます(やっと!⁠⁠。具体的にどういったことができるのかは、本書『Visual C# 2005 [実践] プログラミングテクニック』をご覧ください。同じ内容からなるVB版(⁠⁠Visual Basic 2005[実践]プログラミングテクニック⁠⁠)も出ていますので、これら2つの言語にどういった違いがあるのか、実際に比較することもできますよ。