.NET开源引发的震动:对java影响深远
为兑现提供跨平台开发体验的承诺,进一步推动“移动为先、云为先”战略。微软于11月12日在纽约宣布将.NET堆栈基于MIT协议开源,并且提供开源保证,托管在Github上,Visual Studio开始支持Android和iOS程序编写并自带Android模拟器。
微软本次开源的内容涉及 .NET Framework Libraries、.NET Core Framework Libraries 和 RyuJit VM,允许开发者编写运行于Mac OS X和Linux 的 .NET程序。此外,微软开始向个人开发者提供免费的Visual Studio Community 2013,相当于原 Visual Studio Professional免费向个人提供。
微软开发平台事业部副总裁S. Somasegar表示:“通过开源Visual Studio和.NET,能让更多的开发者在多种设备和平台上开发及管理应用,也能让现在的.NET开发人员面向更多用户。”
在那些热闹非凡的程序员圈子和论坛社区里,围绕着.NET开源的消息,码农之间的争论已经升级到java与.NET开发者的各种恩怨情仇,甚至延伸至Linux与Windows在服务器端的优劣之争。一些积郁已久的微软死忠和以.NET为生计的程序员甚至喊出了“java去死”的口号。
.NET开源意味着什么?为什么这一消息对于开发者犹如重磅炸弹?它对微软及业界将产生什么影响?
◆ Java与.NET两大阵营
计算机语言的发展经历了机器语言、汇编语言、高级语言以及C、C++、java等翘楚在历史上闪耀过后,聪明的灵长类动物人类将编程语言做成了各种简便易学易用的开发工具和开发平台,利用这些工具平台你只须像搭建高乐积木般就能码出自己想要的东西,当然你还得会削积木(掌握语言)。
后来经过时间演化形成了两大开发阵营——java和.NET,简单说前者是跨平台的开发工具,可以在不同操作系统上进行开发、运行、维护;而后者是跨语言的开发平台,允许使用多种编程语言结合其工具进行开发,但开发过程和应用程序的运行只能在Windows平台上实现。两者各有优劣,一目了然。
尽管.NET倚恃他爹微软以实力雄厚、功能强大著称,但自互联网时代特别是移动互联时代微软固守Windows平台的局限性,其自然被灵活机动跨平台的java抢尽风头。然而纳德拉显然不是吃素的,.NET开源了,不仅支持跨平台开发,重要的是跨平台运行,这使得java虚拟机的优势荡然无存。
◆ 纳德拉:.NET开源对java影响深远
历史证明,开源与商业软件就像两股相互抑制的力量,它们是一种此消彼长的关系,但绝不会完全吞并另一方。
过去十几年,java顺应互联网发展趋势以其卓越的通用性、安全性、平台可移植性赢得了全球开发者的青睐,并积累起庞大的簇拥人群。然而却鲜有人知道java起步之初就受到了来自微软与Adobe的双向绞杀而一度濒危,艰难存活下来之后,其真正的发家则在于移动时代的到来,安卓平台给了它广阔空间和涅槃之力。
如今,java在服务器端和手持设备领域已如日中天。谷歌公司手持java利器,号召开源势力对微软穷追猛打的这些年真的把微软逼急了。
微软新帅纳德拉上任后的三把火,让谷歌明白了他们正在挑衅一只受了轻伤的狮子,而这只狮子正在重振雄风。事实证明微软在多年之前就已拥抱开源,参与Linux内核贡献并成立开放技术子公司,而今年早些时候对Roslyn编译器的开源亦是其.NET开源大计的前奏。
甚至一些开源社区的领袖人物也表示不再将微软视为“敌人”,同时他们认为未来.NET与java将互不干涉地共存。
不久前,微软市值升至4089亿美元位居全球第二并超过谷歌公司。我们看到微软正逐渐走出PC时代的思维困局,朝着即将到来的下一波移动浪潮布局着有利战略。
不得不说,继施密特、库克之后,纳德拉是一个不简单的硅谷经理人。那个老鲍用充满激情大嗓门喊着"WebDevelopers!WebDevelopers!WebDevelopers!"的时代已成为过去,如今的微软则让人看到了盖茨时代的狡黠。