.NET 3.5は11/07に公開されました。NET3.0は11/06に公開されました。ほとんどの人がまだ.NET 2.0を使用しているのはなぜですか? [閉まっている]

StackOverflow https://stackoverflow.com/questions/157055

質問

人々は、次の問題に対する独自のソリューションを開発しています。

  • リモート情報交換のための一貫したメッセージングフレームワーク(webservices、rpc、...)
  • 有限状態マシンやワークフローなどの状態管理のためのSDK
  • 認証フレームワーク
  • その他多数。

2年以上の間、Microsoftは、ワークフロー、通信、認証、およびWebアプリを構築する新しい方法の基盤と呼ばれる、一貫性があり十分に文書化された.NET 3.0を提供しています。

ただし、...人々は、データベースに対処するための一貫したオブジェクトリレーショナルマッピング、および実行時にクラスとメソッドを動的に拡張する独自の技術を備えた独自のフレームワークを構築していました(顧客がアプリケーションの動作をカスタマイズできるようにするためなど)。

1年以上のために、Microsoftは.NET 3.5を提供しています。これには、特にLINQが含まれているため、コードを拡張し、コードを簡単に書くことができる優れたORMと素晴らしい手段があります。

しかし、周りを見て...それは大部分がまだ.NET 2.0を使用しているかのようです。 WebサイトはプレーンASP.NETで作成されます。デスクトップエクスペリエンスは、CSS、JavaScript、およびHTMLの組み合わせで引き続き実現されます。実行可能ファイルは単純な古いWinFormsを使用しており、ワークフローはデリゲート、イベント、do / while、switch / caseで実装されています。

あまり議論することなく、次の質問の具体的な理由を見てうれしいです:

あなたの意見では、なぜ人々は.NET 3.5トレインに飛び乗らないのですか?

役に立ちましたか?

解決

  1. 新しいことを学ぶ必要があり、多くの「ただの仕事」のLOB開発者は煩わされません。
  2. レガシーコードへの投資、カスタムシステムは必要ないかもしれませんが、動作します。既存のシステムが壊れていない場合、フレームワークベースのシステムを使用するように再コーディングするのは時間の無駄です。
  3. 開発ソフトウェアのコスト。 .net 3.xで効果的にコーディングするには、VS2008が本当に必要です。開発者のチーム全体を2005年からアップグレードするには、費用がかかる場合があります。
  4. 安定性。 2.0は1.1フレームワークの進化版です。 3.0および3.5には、新しいv1テクノロジーが含まれています(リストされているもの)。開発者は、ジャンプする価値があることをマネージャーに正当化する前に、テクノロジーが自分自身を証明するのを見るのが好きです。 Windowsの採用と同様に、v2の3.xテクノロジーが含まれるので、VS2005からVS2010に、そして.net 2.0から.net 4.0に行く人が増えるでしょう。

他のヒント

Java 1.4でコードを作成しているJava開発者と同じ理由で、変更は高価であり、新しいテクノロジーを使用するよりもGet It Doneが非常に重要であり、多くの場合無意味である企業内で作業をしている人々にとっては

p>

多くの内部作業では、古いアプリケーションを新しい環境で動作するようにアップグレードする理由はほとんどありません。

また、大企業はさまざまな安定性の懸念のために何らかの変化を好みませんが、新しいテクノロジーが十分に安定していない、十分に知られていないという理由だけで、新しいソリューションで古いテクノロジーを使用する決定を下していることに気付くでしょうそれについて、またはサポートに依存しているソフトウェアが十分ではない。

そして、私はそれを使ったことがないので言うことができませんが、.NET 2は人々のニーズに十分であり、.NET 3.5は学習を保証するのに十分なものを提供しない場合があります/変化が伴います。最先端の企業でも大丈夫です。

Webホスティング会社が十分にサポートされていないため。

新しいWebアプリケーションを開発していますが、ホスティング会社はASP.NET 2.0サポートのみを提供しています。

Windows 2000のサポートが必要な場合は、.NET 2.0を使用する必要があります。とにかく悪くはありません。

私は自分自身と会社のために話すことができます。まだ使用していません。 どうして?まあ

1 -ほとんどのユーザーはすでにNET 2.0フレームワークをインストールしています。別のフレームワークをインストールする必要はありません。
2 -それは新しいものだからといって変更しません。何らかの価値を追加する必要があります。
3 -変更を実際に完済することは、膨大な量の作業を意味します。再び、完済しなければなりません。
4 -バグや新しい問題に関して、その価値があるかどうか(1年では十分ではない)を判断するのはまだ早い。しかし、それは価値があるようです。

.NET 3.0には、新しいプロジェクトには最適なものが含まれていましたが、既存のプロジェクトの多くは更新のためにこれを受け入れたくないものがあります。

これについて:

  

1年以上にわたり、Microsoftは.NET 3.5を提供しています

