.NET技術在中國爲什麼老被人嫌棄

這個話題有點自黑的意思,我從.NET 1.1開始玩.NET,到現在已經11年了,我是看着.NET成長起來,在中國壯大的,也見證了近幾年.NET被各種嫌棄,其實說到底還是中國的架構師太少,我是說真正懂行的架構師,一個資深的架構師是不會直接攻擊一門語言或者嫌棄一門語言的,而是會從操作系統、服務器應用容器層面是分析性能、實現成本以及有多少坑。

我其實和很多客戶、IT經理、高級軟件工程師、架構師聊過,所以對事實有一定的瞭解。首先呢在中國技術圈氛圍就是很浮躁的,浮躁到什麼程度,還是中國人的老毛病,喜歡跟風、喜歡一窩蜂,人家用node.js,我們就用node.js;人家用docker,我們也用docker;人家用CloudFoundry,我們也用CloudFoundry,總之人家的東西比我們家先進,所以我們一定要跟上。拿docker來說,其實很多傳統企業根本沒有用,也就是幾家互聯網大廠對它情有獨鍾;Node.js我承認它性能好,但畢竟是弱語言編程,其實代碼的維護成本並不低,而且你需要僱傭很資深的Javascript開發人員,薪水自然是水漲船高。其實很多所謂的架構師、IT經理考慮的不是遷移成本、運維成本,而是怎麼找點事做,這樣才能體現出自己的價值,我總結爲四個字“無中生有”。

.NET中的C#語言(我的最愛)其實從1.0發展到6.0,目前已經非常成熟了,特別是語言層面的異步編程支持,已經部分超越了Java,那爲什麼還是沒有公司願意選它呢?從我的角度看,有幾方面的原因。

首先微軟的IDE實在是太好用了,好用到基本上找個應屆生,就算不懂編程,1-2天內也能寫個控制檯程序,當然是簡單的;但如果是Eclipse,配環境也要好一會兒,但這意味着什麼知道嗎?門檻!人的門檻!越好用的東西聚集的人相對越Low,當然並不是說用.NET的人爛,而是說平均而言,真正懂.NET的開發人員相對於懂Java的開發人員要少,因爲人家的IDE用起來各種不舒服,還不如用Notepad++和Java.exe做編譯。這就導致了Java的工程師很多時候必須知其然知其所以然,否則它沒法幹活,比如jar打包。但很多.NET的程序員估計連怎麼用命令行編譯程序都不會,這就是問題。

其次一些號稱懂.NET的架構師覺得.NET簡單,所以他們不願意給.NET開發高工資,這也間接導致了很多.NET開發人員開始轉向其他語言,其實這種模式就是個惡性循環。到最後的結果就是,大量潛在的優秀開發人員放棄.NET,畢竟現在是向錢看的年代。.NET從我的角度看是非常適合做後端,這麼多年技術的積澱使得.NET得到了社區廣泛認可,其實在國外懂.NET還是很吃香的,根本不愁找不到工作,所以國內一些公司的邏輯我覺得很奇怪,甚至覺得神奇,反正我就是不招.NET工程師,我公司比較高大上,所以只有高達上的Java、Node.js 才能配得上我司,我只能說,不作不死。

再者,.NET可以抄的現成架構並不多,而真正懂.NET的資深架構師在中國基本屬於稀有物種,因爲這些公司的所謂架構師水平有限,他們自己用.NET寫不出好的架構代碼(我通常喜歡叫他們集成師,即不會寫代碼或者寫不好代碼的架構師),最終還是選Java,因爲Java有一大堆架構可以抄,而且很多是開源的,就算不會也至少能抄個4-5成吧。當然咯,從項目風險可控角度這是可以接受的,但其實資深架構師是可以解決這些問題的,在國外很多架構牛人基本都是自己寫框架的,這也就能解釋爲什麼優秀且流行的框架基本上都是洋人寫的,比如Java的Structs、Spring framework, .NET的Orchard、DNN、ASP.NET Biolerplate等。

最後,微軟作爲.NET親爹自然難辭其咎,自從納總上臺後,更是拼命推行擁抱開源政策,擁抱了一堆非.NET系語言,儘管推出了跨平臺.NET即.NET Core,但在.NET市場佈局和推廣方面與過去並沒有什麼明顯不同,說白了就是表現對.NET份額出無所謂的態度。不過微軟一直是行業中比較傲嬌的公司,它覺得只要自己想推什麼肯定能成功,所以對市場份額從來表現的不太看重,他覺得根本不需要在意,遲早是微軟的。然並卵,微軟手機的失敗讓微軟感受到了自己能力的有限,最近貌似在調整策略,其實回過頭來看代價非常高,單收購諾基亞就花了85億,我只能讚歎微軟真土豪,有錢任性,呵呵。

我必須承認近2年.NET的中國市場份額在不斷下降,很大程度上與.NET的市場推廣策略有關,給行業內一種中低端編程語言的假象,在語言推廣初期,這種策略沒有什麼錯誤,便於用戶上手和接受,但是如今都10年了,重新樹立.NET高大上技術的形象非常必要。

有人可能要說我屬於老王賣瓜自賣自誇了,我舉幾個真實的.NET案例你就懂了,滬牌拍牌系統後臺是.NET寫的,併發至少幾千每秒,這個大家懂的;Stackoverflow核心是.NET寫的,網站併發 3000每秒,數據庫併發 8000每秒;摩根斯坦利交易客戶端以及協議是.NET寫的;NASDAQ的交易系統是.NET寫的,後臺跑的SQL Server;騰訊有大量後臺系統用.NET寫,騰訊甚至已經使用跨平臺.NET(Mono)很多年,部署於它的TLinux系統集羣中;攜程有大量系統用.NET寫成,日均動態PV是3千萬。

發佈了37 篇原創文章 · 獲贊 119 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章