Visual Studio 2005 がステキすぎる。
2005年の製品を、何をいまさら、という感じなんだけど。
でも、ちょくちょく語りたくなるので語ります。
−
Visual Studio 2005を使ってから、確かにプログラミングが楽しくなったと実感できる。
−
その理由の90%は、オートコンプリート(自動補完)機能の、尋常でない賢さである。インテリ・センス!インテリ・センス!
今までのオートコンプリートが、ドットで発動するものだとしたら、2005のオートコンプリートは、「ドットでポン、コンマでポン、スペースでポン、右クリックでポン、閉じ大括弧でポン」くらいの勢いである。
<好きなオートコンプリート>
・インスタンスを作成するとき、new の後スペースを押した瞬間、クラス名を補完できる。
・インデントを適当に作っておいて(コピペを多用すると頻繁にがたがたになってしまう)、一番外側の閉じ大括弧「}」を押すと、インデントが正しくなる。
・メソッドやフィールドの前で「///」を入力すると、コメントのハリボテが追加される。
・デザイナのイベント入力画面を使わずに、手入力でイベントハンドラを追加してみて欲しい。
具体的には、
this.button1.Click += ←ここらへんまで打つ。
Tabを押せというので、押してみる。
this.button1.Click +=new System.EventHandler(button1_Click); ←自動補完
もう一度Tabを押せというので、押してみる。
→ button1_Clickメソッドのハリボテが追加される。
SUGEEEEEE!!!
・継承クラスで、親のメソッドをオーバーライドしたい場合、overrideって入れるだけで候補が出てくるから、うろ覚えでも安心。
ほんまによぅできる子やー。
−
ステキな理由の6%は、C#である。
でも考えてみたらどこが良いのか、うまく説明できない。
値型が使えたり、列挙型が使えたり、ジェネリックが使えたり、デリゲートとかいう関数ポインタのオブジェクト指向型が使えたり、それを応用(悪用?)してJavaScriptばりに無名関数を使いまくれたり、属性が使えたり、いまだにCOMやAPIが使えたり。
そんな節操のないC#がすき。
列挙型がもう少し機能強化して欲しい気もする。
#仕事では使いたくないけどね〜。自分で楽しむ分にはいいけど。
#感覚の合わない人が作ったC#をメンテしてくれと言われたら、ぶん投げるかもしれない。
−
ステキな理由の3%は、.NET Frameworkである。
正直、それほどステキじゃない。
簡単なものなら、とても簡単に作れる。
しかし、ちょっと凝ったものを作ろうと思ったら、結構使えない。機能が足りない。
結局APIを調べて過去の資産で解決したりすると、やがてDLLHELLに至ったりして…。
−
フレームワークをLinuxに移植するMonoというプロジェクトがあるけども、Windows.Formsの移植は無理なんじゃないかな、と思う。
WindowsとMSさんは過去の資産を利用できるからいいようなもので。
結局主たる土俵は、テキストメインのバッチ処理や、Web系で、
主たるライバルはJavaなんだろうね、結局。
−
ステキな理由の1%は、タダで手に入れたから。(以下略
#正規ライセンスですよ?