Visual Studio 2005について
世間ではVisual Studio 2008のBetaが配布されており、来年には日本語版も発売されるそうな。
私のほうは今頃になってようやくVisual Studio 2005を使うようになった。Visual Studio 6.0から比べるとさすがにユーザインタフェースは進歩している。今日は、C++ユーザからみたVisual Studio 2005の感想を述べてみる。
C++プログラマからみたVisual Studio 2005の感想
Visual Studio 2005の利点
- ANSI互換になった。Visual Studio6.0はfor文の制御変数のスコープが独自仕様で、GNU C++などと互換性がなかった。
- インテリセンス(状況依存のヘルプ)がVisual Studio6.0に比べて進歩している。
- ソリュージョンとプロジェクトという概念があり、関連のあるプロジェクトをひとまとめにしてビルドできる。※ソリュージョンはVisual Studio.NETからの機能
- エラーチェックが厳密になった。(うるさいくらい)
- デバッガが使いやすい。特にブレークポイントの設定と条件の指定が簡単にできるのは○。
- 意外にもHTMLエディタが優秀。十分Frontpageの代わりになる。
- モバイル開発では、エミュレータの完成度が上がり、ARM用のバイナリがエミュレータでそのまま実行できるようになった。バイナリで配布されているアプリケーションをエミュレータにインストールすることも出来るので、実機に近い環境でのデバッグができる。またActiveSyncでエミュレータに接続できるのも優れている。
Visual Studio 2005の課題
- クラスデザイナやコードスニペットといったカタログ上の売りの機能は、実はC++では利用できないものが多い。クラスデザイナはVisual Studio2008からはC++で使えるようになるそうだが、コードスニペットはやはりサポートされない。
- MFC で開発した場合、MFC8.0が必要になる。Windows VistaにはMFC8.0が標準で入っているが、Xp以前のPCはまだ現役で使われているため、アプリケーションと一緒にMFC8.0を配布しないといけない。
- Visual Studio2005で開発したアプリケーションはWindows98以降しかサポートされず、Windows95で動かない。
- 同じく、モバイル開発ではPocketPC2003以降しかサポートされない。それ以前のPocketPCやWindowsCEの開発にはeVC3.0や4.0が必要。
- モバイル用のMFC8.0は、eVC4.0までのMFCに比べて利用できるクラスが減っているため、アプリケーションによっては移植が難しい。ただし SP1 では削除されたクラスのいくつかが追加されており、多少移植が楽になった。
MFC 8.0 でサポートされなくなった MFC 3.0 の eVC クラスの一覧
- C++でマネージド開発を行う場合の言語仕様が、バージョンアップの度に変わる。Visual Studio.NETにはC++マネージ拡張という仕様があったが、Visual Studio 2005ではC++/CLIに変わった。
Visual Studio 2005の問題点を一言で言えば、「下位互換性が切り捨てられている」こと。まだまだWindows95やPocketPC2002以前の機種は現役で使われており、Visual Studio 2005以降の環境に完全に移行することは、しばらくは難しい。通常の開発はVisual Studio 2005で行うとしても、リリースするプログラムはVisual Studio 6.0やeVC3.0/4.0で作成するという並行運用がまだまだ続くことになる。