源对开发者来说意味着什么?

2018-11-27 12:41

源对开发者来说意味着什么?



  在那些热闹非凡的程序员圈子和论坛社区里,围绕着.NET开源的消息,码农之间的争论已经升级到java与.NET开发者的各种恩怨情仇,甚至延伸至Linux与Windows在服务器端的优劣之争。一些积郁已久的微软死忠和以.NET为生计的程序员甚至喊出了“java去死”的口号。

  .NET开源意味着什么?为什么这一消息对于开发者犹如重磅炸弹?它对微软及业界将产生什么影响?带着三个问题让我们先从程序员世界的那些破事儿说起。

源对开发者来说意味着什么?

  计算机语言的发展经历了机器语言、汇编语言、高级语言以及C、C++、java等翘楚在历史上闪耀过后,聪明的灵长类动物人类将编程语言做成了各种简便易学易用的开发工具和开发平台,利用这些工具平台你只须像搭建高乐积木般就能码出自己想要的东西,当然你还得会削积木(掌握语言)。

  后来经过时间演化形成了两大开发阵营——java和.NET,简单说前者是跨平台的开发工具,可以在不同操作系统上进行开发、运行、维护;而后者是跨语言的开发平台,允许使用多种编程语言结合其工具进行开发,但开发过程和应用程序的运行只能在Windows平台上实现。两者各有优劣,一目了然。

  尽管.NET倚恃他爹微软以实力雄厚、功能强大著称,但自互联网时代特别是移动互联时代微软固守Windows平台的局限性,其自然被灵活机动跨平台的java抢尽风头。然而纳德拉显然不是吃素的,.NET开源了,不仅支持跨平台开发,重要的是跨平台运行,这使得java虚拟机的优势荡然无存。

  历史证明,开源与商业软件就像两股相互抑制的力量,它们是一种此消彼长的关系,但绝不会完全吞并另一方。

  过去十几年,java顺应互联网发展趋势以其卓越的通用性、安全性、平台可移植性赢得了全球开发者的青睐,并积累起庞大的簇拥人群。然而却鲜有人知道java起步之初就受到了来自微软与Adobe的双向绞杀而一度濒危,艰难存活下来之后,其真正的发家则在于移动时代的到来,安卓平台给了它广阔空间和涅槃之力。

  谷歌公司手持java利器,号召开源势力对微软穷追猛打的这些年真的把微软逼急了。

  微软新帅纳德拉上任后的三把火,让谷歌明白了他们正在挑衅一只受了轻伤的狮子,而这只狮子正在重振雄风。事实证明微软在多年之前就已拥抱开源,参与Linux内核贡献并成立开放技术子公司,而今年早些时候对Roslyn编译器的开源亦是其.NET开源大计的前奏。

  甚至一些开源社区的领袖人物也表示不再将微软视为“敌人”,同时他们认为未来.NET与java将互不干涉地共存。

  我们看到纳德拉上任后实施的一系列举措让微软在潜移默化中得到改变,“移动为先、云为先”的两个“先”字在这段日子里得到了明确的执行。从Office跨平台免费到VS跨平台免费以及VS Emulator for Android的发放,微软在跨平台上大做文章并拉拢个人消费者和开发者,表面上似乎丢车保帅采取Windows平台让利策略,实则在暗地里下一盘很大的棋。

  众所周知,苹果依赖品牌溢价而大卖硬件,其封闭的软件生态为诸多开发者所诟病,结果就是导致了安卓的野蛮生长。

  纳德拉似乎看到了谷歌的弱点:尽管安卓系统在智能移动市场垄断地位已现,但业内一股安卓“去谷歌化”的暗流却在蔓延滋生,也就是说谷歌正逐渐丧失对安卓的控制,当年AT&T公司放任UNIX变种发展导致BSD的反超和一枝独秀就是最好的例证。

  纳德拉的新策略致力于将微软的生态核心从Windows转移至Azure云,.NET平台的开放有利于实现微软新生态向安卓平台的渗透,助长安卓系统继续野蛮生长,加速其脱离谷歌的控制。

  在未来,我们或将看到大量优质的.NET应用运行在安卓和iOS平台上,而这一切的背后都将伴随着Azure云的影子。

  不久前,微软市值升至4089亿美元位居全球第二并超过谷歌公司。我们看到微软正逐渐走出PC时代的思维困局,朝着即将到来的下一波移动浪潮布局着有利战略。

  不得不说,继施密特、库克之后,纳德拉是一个不简单的硅谷经理人。那个老鲍用充满激情大嗓门喊着”Web Developers! Web Developers! Web Developers!”的时代已成为过去,如今的微软则让人看到了盖茨时代的狡黠。

  11月13日消息,据国外媒体报道,微软周三公布了.NET开发框架开源计划。公司拟将这长期以来只能运行于Windows系统下的开发环境,通过GitHub开源,以实现跨平台支持Mac OS X和Linux。