.NET開源了!全世界開發(fā)者圈子霎時(shí)炸開了鍋,筆者第一時(shí)間登錄CSDN評(píng)論占座就立馬被無數(shù)程序員的口水戰(zhàn)瞬間淹沒。近日,微軟公布了.NET開發(fā)環(huán)境開源計(jì)劃,開發(fā)者可在Windows以外的其他平臺(tái)上開發(fā).NET應(yīng)用程序,同時(shí)微軟承諾將對(duì)這些平臺(tái)提供.NET應(yīng)用的運(yùn)行環(huán)境及框架支持。
在那些熱鬧非凡的程序員圈子和論壇社區(qū)里,圍繞著.NET開源的消息,碼農(nóng)之間的爭論已經(jīng)升級(jí)到j(luò)ava與.NET開發(fā)者的各種恩怨情仇,甚至延伸至Linux與Windows在服務(wù)器端的優(yōu)劣之爭。一些積郁已久的微軟死忠和以.NET為生計(jì)的程序員甚至喊出了“java去死”的口號(hào)。
.NET開源意味著什么?為什么這一消息對(duì)于開發(fā)者猶如重磅炸彈?它對(duì)微軟及業(yè)界將產(chǎn)生什么影響?帶著三個(gè)問題讓我們先從程序員世界的那些破事兒說起。
◆ java與.NET兩大陣營
計(jì)算機(jī)語言的發(fā)展經(jīng)歷了機(jī)器語言、匯編語言、高級(jí)語言以及C、C++、java等翹楚在歷史上閃耀過后,聰明的靈長類動(dòng)物人類將編程語言做成了各種簡便易學(xué)易用的開發(fā)工具和開發(fā)平臺(tái),利用這些工具平臺(tái)你只須像搭建高樂積木般就能碼出自己想要的東西,當(dāng)然你還得會(huì)削積木(掌握語言)。后來經(jīng)過時(shí)間演化形成了兩大開發(fā)陣營——java和.NET,簡單說前者是跨平臺(tái)的開發(fā)工具,可以在不同操作系統(tǒng)上進(jìn)行開發(fā)、運(yùn)行、維護(hù);而后者是跨語言的開發(fā)平臺(tái),允許使用多種編程語言結(jié)合其工具進(jìn)行開發(fā),但開發(fā)過程和應(yīng)用程序的運(yùn)行只能在Windows平臺(tái)上實(shí)現(xiàn)。兩者各有優(yōu)劣,一目了然。
盡管.NET倚恃他爹微軟以實(shí)力雄厚、功能強(qiáng)大著稱,但自互聯(lián)網(wǎng)時(shí)代特別是移動(dòng)互聯(lián)時(shí)代微軟固守Windows平臺(tái)的局限性,其自然被靈活機(jī)動(dòng)跨平臺(tái)的java搶盡風(fēng)頭。然而納德拉顯然不是吃素的,.NET開源了,不僅支持跨平臺(tái)開發(fā),重要的是跨平臺(tái)運(yùn)行,這使得java虛擬機(jī)的優(yōu)勢蕩然無存。
◆ .NET開源對(duì)java的影響
歷史證明,開源與商業(yè)軟件就像兩股相互抑制的力量,它們是一種此消彼長的關(guān)系,但絕不會(huì)完全吞并另一方。
過去十幾年,java順應(yīng)互聯(lián)網(wǎng)發(fā)展趨勢以其卓越的通用性、安全性、平臺(tái)可移植性贏得了全球開發(fā)者的青睞,并積累起龐大的簇?fù)砣巳骸H欢鴧s鮮有人知道java起步之初就受到了來自微軟與Adobe的雙向絞殺而一度瀕危,艱難存活下來之后,其真正的發(fā)家則在于移動(dòng)時(shí)代的到來,安卓平臺(tái)給了它廣闊空間和涅槃之力。如今,java在服務(wù)器端和手持設(shè)備領(lǐng)域已如日中天。
谷歌公司手持java利器號(hào)召開源勢力對(duì)微軟窮追猛打的這些年真的把微軟逼急了。微軟新帥納德拉上任后的三把火讓谷歌明白了他們正在挑釁一只受了輕傷的獅子,而這只獅子正在重振雄風(fēng)。事實(shí)證明微軟在多年之前就已擁抱開源,參與Linux內(nèi)核貢獻(xiàn)并成立開放技術(shù)子公司,而今年早些時(shí)候?qū)oslyn編譯器的開源亦是其.NET開源大計(jì)的前奏。甚至一些開源社區(qū)的領(lǐng)袖人物也表示不再將微軟視為“敵人”,同時(shí)他們認(rèn)為未來.NET與java將互不干涉地共存。
◆ 納德拉的計(jì)謀
我們看到納德拉上任后實(shí)施的一系列舉措讓微軟在潛移默化中得到改變,“移動(dòng)為先、云為先”的兩個(gè)“先”字在這段日子里得到了明確的執(zhí)行。從Office跨平臺(tái)免費(fèi)到VS跨平臺(tái)免費(fèi)以及VS Emulator for Android的發(fā)放,微軟在跨平臺(tái)上大做文章并拉攏個(gè)人消費(fèi)者和開發(fā)者,表面上似乎丟車保帥采取Windows平臺(tái)讓利策略,實(shí)則在暗地里下一盤很大的棋。
眾所周知,蘋果依賴品牌溢價(jià)而大賣硬件,其封閉的軟件生態(tài)為諸多開發(fā)者所詬病,結(jié)果就是導(dǎo)致了安卓的野蠻生長。納德拉似乎看到了谷歌的弱點(diǎn):盡管安卓系統(tǒng)在智能移動(dòng)市場壟斷地位已現(xiàn),但業(yè)內(nèi)一股安卓“去谷歌化”的暗流卻在蔓延滋生,也就是說谷歌正逐漸喪失對(duì)安卓的控制,當(dāng)年AT&T公司放任UNIX變種發(fā)展導(dǎo)致BSD的反超和一枝獨(dú)秀就是最好的例證。
納德拉的新策略致力于將微軟的生態(tài)核心從Windows轉(zhuǎn)移至Azure云,.NET平臺(tái)的開放有利于實(shí)現(xiàn)微軟新生態(tài)向安卓平臺(tái)的滲透,助長安卓系統(tǒng)繼續(xù)野蠻生長,加速其脫離谷歌的控制。在未來,我們或?qū)⒖吹酱罅績?yōu)質(zhì)的.NET應(yīng)用運(yùn)行在安卓和iOS平臺(tái)上,而這一切的背后都將伴隨著Azure云的影子。
不久前,微軟市值升至4089億美元位居全球第二并超過谷歌公司。我們看到微軟正逐漸走出PC時(shí)代的思維困局,朝著即將到來的下一波移動(dòng)浪潮布局著有利戰(zhàn)略。不得不說,繼施密特、庫克之后,納德拉是一個(gè)不簡單的硅谷經(jīng)理人。那個(gè)老鮑用充滿激情大嗓門喊著"Web Developers! Web Developers! Web Developers!"的時(shí)代已成為過去,如今的微軟則讓人看到了蓋茨時(shí)代的狡黠。