微軟的.NET戰略是不是已經失敗了?

好像已經很多年沒提起過了。

談Microsoft .NET戰略


其實一開始是打算什麼都用 .net,上到網頁,中到UI,下到文件系統,底到OS內核。結果,有的成功有的失敗。

UI的Avalon,催生出WPF、ClearType、XAML、dwm等多項技術。並且成為Windows的主流渲染方式,把硬體加速帶到UI渲染來。UWP的渲染也是從這個來的。

文件系統的WinFS,處於薛定諤狀態。要說死了嗎,SQL server有些技術用的就是WinFS的,要說活著嗎,又沒有進展。

系統內核,徹底死了。原先有個原型級的項目,把 .net runtime放到內核里,用C#寫內核和驅動。work了,嗯,work了。但性能和兼容性都成問題。尤其是兼容性,讓所有廠商都重寫驅動,不可能的事情。所以四散了。

語言方面,C#至少闖入了本來沒打算進入的領域:遊戲開發。不過這個大部分算Mono和Unity的功勞。

所以就整體來說,肯定沒成功。但從失敗里誕生的一系列技術和組件,已經成為不可缺少的東西了。


.net從一開始就是失敗的。當初說好的要在2000年左右出一個網路操作系統,讓大家只用瀏覽器就可以完成所有工作,用資料庫和XML做分散式硬碟,一件也沒做出來。

p.s.

當然了,這都怪PM太超前,因為現在全世界也是一件都沒有做出來(逃


我覺得微軟未來的技術和產品,windows 10的未來也罷,uwp程序的未來也罷,雲服務等,都是建立在.net的技術積累之上的。

就好像我們說nt5.0是否失敗了一樣,沒有當年的nt5.0,哪有今天的win10?

何況.net core的推出,應該為微軟下一個10年,開了一個很好的頭吧。


這個所謂的.NET戰略從一開始就沒人能明白到底是什麼,如果非要說,這十幾年微軟在互聯網領域基本毫無建樹。十幾年的時間足夠成長N個BAT級別的互聯網公司了,而微軟到現在連個網站都做不好,這還是手握瀏覽器引擎的巨型公司。

唯一值得稱道的是Azure這個寶押對了,但是別高興的太早,還有AWS呢……


從股價上來說,微軟是在2011年左右才開始回漲,超過歷史最高峰也就是這一兩年的事情。.NET推出的背景恰恰是2000年市值最高峰左右。那個時候的微軟是不可一世的龐然大物,甚至反微軟成為了矽谷碼農叛逆性的政治正確。

經歷了連續幾年狂暴式的增長登上世界巔峰俯看世界的微軟從.NET的布局上看似有著和身價匹配的野心。老實說,個人看來.NET簡直看起來就是想「重建世界」。可以說從覆蓋面和細節上看,.NET戰略上是十分積極的,但在執行層面上並沒有想像中的那麼高成效。

在一開始.NET領域看起來像是IT世界中一個孤立的世界,它包羅萬象地有自己成套的東西。有時候我都覺得,這簡直是當年的IBM再世。IBM的結果大家也都看到了。不過幸運的是,微軟並沒有重蹈IBM的覆轍。(其實IBM的轉型也不算差)歸咎起來,可能是因為微軟的核心利益尚未面臨致死的危機吧。也就是不像IBM的核心業務那樣遇到了百花齊放的競爭對手,微軟的Windows/Office至今都沒遇到絕對的挑戰。

所以也所幸微軟好好活到了今天熬過了冬季。

如果要評價.NET當今的結果的話,不能用「成功」來形容,也很難說是「失敗」。它並沒有實現微軟當時世界一哥「重新創造/規範世界」的野心,但它又確實做出了一套完整的軟體工程體系。這個結果很難評價說到底是不是微軟的「戰略目標」,還是就是太強大了,幹得再消極結果都不太差。

你比如說,特性超前的C#、宇宙第一IDE和文檔超完整的.NET Framework,對開發人員來說有如毒品,上癮了要戒。但實際上真正影響一個商業項目成敗的事情,這些單獨項的優勢有可能微不足道。Objective-C長這樣還不是當年大家搶著寫?Android模擬器卡你八條街還不是老樂意加班等它卡完了?

真正要評判.NET是否戰略成功其實只能是一種事後諸葛亮的說辭,因為它是一項商業產品,商業產品最終是以盈利效果為目標的。

哪怕.NET在市場上再成功,如果.NET的從業者收入低,那些做.NET拿不到高工資,那些工資高但存在感低要靠嘲笑他人來找自信的,都還是會來嘲笑做.NET的。


按我的理解,微軟的.net大體分三塊:

1)內置於OS的Framework. 這塊目前來看是成功的,因為幾乎所有Windows 版本都內置了,在win平台上面開發cs類程序.net始終是首選。

