14


5

私は多くの人々が彼らのプロジェクトの要件として.NET 2.0あるいは1.1さえ持っているのを見ます。 私自身の職場では、最新かつ最高の.NETフレームワークにアップグレードすることに対する懐疑論もたくさんあります。

プログラマーとして、私は、新しいフレームワークでこれをもっと簡単にすることができたことを知っているなら、古いフレームワークで働くことは非常にイライラすると思います。 私はたいていベータ版をインストールして遊ぶので、すぐに慣れ親しんだりしているうちに古いやり方を忘れるので、古い版で作業するという制約があるときに忘れていたことを再学習するのは面倒です。

互換性を保つ必要があるときに古いバージョンを使用する理由は何ですか。また、アップグレードするように人々にどのように納得させることができますか?

14 Answer


17


まず、ビジネスのアップグレードが遅い理由を理解してください。

コンピュータシステムは、ほとんどの企業にとって戦略的な利点ではありません。 それらは必要なサービス機能です。

それらが必要なので、それらを壊すことは非常に高価になることがあります。 それらは戦略的な利点ではないので、少し早く開発できることは大きな利点ではありません。

あなたは、ある会社が最新のバージョンにアップグレードし続けるためにリソースを費やすことを提案しています。 ほとんどの企業にとって、これは勝利ではありません。 しばらくの間彼らがそこにいた後に物事を採用するのはより安全です。 彼らはいくつかの逆さまを逃すが、悲惨な不利益の可能性を避けます。

あなたが望むなら、先に進んで最新かつ最高のものにアップグレードすることを提案しなさい、しかしあなたは(技術的とは対照的に)ビジネスにそれを入れるほうがずっと効果的でしょう。 それがあなたにとってどれほど効果的であるか、そしてそれ故に会社が何を節約できるかを定量的に見つけ出すようにしてください。 (彼らはあなたが構成する数字には注意を払わず、おそらくよく知られている誰かが構成するものに注意を払うかもしれず、研究によって裏付けられた何かを信じる可能性がより高い。)欠点を認め、ありそうなコストが何であるかを示すなるだろう、そして欠点を制限する方法を見つける。 意思決定者はあなたがそれを提案するよりもこの種のことを却下する経験をずっと多く持っているので、何かを偽造することには細心の注意を払ってください。

開発者が最新のものを好むとは言わないでください。そうしないと、会社に新しいおもちゃの代金を払ってほしいと思うようになり、多くの信頼を失います。

あなたは時々あなたが欲しいものを手に入れることができます、しかしそれはそれを求める方法を知るのを助けます。


11


言及されていない理由は、3.5フレームワークがWindows XPより前のバージョンのWindowsにインストールできないことです。

_ サポートされているオペレーティングシステム:Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP _


4


新しいプロジェクトの新しいフレームワークに飛び込む方が簡単です。

既存のプロジェクトでは、新機能を利用するためにある程度の作業が必要です。 多くの場合、これらはプログラマーにとってのみ有益です。 メンテナンス専用のプロジェクトで作業しているときは、肩をすくめて言う必要がある場合があります。


4


私は1.1のプロジェクトを2.0と3.5、そしてまた2.0から3.5に移行しました。

私の経験からわかることは、2.0から3.5へ移行しても全く問題ないということです。 しかし、私は1.1から2.0または3.5へのいくつかのエラープロジェクトに直面しました、それで私は1.1プロジェクトを移行するときに特に注意するように人々に助言しなければなりません。

あなたが2.0で働いているならば、私はそれのために行くと言います。 実行するとプロジェクトが少し早くなり、LINQ :)で遊ぶことができます。


3


ここで私にとっては、それは純粋にお金に関するものです - 2.0は会社のために働いているので、彼らはアップグレードの動機を見ません。

これは珍しいことではないと思います。


2


ソフトウェアを求めている人々が、フレームワークの最新バージョンが何であるかを必ずしも知っているとは限らない可能性があります。

私が見るクライアントのほとんどは技術的なものではなく、欲しい機能を求めているだけです。

