.NET开源了!全世界开发者圈子霎时炸开了锅,笔者第一时间登录CSDN评论占座立马被无数程序员的口水战瞬间淹没。近日,微软公布了.NET开发环境开源计划,开发者可在Windows以外的其他平台上开发.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将互不干涉地共存。