2)http://VS.net,某種意義上這塊是宇宙最成功的,雖然生態與開源的距離越來越遠,但就這套語言設計,配套工具本身的質量水準絕對上乘之作;而生態變窄的鍋不應該讓它自身來背.

3).net的web迷思,很可惜,msft對web的理解屬於腦迴路特別清奇的路數,直接的結果就是過去十年凡是與web沾邊的戰略也好產品也好設備也好,全是喊麥型,口號起來牛到沒有朋友,推出產品過後全是渣渣.

大家對.net的蹩腳印象主要在web方面,這個鍋微軟估計是甩不掉了。

=====

而我個人認為.net失敗之處在於:

從最開始,.net就是一個動機不純的山寨Java的產品,從.net開始,微軟逐漸從一個技術的引領者變成了一個鸚鵡學舌的模仿者,失格!!!

.net之於Java,

silverlight之於Flash,

Vista開始的UI之於***,

Zune之於iPod,

一路走來始終如一,翻過了那座山,就再也回不去了……


不曉得題主拿出這10多年前的文章出來是要表達什麼,商業策略向來都是跟著時代發展進行調整,別說什麼戰略,隨便一家公司10年還能活下來就已經不錯了,題主應該扒一扒10幾年前的各大公司的戰略,看有幾家是一隻堅持並達成了的,這方面推薦看看《浪潮之巔》

就 .NET 技術本身,跨平台和開源這是邁的非常大一步,對於微軟而言這步棋的重要性恐怕不低於當初啟動 .NET 平台,至於接下來是會大踏步還是會扯著蛋,在下樂觀的支持前者

雖然 .NET 沒有成為一個操作系統級的東西,但是微軟確實在各大方面都應用了該技術,比如SQL Server、Office、Visual Studio等,從這些方面來說微軟對 .NET 的重視程度依然未減


不得不說 C# 是一門優雅的語言,至少寫起來比 java 爽快很多,真的可惜了。


2000年微軟的 .NET 戰略和現在的形態有巨大的差別。從結果上說,當年 .NET 戰略的部分產物實現了微軟的一部分願景。
.NET 剛公布時,是一個涵蓋了編程語言、底層框架、IDE、軟體和操作系統、互聯網服務的無所不包的宏大構想。2000-2001年前後曾透漏出的 Windows 2000 / XP 的未來繼任者 Longhorn 將使用的新一代文件系統 WinFS、圖形子系統 Avalon、通訊框架 Indigo、.NET Framework 3.0的前身 WinFX 都和 .NET 拉上了關係,Longhorn 的預定繼任者 Blackcomb 更是被稱為第一個完全基於 .NET 的操作系統——雖然包括許多微軟員工在內都不知道 Blackcomb 到底是怎樣的一種形態。在 Windows XP 系統中就已經無所不在的 .NET Passport 、.NET Enterprise Server、MSN、恨不得將所有產品加上 .NET 後綴預示著 SUN 提出的「網路即計算機」的構想將由微軟來實現。

當然與日後 Windows Mobile、Surface 最初雛形等產品一樣,技術和市場尚未成熟的情況下微軟步子邁得太大導致這些願景多數停留在更換名稱上,最後連微軟自己也放棄了其中多數規劃而將精力集中在 .NET Framework 及其附屬上。C#、VS .NET、ASP .NET 都算是其中的成功者。

不過 Azure 平台的興起可以視為當年 .NET 戰略的延續,且前景明朗,雖然慢了 Amazon 一步。

十年前,微軟還興起過一股 Live 起名狂潮(然後也陸續改名了)。

話說回來,從十幾歲時到現在,都不忘惦記著 Blackcomb 到底是個什麼模樣(當然不是 Windows 7),認識的幾名微軟員工回復差不多:

「你說的那是啥?」

此時都懷疑自己是不是進入了另一條時間線。


微軟自從windows取得成功以後就一直傲慢自大,對市場缺少最基本的尊重,把用戶和開發者當做無知少女,想怎麼擺弄就怎麼擺弄,從OLE到COM然後.NET搞來搞去,每次都先是強推,然後沒兩年又推倒重來,大家都無所適從,跟著它絕對要瘋。失敗自然是順理成章的。


現在前端很流行的MVVM框架,其實最早是微軟的WPF……還有數據綁定,也是WPF最早,只是WPF從來並沒有被人所賞識。

