Visual Studio Express な あ・な・た に贈る Professional のおススメ

今、ちょうど

Express ユーザーに朗報 Visual Studio Professional アップグレード優待パッケージのご案内
https://www.microsoft.com/japan/msdn/vstudio/campaign/msdne.aspx

というのをやっているようなので、このあたりについて書いてみたいと思います(お得ですね)。

私の意見ですが、業務での利用では、Visual Studio Express ではなく、Visual Studio Ultimate/Premium/Professional を使ってほしいです。理由は、以下で書きます。

まず、Express は、これから Windows をはじめとした Microsoft 技術の学習をされる方にお勧めします。Express は言語や目的ごと(C#、VB、C++, Web 開発、Windows Phone 7 開発)に製品を入手できるので、一番よいものを選択すればいいです。

たとえば、普段は、Eclipse を使って、 Java や PHP の開発をしているけれど、これからは、Windows Azure 上でのクラウド アプリや、それと連携する Windows Phone 7 アプリまで、自分の能力を広げたいと思っていて、密にホームワークとして腕を磨きたいという方。

☆ ☆ ☆ ☆ ☆

方や、業務で開発をしている方々には、 「よい道具」を使ってほしいです。なぜなら、もっとクリエイティブな仕事に注力してほしいからです。みなさんの能力を Visual Studio などの統合開発環境ごときで実現できるつまらない作業に使ってほしくないからです。

たまに、「Visual Studio Express でこれも対応してくれたら・・・」という声をききますが、それこそ、「よい道具」で、無駄な思考や、願いではなく、さっさと実現をしてほしいところです。みなさんは、プロの開発者なのですから。

☆ ☆ ☆ ☆ ☆

さて、ざっとですが、Express ではなく、Professional 以降がなぜいいのか列挙。

Professional 以降が便利な主な機能例:

  • 利用できる C++ コンパイラの幅が広い
    Express は 32bit のみ。Professional は、32bit/64bit。Premium/Ultimate は IA64も。
  • MFC/ATL
    これらは Professional から対応
  • リモート デバッグ/SQL デバッグ
    これらは Professional から対応
  • 静的コード分析
    Premium/Ultimate で対応
  • データ デザイナー/リソース エディタ
    Professional から対応
  • サーバー エクスプローラー
    Professional から対応
  • マルチ ターゲットの管理
    Professional から対応
  • プロパティ ページの機能拡張
    Professional から対応
  • バージョン管理機能連携
    Professional から対応(MSSCCI/TFS)
  • 単体テストフレームワーク
    Professional から対応。Premium/Ultimate では、DBアクセスの単体テスト、自動 UI テスト、コード カバレッジ、静的/動的コード分析、テスト影響分析などコード品質の作りこみ機能が充実。Ultimate なら単体テストの負荷テストも
  • MSDN サブスクリプション
    言わずもがなな、特典豊富なサブスクリプション。Visual Studio with MSDN なら、TFS もサーバー/CAL が特典として!
  • 拡張機能の追加と管理
    Visual Studio には機能を追加することができ、より使い勝手、生産性の高い、ストレスレスな開発、あなた好みの開発環境にすることができます。ツールメニューにある「拡張機能マネージャ」で、Visual Studio ギャラリーにある多くのユーティリティを導入することができます。
    image

☆ ☆ ☆ ☆ ☆

さてさて、なぜ、業務で開発しているみなさんには、「便利な道具」を使っていただきたいのかの続きです。前述のようにつまらない作業に時間を費やすのではなく、クリエイティブな作業に時間を費やしていただきたいのですが、軽くその例を。

もはや、単体テストをしないで、コードの品質に対する自信であったり、証明をしていないなんてことは、あまりないことでしょう。「単体テストは記述もさることながら、実行や結果の収集も時間がかかるからコストに見合わないのでスキップしている」なんて言い訳はできませんよね?

単体テストは、開発者が日々、頻繁に実施し、コード変更(修正やリファクタリング)の確認とココロの安定のため、コード記述以上に実行されるものです。これにいちいち、手で作業していたり、他のツールを起動して実行したり・・・これだけ、1回あたり5分くらいのロスです(※長沢勝手計算によるw)。これが Visual Studio の中から、実行でき、開発者全員が同じ方法と道具で実行できることを想像してみてください。

同様に、バージョン管理も、本来は、別ツールで行うなどしたくないものです。普通の開発だと、統合開発環境と、バージョン管理ツール、バグやタスクの管理ツール(Excel や BTS)をなんども行き来をしておこなっていますよね?そこにかかる時間と精神的な負担、うっかりミスによる手戻りを考えてみてください。

そう、ひとつひとつの機能で見ると意外と大した違いがないように思えても、プロが使う、いつも使うという観点では、実はえらい違いがでてきます

私が、講演する際に、以下のようなスライドを説明させていただいています:

image

これは、足りない経験や、スキルを「よい道具」で補完するという考え方に基づいています。本来スーパー開発者なら、メモ帳と SDK があれば開発できてしまいます。でも、短い期間でよいものが求められる昨今に、そんなことをしていたらどんなに優秀でも、太刀打ちできません。

ちなみに、この絵に、Visual Studio Express を含めていないのは、私が、単に忘れているか、プロの道具と思っていないからでしょう。

上記の考え方で考えると、能力や経験の少ない方が、Express や Professional で開発業務を行うと、求められる能力に届かないかもしれません。開発現場では経験もスキルもまちまちなのが通常です。開発現場に、開発者に求められている能力を今一度、確認してみてはいかがですか?

私は、Professional でもなく、Premium 以降を強くおすすめします。Premium から開発者が本当に困っている部分に利く機能が追加されています。開発者一人ひとりだけではなく、コードの共同所有、協調作業に適した機能が含まれているのです。ちょっと意識が高い開発現場だと、Visual Studio Professional とサードパーティの専用ツールをいくつかで実現していることが、Visual Studio Premium で実現できます。

主張は、至って簡単で、

「ご自身の能力を最大限に活かす、そして、求められているレベルに到達するために道具を活かす」

これを今一度、意識していただきたいのです。

ながさわ