Home > News content

视开源为癌症 微软拥抱癌症是找死还是自杀?

via:博客园     time:2014/11/15 17:30:09     readed:941

这两天大家都在讨论微软开源的事情,作为一名曾经的 Java 程序员,我已经有十年没有碰到代码了,除了”hello World”那句能通往开发世界的问候语外,我已经不会写任何一行代码,但我还是认为微软开源错过了最佳时机,当年微软就被 Java 打的满地找牙,Java 程序员在找工作上也比 .Net 高一头,程序员圈子里一直有一个怪象就是搞 Java 的看不上搞 .Net,双方阵营一直在暗自较劲,特别是 .Net 在一些大型企业商务开发上,由于天生残疾,让很多软件开发商有选择的放弃 .NET,.NET 也被认为是一只关在笼子里的金丝雀,离开微软的池塘就是等死的命。

记得在一个开发论坛上有一个 .NET 的程序员曾无奈的表示:参加个招聘会,看得到好多大公司都要求精通 Java,心理特别不是滋味,可惜上大学就学了 .NET,而 Java 到大三才开,并且草草地只讲了些基本知识。有时我就在想难道当初选择 .NET 真的错了吗?Java 确实比 .NET 存在很多优势。开源、跨平台、免费、开发工具也有免费的。还有万一严厉打击用盗版的 WINDOWS 的时候,大家都改用 linux,.NET 程序员是不是就要失业啦。不知道 .NET 什么时候也能够开源呀。

可能这个兄弟有点过分杞人忧天,但是 .NET 的确因为不能跨平台受限,下面这种图表就可以说明一切。

有业内人士就曾说过,微软本来是一个玩家却因为苹果的异军突起而变成一个跟随者,特别鲍尔默执政时期的错误决策,一直强调“硬件和服务”,耽搁了微软一些优势项目发展的黄金时期,.NET 上没有多大进展,因为微软在那段时间没有让自已的优势更强,只是让劣势更劣,当微软的新 CEO 纳德拉上任之后,才重新调整微软的位置,进一步弱化“设备和服务”的概念,希望以“移动和云优先”重塑自已玩家的地位,所以我们看到微软的内部组织机构的调整,以及近期微软一系列的开放政策,包括将 Office 365 免费和 .NET 开源。

过去一直视开源为癌症的微软,难得的敞开双手大力拥抱开源。将更多 .NET 的部分纳入开源计划之中,包含整个 .NET 服务器端的核心类别,ASP.NET 5.0、.NET Common Language Runtime(CLR)、Just-In-Time Compiler、Garbage Collector 以及 Base Class Libraries 等,都在开源的范畴之中。而微软也将会实作 Linux 与 Mac 版本的服务器端 .NET Runtime,这将使 ASP.NET 5.0 的应用程序,可以跨平台的在 3 大主要操作系统中执行。

简单来说,本次微软总共开源了 .NET 3 大区块,而除了 .NET Framework 4.6、.NET Core 5,还有 Runtime 跟编译平台等。

这些作为将使开发者能够建设在 Windows Server 以及 Linux 运作的 .NET 服务器以及云端应用程序。不过,值得注意的是,.NET 客户端的类别将不会开源,像用户接口技术 Windows Presentation Foundation(WPF)以及 Windows Forms,微软目前并无开源的计划。

微软开发部副总裁S. Somasegar 表示,微软想建立更健全的开发者社区。虽然 .NET 服务器端开源计划在几个月后才会真正实施,但微软已经决定在 Github 公开他们的原代码。

在这之前,微软早在 2014 年 4 月时宣布,透过 NET 基金会,已将众多开发工具栏入开源计划之中,例如 .NET 编译平台 Roslyn、ASP.NET、.NET Micro Framework,还有 VB 与 C# 等开发语言。

不过,.NET 服务器端的核心类别的开源以及 .NET 开发工具的开源,究竟之后会造成哪些影响及改变,需要持续的观察,但是可以确定的是,微软不光只是喊出拥抱开源的口号,而且还逐步的实践中。

有很多人认为微软 .NET 开源的矛头直指 Java,多年以来,由于 .NET 依附于 Windows 平台,无法与 Java 在跨平台环境中进行竞争。

近年来随着移动互联网和云计算的蓬勃发展,微软在开发者社区的人气一路走低,虽然 .NET 支持C++、C#、VB 和 Python 等多种编程语言,而且也为关键企业应用开发提供数据库互动等功能,但是在一些新的技术趋势中,例如最近开始流行的 Linux 服务器上的容器化云计算开发技术,微软开始落伍。

.NET 的开源,意味着微软将彻底走出封闭的操作系统生态,与云端开源技术实现融合,例如让 .NET 服务在 Docker 容器中运行。这对于 600 万人心浮动的微软开发者来说,相当于一副定心丸。

.NET 的开源,是微软正式告别 PC 时代的另外一个标志性事件,微软新任首席执行官 Satya Nadella 信奉跨平台策略,主张以开发者而不是 Windows 为中心重构微软的软件和云基础架构。

另外据悉,微软正与开源社区 Mono 紧密合作,在微软宣布 .NET 开源之前,Mono 是实现在非 Windows 操作系统中应用 .NET 的主要开源项目。此举显示微软正在尽一切可能稳定人心,壮大 .NET 开源队伍。

微软相关负责人表示,微软将 .Net 进一步开源的决定并不是心血来潮,而是酝酿了几年的结果。 可见,微软最被逼的死胡同的一个决策,但是微软的确错过了开源的最佳时机,但对于微软的开发者来说,微软的开源就像一场及时雨让他们相信微软会越来越好。

China IT News APP

Download China IT News APP

Please rate this news

The average score will be displayed after you score.

Post comment

Do not see clearly? Click for a new code.

User comments

Related news