.NET 3.5 于 11/07 发布 .NET 3.0 于 11/06 发布。为什么大多数人仍在使用 .NET 2.0?[关闭]

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

人们一直在开发自己的解决方案来解决以下问题:

  • 用于远程信息交换的一致消息传递框架(webservices、rpc...)
  • 用于有限状态机和工作流等状态管理的 SDK
  • 身份验证框架
  • 以及更多。

对于超过 两年 现在,Microsoft 提供了 .NET 3.0,其中包含一致且有据可查的所谓工作流、通信、身份验证基础以及构建 Web 应用程序的新方法。

然而,...人们仍在构建自己的框架,使用一致的对象关系映射来处理他们的数据库,使用自己的技术在运行时动态扩展类和方法(例如,让客户能够自定义应用程序行为)。

为了 一年多 现在,Microsoft 提供了 .NET 3.5,其中包含 LINQ,因此提供了一个出色的 ORM 以及扩展代码并使编写代码变得更加容易的绝佳方法。

但环顾四周...似乎大多数人仍在使用 .NET 2.0。网站是用纯 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 的采用一样,您可能会看到更多的人从 VS2005 转向 VS2010,从 .net 2.0 转向 .net 4.0,因为 .net 4.0 将包含 3.x 技术的 v2。

其他提示

出于同样的原因,我认识仍然使用 Java 1.4 进行编码的 Java 开发人员,更改的成本很高,而且对于在公司内部工作的人来说,完成工作比使用新技术要重要得多,更改通常毫无意义。

对于许多内部工作来说,没有理由升级旧的应用程序以在新的环境中工作。

此外,大公司不喜欢出于各种稳定性问题而进行任何形式的改变,您仍然会发现他们决定在新解决方案中使用旧技术,仅仅是因为他们认为新技术不够稳定,对此了解不够或他们所依赖的软件没有足够的支持。

而且,我从未使用过它,所以我不能说,但情况可能是 .NET 2 足以满足人们的需求,而 .NET 3.5 没有提供足够的功能来保证学习/改变参与其中,即使对于那些愿意采用更前沿技术的公司也是如此。

因为它没有得到网络托管公司的良好支持。

我正在开发一个新的 Web 应用程序,但我的托管公司仅提供 ASP.NET 2.0 支持。

如果您想要 Windows 2000 支持,则必须继续使用 .NET 2.0。无论如何,情况并没有那么糟糕。

我可以代表我自己和我的公司发言。我们仍然不使用它。为什么?出色地

1- 我们的大多数用户已经安装了 NET 2.0 框架。无需安装另一个框架。
2- 我们不会仅仅因为它是新事物而改变。它必须增加一些价值。
3- 要真正获得改变的回报将意味着大量的工作。同样,它必须得到回报。
4- 就错误和新问题而言,现在判断是否值得(一年还不够)还为时过早。不过,这似乎值得。

.NET 3.0 包含的内容对于新项目来说非常有用,但许多现有项目不想为了更新而采用这些内容 - 集成它们中的任何一个都需要大量的返工。

至于这个:

Microsoft 提供 .NET 3.5 已经一年多了

2007 年 11 月与一年前相比如何?是的,.NET 3.5 很棒,我 LINQ(特别是 LINQ to Objects)和 C# 3.0 的优点 - 但更改总是会带来成本。首先,部署 Visual Studio 2008 需要成本。然后是针对 .NET 3.5(现在是 .NET 3.5SP1)重新测试所有内容的成本。然后是向所有服务器部署 .NET 3.5 的成本,或者在所有客户端上要求 .NET 3.5 的成本。哦,更不用说实际学习以富有成效的方式使用所有新技术的成本了。

它会发生,但你不应该指望它会发生 非常 快的。

为 @ 内容再添加一条注释SCdF 说,任何拥有大量 IT 员工的公司都不是以开发人员为中心的(即大多数人)通常对新技术有强烈抵制。

从开发人员的角度来看,IT 部门往往会落后,因为他们看不到为了保持领先而升级到新系统/硬件的商业价值。IT 部门太忙于处理安全和维护(真实的或只是感知的),无法与试图让他们升级到 .Net 3.5 的开发人员打交道。

众所周知,开发人员不善于与其他部门就业务价值进行沟通。当开发人员试图让 IT 或业务部门升级到 .Net 3.5 时,他们开始谈论自动化工作流程、XML 和 Web 服务,而不是谈论金钱。

布赖恩·普林斯 Microsoft 的“软技能”有一个非常好的演示,其中涵盖了其中的一些内容。如果你善意地邀请他,他可能会来你的公司并出席:)

我问前雇主的一位经理为什么还没有进行转换,答案是“我不想支持三个框架”,即 1.1、2.0、3.5。

我解释说,升级到 3.5 与从 1.1 切换到 2.0 不同(3.5 是使用不同 dll (Core.dll) 的 2.0 扩展,而不是像 1.1 到 2.0 那样更新的 dll)。

我看到很多经理都在使用这种思路,所以你可以让他们知道!

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:只需在代码中定义数据契约即可。

即使在我解释了 .NET 3.5 SP1 相当于 .NET 2.0 的几个服务包以及一些新程序集之后,他们仍然看着我,就像我即将变得暴力一样。 显然,升级 .NET 版本是一个漫长且昂贵的过程. 。.NET 1.1 或 .NET 2.0 迁移的经验教训。

就迁移到 WCF 而言,朝着正确方向迈出了一小步:看 ASMX Web 服务是一项“传统技术”.

对于政府处理,3.5 框架尚未批准用于某些环境,因此您被迫使用 2.0 或 3.0。

最大的挑战是证明业务升级的合理性,尤其是现在我们正处于全球经济低迷时期。

3.5 中必须有您的项目(可能是未开发项目)绝对离不开的特定优势或技术,才能推动它。

我正试图在一家大公司中整理出一个案例,因此商业利益必须超过现状。在当前环境下,“留住人才”也无济于事,尤其是在候选人数量不断增加的情况下。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top