NET 1.1 / 2.0を特に要求する人もいますが、3.5を使用すれば作業が簡単で切り替えが簡単にできるため、開発コストが削減されることを彼らに伝えることができます。

何人かの人々は彼らがすでに持っているものとの統合を心配するかもしれません。 すでに持っているものが.NET 1.1で構築されている場合、彼らはすべてを一貫性を保つためにそれに固執したいと思うかもしれません。

あなた自身の職場に関しては、私は担当して、あなたがそれがどれほど違うか、あなたがそれをどのように使うかを学んだらそれがどれほど簡単かを示すデモをすると言いたいです。 .NET 3.5で新しい動的データを使用する方法の素晴らしいスクリーンキャストがありました 私の会社のかなりの数の人々はそれを見た後にインストールされたVSの最新バージョンを手に入れました。 私はそれへのリンクを見つけることができるかどうかを確認しようとします。


2


Scott Hanselmanが3.5 SP1の非互換性についての記事を書きました:

それはバグの小さなリストにのみ適用されますが、結論は以下のとおりです。新しいFrameworkは非常に徹底的なテストを必要とし、5分の作業ではありません。99.99%の互換性があります。ものを見つけるのは難しい。


2


私はすでに非常によく似たものをここに投稿しました。* https://stackoverflow.com/questions/170584/c-20-to-c-30-worth-it [このプロジェクトにとって、C#2.0からC#​​3.0への移行は価値がありますか?] *、そして大多数は互換性があると言っていますが、プロジェクトがすでに進行中であるため、切り替える価値はありません。

あなたが本当にフレームワークに新しいものが欲しいなら、スイッチは正当である、さもなければあなたは何のためにもVisual Studioのためにあなたのすべてのあなたのライセンスを更新する必要があるでしょう。


1


「互換性がある」とは、互換性があるという意味ではありません。 バージョン間で常に重大な変更があります。

また、ほとんどのQA手順では、コードの変更にはそのコードの再テストが必要とされています。 フレームワークを変更すると、コードに対してテスト全体を実行する必要があり、さらに多くの工数がかかることになります。

最新!=最大です。 Vistaに対処しなければならなかった人に聞いてください。

編集:RE Vista …​ リラックス、その一例です! XPでは問題ないが、Vistaではうまくいかなかったことがいくつあるか。 私はWindows 2000を使った後XPに変換するのに苦労しました - 98がどれほど悪かったか覚えていますか? その後は「安全ブランケット」を残したくなかった。 それは実に悪評ではありません。


1


2.0は比較的安定しており、かなり普及しています。 1.1は古いです。つまり、おそらくバグであり、その回避策はよく知られています。 私は2.0がインストールされていないWindowsマシンを見つけて非常に驚いたでしょう。 これらの要因が影響を与える可能性があります。

また、古いバージョンのフレームワークが登場する前に、人々が自分たちの製品の開発を始めたかもしれないと考えてください。 多くの場合、アプリケーションが.NET 2.0アプリケーションの場合、3.xフレームワークには何も必要ないかもしれません。 Visual Studio 2008は2.0フレームワークをターゲットにすることができるので、これらのアプリケーションを「アップグレード」することが差し迫って必要になることはありません。 変更による利点がない場合にすべてがうまく機能することを検証するためのQAの努力には、実際には価値がありません。

最後に、神話があります。 無知であろうとなかろうと人々は友達を信じるのが好きです。 あなたが求める人に応じて、.NET Framework 3.5は50 MB、100 MB、200 MB、または1.82 TBのダウンロードだ。 人々が手元の状況にとって怖いと思われる最大の数を選ぶようです。 これらの人々は、私たち全員を犯罪者や危険にさらす可能性がある、「インターネット」と呼ばれるこの新しい発明の危険性を説いている人々に似ています。 フレームワークは、わずか28 MBでダウンロードできます。 あなたはこれらの日に実質的に1ドルのためにそれほど多くを保持するUSB​​ドライブを手に入れることができます、そして私はより重いPDFファイルをダウンロードしました。