VisualStudioをアップグレードしないと回ってくる「ツケ」について考えるとき僕の語ること
VisualStudioという統合開発環境(IDE)で仕事をしています。
Microsoft Visual Studio ホームページ - Visual Studio
2014年7月現在の最新バージョンはVisualStudio2013 Update2です。
初めてインストールしたバージョンは、VisualStudio2005。
入社してからずっとこのIDEで開発していますが、入社から10年、西暦は2014年にもなり、OSはWindows8.1をインストールしているPCに、いまだにVisualStudio2005をインストールしなければならない状況があります。
今回は、古いVisualStudioを使っていると払わされるツケについて語ります。
アップグレードはメジャーバージョンアップのタイミング
それもこれも、
「VisualStudioのバージョンを上げるタイミング=メジャーバージョンアップのタイミング」という暗黙知
があり、僕も質問するまで知らなかったんですが、そういうものだ。と。俺はそうしてきた。と。
さらに拍車をかけるのが、小さな仕様追加や、細かな不具合修正はマイナーバージョンアップで対応しますし、製品が増えてくると、大きな仕様追加とか、機能変更みたいなものは無く、開発環境も「動いてるものを壊すな」という、技術書のダメな方の例に出てくる展開で、アップグレードされないプロジェクトがじわりじわりと累積。
VS2010もVS2012もインストールしなければならない
VSというのはVisualStudioの略称です。いきなり略しました。落ち着いてください。
- アップグレードしないプロジェクトは溜まっていく
- VSの新バージョンはリリースされる
- 新規プロジェクトは新バージョンで始まる
- つまり。。。
僕のPCには、3つのバージョンのVS(2010/2012/2013)がインストールされています。 落ち着いてください。VM Ware上で立ち上げているWindows7マシンにはVS2005もインストールされているんです。
デス'インストール'マーチ
アプリケーションのメンテナンス作業のたびに、VSのインストール作業が付いてくるというデスインストールマーチが始まります。\(^o^)/
「統合開発環境」を4種類もインストールするのは、一晩考えたんですけどおかしいですよ。
なにがアップグレードを妨げているのか
その前にアップグレードに必要な作業を挙げます。
- 新VSにプロジェクトの作成
- 旧VSのソースを、新VSに移行
- ビルド→エラー→修正を繰り返す
- プロジェクトで使用しているライブラリを新VSでリビルド
- ビルドエラーがなくなったら動作確認
まあ。なんというか特に難しいこともないんです。 ですが、前述の「動いてるものを壊すな」という意識は、新しい開発環境で得られるメリットよりも高く厚く、ででん!と立ちふさがってくるんですね。
新VSで開始されたプロジェクトも増えてきているので、移行に際してのリスクは、古いバージョンを使い続けることによるリスクよりも、すでに軽くなっているはずなのです。
VSをアップグレードしたい3つの理由
- 最新の機能が使える(ネイティブ テストプロジェクト)
- 動作が軽快・安定
- ディスクスペースの節約
1. 最新の機能が使える(ネイティブ テストプロジェクト)
VS2010からだったと思いますが、ネイティブ(C++)プロジェクトでも、テストフレームワークが使用可能になりました。つまりテスト駆動開発(TDD)ができるようになったのです。
それまでは、Googleのテストフレームワーク(googletest)を使っていて、社内向けにgtestスゲーす!やりましょう!なプレゼンもしました。誰も続いてくれませんでしたが。
TDDについては、賛否分かれていますが、「古いアプリケーションのコードを触る時ほどテストを書きたい」とおもいます。これは「仕様化テスト」に近い使い方だと思いますが、仕様書なんか無いけどコードにタッチしなくちゃいけない。でも壊れたらどうしよう。という時に便利なんです。
VS2005じゃできない!
2. 動作が軽快・安定
VS2005とVS2013を比べた時、お互いがやっている「処理の重さ」はVS2013のほうが重いはずです。 ただ、VS2005はマルチコアを知りませんし、GPUを使ってCPU負担を軽減する方法も知らない時代のアプリケーションです。
つまり、CPU、GPU、マルチコアでの並列処理をうまくできているVS2013が動作が軽快で、作業効率も上がるのです。 もちろんそれなりのPCスペックを要求しますが、最新だからこその強みがあります。
VS2005はWindows8.1の環境でビルドすると、ビルドエラーとなる報告があったのでVM WareのWindows7にインストールするという安定性も低いです。
3. ディスクスペースの節約
- VS2013(3.0GB)
- VS2012(2.6GB)
- VS2010(1.9GB)
悲痛です。7.0GBを超える容量がVSをインストールしただけで無くなります。
それよりさらに恐ろしいのは、Cドライブの直下にできる、Installer
、WinSxS
というフォルダーに互換性のためのファイルが何GBも累積していくことです。
115.0GBのCドライブで、Installer(18.4GB)
、WinSxS(6.6GB)
でした。莫迦です。
もちろんVS関連だけのファイルではありませんが、1つで済めばこの容量はグッと節約できるのは疑いようがありません。
僕のCドライブはあと1.73GB・・・。
まとめ
統合開発環境はしっかり1つに統合しましょう。
アップグレードを怠っていると、溜まりに溜まったツケが大きく、やりたくない仕事(インストール~環境構築)が増えて開発者は不幸になります。
マズイ!とおもったときには大抵手遅れな場合がおおいので、イヤな匂いを嗅ぎ取れる嗅覚と、それを指摘し、よりよい社内環境を構築できるように個人レベルでアンテナをはっておくようにしましょう!
そして、アップグレードの件、もう一回トライしようぜ俺。