反倒是現在前端套個瀏覽器外殼的所謂桌面應用,叫囂著要滅掉所有桌面應用編程語言。但用過前端的MVVM框架,也用過WPF的MVVM框架,無論是語法的簡單還是效率,WPF都好用前端那堆一萬倍。

要怪怪什麼,怪微軟自己不爭氣吧。

就像大知乎,編程話題下面幾乎都是前端的話題,才多少.NET.

在評論下面看到了這樣回復:

我想說:


從商業角度:它應該是成功的,至少當時忽悠了很多人跟著微軟走,對微軟十幾年營收都有貢獻吧?

從技術角度看:不用看了,黑白貓抓耗子。


.NET這麼好的東西怎麼可能說是失敗了?你現在用的桌面軟體,包括word和VS2017這種大型的,哪個不是.NET做的?遊戲開發領域,伺服器端創造了Windows + C#伺服器這一支生力軍(雖然規模目前看不大),Linux上促進了mono的強力發展,Unity3D也幫助C#語言得到很好的普及。

雖然桌面應用市場沒有網路應用那麼火,但是從戰略上來看,忽視任何一個大市場都是鼠目寸光的表現。如果.NET真不行了,那win10就完蛋了,哪天可能被mac搞死了。

個人預測,windows必然會也必須要繼續霸佔桌面市場,.NET是傳統OS領域最可靠的保障。桌面市場有多重要?未來家庭娛樂中心、VR等等,哪個不是建立在台式機的基礎上?

有一個個人私貨,歡迎大家拍磚——消費市場,遊戲機(廣義的)才是一切的核心。能夠兼顧遊戲、泛娛樂(看節目)、工作、VR和瞎折騰的唯一平台還是Windows+兼容機。得娛樂者得天下,最好的遊戲硬體的廠商未來也永遠會在浪潮之巔,NVidia橫跨遊戲、科學計算、挖礦、VR、AI不是一個偶然,這觸及到了人類社會進步的一個本質方面。

總之,說.NET是否失敗這個問題毫無營養。首先 .NET已經非常非常成功了;其次題目都說了是「戰略」角度,那麼冰山一角的得失還有什麼討論價值嗎?


只能說好死不死,不信你可以看看兩個大V的回答,反正我是.Net技術棧下的程序員,很多時候我可以說.Net很不錯,但是很多時候我又在想,為什麼他爹叫微軟


微軟:

有好的技術 但是未必做得出好的產品(windows phone)

有好的產品但是未必做得好的定位(定價)

有好的定位但是未必做得好售前(推廣)

有好的售前但是未必做得好售後(微軟中國)。

.net :

有好的計劃(.net 平台),沒有好的實現(沒跨平台)。

有好的技術(C#),沒有好的發揮(沒 native)。

15年之後,才想起初心,但時代變了,恐怕為時已晚。

.net core 2.0 正式版 要出了吧,但並不是太看好。self-contained 感覺沒什麼明顯的優勢。

總之一言難盡啊。


.net戰略,其中一部分是應用重新寫在.net框架上吧 。

據說這樣是為了未來修訂win32,好了,如果從這個角度,算是失敗了吧。

如果當年搞.net的時候,就搞一個Windows應用商店,C#等寫的應用全部都在裡面,也許……


14年畢業,開始做WPF開發。當時還不知道選擇開發方向有多重要,現在真真切切的感受到,.NET招聘職位少,薪資不高,在公司的技術體系中也是屬於邊緣地位。選擇這個平台,不能說是正確的選擇。


自從我開始學Python ,就發現卧槽原來有這麼多好玩兒好用的東西啊!然後再想想.net。。。

開放的太晚 生態圈都沒了 大數據 人工智慧啥的 都趕了個晚班車。。


微軟起初設計 .NET 就認為自己的一畝三分地能夠種出比Linux 和JAVA 更美好的大一統世界,可是事實和微軟開了個一個玩笑。

微軟「閉關鎖國」終究要付出沉重的代價。

還好現在微軟知錯就改,未來的未來相信也能實現「微軟復興夢」。


肯定比JAVA成功吧,我記得2000年的時候看到書上說JAVA比com技術先進的就是code once use everywhere。結果呢,上禮拜我還在罵供應商,我這裡jdk1.7的環境,給我個1.6的war包。


推薦閱讀:

同事離職,我接盤了個垃圾項目,該如何是好?
零基礎新手求推薦C#.net的書?
如何在幾天之內將數萬行C#代碼移入Flex?
如何對 Expression 進行計算?
在 ASP.NET Core 已經推出的今天,IIS 會被砍嗎?

TAG:微軟Microsoft | NET |