英文原文:Enterprise Developers Stuck on .NET 4.0
每次一有新版本的 CLR 发布,例如 .NET 2.0 和 4.0,开发者更新时都显得颇为无奈。CLR 的更新为运行时的表现带来了各种微妙的变化,这有可能破坏现有代码的运行。例如 DateTime.Kind 属性的变化就是一个灾难,另一个例子就是当后台运行线程抛出未捕获的异常时,会将整个进程中止这一变化。
与之相反,纯类库改变的升级更容易被使用者所接受。当 .NET 3.0 与 3.5 推出后,许多开发者并未选择第一时间就切换至新版本,但他们也不担心接受升级带来的变化。一旦开发者需要某些新版本的特性时,他们可以从容地选择升级。
但对于 .NET 4.5 的接受情况,我们却看到了不太一样的情形。根据一次非官方调查的结果,选择继续使用 .NET 的最主要原因是对 Windows XP 和 Windows Server 2003 的支持。虽然这些颇有年头的老产品已经差不多快要退出历史舞台了,许多公司还是不情愿地选择继续使用它们,以下是人们的一些评论:
出于对 XP 支持的考虑,在可见的未来内,基本上所有企业软件开发者都会继续使用 4.0。
由于客户不愿意升级他们陈旧的硬件设施,今后数年我们还是必须支持 XP,因此我们无法升级至 4.5。当年 Vista 发布之后,我们依然有客户坚持使用 NT 整整一年时间。
唉,为了 Windows 2003 server,我不得不继续使用 4.0。
他们总是这样告诉我:“如果旧机器能满足我们的需求,那何必花钱购买新操作系统的许可呢?”
我对此不敢苟同,但在小企业内,要想说服老板为什么不要继续使用 .NET 4.0 也是件困难的事,因为它本身并没有什么大缺陷。很遗憾,我想我对此无能为力,我不得不继续按照老方式编写代码。
某个开发团队对此的临时方案是,将对客户端操作系统的依赖从他们的架构中移除出去。
我们对此的应对方式,是将更多的实际工作放到服务端,尽量保持一个瘦客户端。最终的目标是完全放弃使用需要部署的客户端,而让浏览器完成所有的工作。
另一个我们所听到的继续使用 .NET 4.0 的原因,是开发者不愿接受 Visual Studio 界面的变化,下一条评论所代表的观点并不少见:
我继续使用 .NET 4.0 的原因,是 4.5 必须使用 Visual Studio 2012 进行开发。我和我的同事们对 VS 2012 的界面实在不感冒。不过看起来 VS 2013 似乎有所改善(不像 VS 2012 那么扁平和色彩单调了),我们大概会很快升级到这一版本吧。