.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將互不干涉地共存。
◆ 納德拉的計謀
我們看到納德拉上任后實施的一系列舉措讓微軟在潛移默化中得到改變,“移動為先、云為先”的兩個“先”字在這段日子里得到了明確的執行。從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!”的時代已成為過去,如今的微軟則讓人看到了蓋茨時代的狡黠。