2007年11月は1年以上前のことです。はい。.NET3.5は素晴らしく、LINQ(特にLINQ to Objects)とC#3.0の利点を大好きですが、変更には常にコストがかかります。まず、Visual Studio 2008を展開するコストがかかります。その後、すべてを.NET 3.5(現在は.NET 3.5SP1)に対して再テストするコストがかかります。次に、すべてのサーバーに.NET 3.5を展開するコスト、またはすべてのクライアントに.NET 3.5を必要とするコストがあります。ああ、すべての新しいテクノロジーを生産的に使用することを実際に学習するコストは言うまでもありません。

それは起こりますが、非常に高速であることを期待すべきではありません。

@ SCdF が言ったことにもう1つ注意を追加します。開発者中心(つまり、マジョリティ)は、通常、新しいテクノロジーに対して非常に抵抗力があります。

IT部門は、開発者の観点から遅れをとる傾向があります。なぜなら、彼らは新しいシステム/ハードウェアへのアップグレードがビジネスの価値を認識していないためです。 ITは、.Net 3.5へのアップグレードを試みている開発者に対処するには、セキュリティとメンテナンス(実際のまたは単に認識されている)の処理に忙しすぎます。

開発者は、ビジネス価値について他の部門とコミュニケーションすることでも悪名高い。開発者が.Net 3.5にアップグレードしてITまたはビジネスを獲得しようとすると、ドルやセントを話す代わりに、自動化されたワークフローとXML、およびWebサービスについて話し始めます。

Microsoftの

ブライアンプリンスは" Soft Skills"に関する非常に優れたプレゼンテーションを提供しています。それはこれのいくつかに行きます。彼にきちんと尋ねると、彼はあなたの会社に来て、プレゼンテーションをするかもしれません:)

以前の雇用主のマネージャーに、なぜ彼がまだ切り替えを行わなかったのか尋ねたところ、答えは「3つのフレームワークをサポートする必要はありません」でした。 1.1、2.0、3.5を意味します。

3.5へのアップグレードは、1.1から2.0への切り替えと同じではないことを説明しました(3.5は、1.1から2.0のような更新されたDLLではなく、異なるdll(Core.dll)を使用する2.0の拡張です)。

この考え方を使って多くのマネージャーを見ることができるので、彼らに知らせるのはあなた次第です!

2.0は機能しますか?新しいものは素晴らしくてクールだと思いますし、最新の情報を入手したいのですが、もしそれがうまくいけば、多くの場合、あなたが持っているものに固執することを決定します。 DOS 6.2xプログラムを何年も(2004年まで)実行しているショップをサポートし、それについて頭を悩ますために使用しました。しかし、その日の終わりには、前進するために何かを使うという説得力のあるビジネス上の理由はありませんでした。

他の理由もあると思います。

すべての新しいプロジェクトでは、3.5(または最新のフレームワーク)を使用しようとします。しかし、すべての古いサイト、それが機能するときに顧客がアップグレードの費用を支払うのはなぜですか?

3.5で特定のテクノロジーが必要な場合は、アップグレードしますが、そうでない場合は。壊れていないものを修正しないでください。

「マジョリティマーケットシェア」を獲得するまでに2.0がどのくらいの期間使用されたかを知りたいと思います。 -つまり、1年か2年はあなたと私にとって長い時間のように聞こえるかもしれませんが、新しい言語をリリースしなければならないことを覚えておく必要があります。 「販売」するのに十分経営陣に。また、VS2005は「十分」でした。かなりの人にとって、VS2008にアップグレードして新しい言語バージョンをサポートするには費用がかかります。お金だけでなく時間もかかります。

ほとんどの人がまだWindows XPを使用しているのと同じ理由!

数年前、私は興味深い状況にありました。会社のASMX Webサービスの元の著者として、バージョン管理について質問されました。手作りのXSDに基づいてサービスを提供しており、XSDをそれほどよく理解している人がいないという懸念が特にありました。

WCFはカスタムXML形式を必要とせず、XSDを使用する必要もないため、WCFを使用することをお勧めします。コードでデータコントラクトを定義するだけです。

.NET 3.5 SP1が.NET 2.0のいくつかのサービスパックに加えていくつかの新しいアセンブリであると説明した後でも、彼らは私が暴力的になろうとしているように見えました。明らかに、.NETバージョンのアップグレードは時間がかかり、費用のかかるプロセスです。 .NET 1.1または.NET 2.0の移行からの教訓。

WCFへの移行に関する正しい方向への1つの小さなステップ: ASMX Webサービスは“ Legacy Technology” です。

政府の処理では、一部の環境では3.5フレームワークがまだ承認されていないため、2.0または3.0を使用する必要があります。

最大の課題は、ビジネスへのアップグレードを正当化することです。特に、現在、世界的な不況に陥っています。

3.5には、プロジェクト(おそらくグリーンフィールド)がなくては絶対にできない特定の利点または技術が必要です。それをプッシュします。

私は大企業でその事例をまとめようとしているので、ビジネス上の利益は現状を上回る必要があります。現在の状況では、特に才能のある候補者のプールが大きくなっているため、「才能の維持」でもそれを減らすことはできません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top