杉田和久 テックステート取締役

Visual Studio.NET 2003の配信が開始されました。Visual Studio.NET 2002と比べ基本部分はあまり違わないですが,Visual C++.NETの.NETアプリケーション開発機能が,格段に使いやすくなりました。コンパイラやMFCなども変更になり,Visual C++6.0などからバージョンアップを検討中の方には,ひとつのタイミングです。本連載は4回を予定。Visual C++6.0を使っている方に,Visual C++.NET 2002や2003の開発環境と移行メリットなどを解説していきます。

Visual C++6.0とVisual C++.NET

 日本ではWindows開発ツールとしてVisual C++6.0がもっとも多く使われています。Visual C++シリーズもどんどん洗練され,特に6.0は非常に安定した良いバージョンでした。それから3年半後にVisual Studio.NETが発売されましたが,発売直後のマイクロソフト社の説明によると,今後のシステム,ソリューションの中心となる.NETアプリケーションを,容易に開発するためのツールということでした。

 「これからは.NETの時代が来る」と出した製品でしたが,当時の市場では.NETをターゲットとしたニーズが少なく,普及は当初の予想より遅かったようでした。

 さて,Visual Studio.NET発売から1年が経とうとしていますが,みなさんは移行しましたか? まだ状況判断中でしょうか? ここで,Visual C++6.0で開発している方々がVisual C++.NETに移行すべきかどうか,ちょっと考えてみましょう。

Visual C++.NETへの移行は必要?

 まず,みなさんは,現在のアプリケーション開発から.NETアプリケーション開発へ移行しますか?

 もし移行を決断しているのであれば,Visual C++.NET,Visual C#.NETの,いずれかを利用するとよろしいでしょう。Visual Studio.NET導入で,特に迷うこともないと思います。

 問題は,現在,MFCやATLといったWin32ネイティブのWindows開発を行っており,当面.NET開発の予定がない方です。これらはVisual C++6.0でも十分に開発できるため,移行の必要はないようにも見えます。

 ただ,これからVisual C++6.0を使い続けると,いろいろ不利な点が出てくるかもしれません。

 開発製品に対する新情報や技術,修正モジュール,新製品への対応や新機能追加などは,基本的に最新バージョンを中心に対応する場合が多いため,近い将来Visual C++6.0による開発が行いにくくなる可能性があるためです。開発環境は最新バージョンに上げておいたほうが無難なのです。

 また,あまりに急激な環境変化は開発工数を大幅に遅らす危険があるため,将来.NET環境に移行する場合は,Visual Studio.NETを導入し慣れておいたほうが安全です。

 .NETを使わない人が,Visaul C++.NETを利用できるのでしょうか? 環境に慣れること以外に,なにかメリットがあるのでしょうか? 次は,これらについて考えていきましょう。

Visual C++ 7.0に相当する内容

 Visual C++.NETは,名前にあるとおり,C++言語を使って.NETアプリケーションを開発することができるツールです。

 しかし,この名前のため多くのユーザーに誤解されていますが,Visual C++.NETは.NET専用の開発ツールではありません。あくまでVisual C++6.0からバージョンアップした製品であり,言わばVisual C++ 7.0と呼べる位置付けの製品なのです。

 Visual C++.NETの最大の特徴は,たしかに.NETアプリケーションが開発できるようになったことですが,.NET以外のMFCやATLなど,従来の機能やコンポーネントについても機能強化されています。また,統合開発環境が大幅に改善されているので,開発環境とデバッグ環境を利用するだけでも価値があります。

 もし皆さんが「.NET開発をしないのでVisual C++.NETは必要ない」と考えているのでしたら,それは誤解です。

 Viusal C++.NETは,Visual C++6.0から大きく進化した,とても使いやすい開発環境を持っているため,開発効率が一気に上がることも期待できます。コンパイラのバージョンが上がっているので,たとえば同じソースをVisual C++6.0とVisual C++.NETのそれぞれでビルドしたとしても,その性能には差が出ます。MFCやATLもバージョンアップし,より使いやすく機能拡張されているのです。

 このへんの誤解を,まずは解いておきたいものです。次回以降は,Visual C++6.0とVisual C++.NETについての具体的な開発環境や機能の違いについて解説していきましょう。

杉田和久 テックステート取締役
 .NETやWindows上の開発作業全般に精通。日経BP ITPro実践スクール,日経ソフトウエア誌など,技術セミナー講師や執筆を手掛ける。