為什么 C#/.Net在國(guó)內(nèi)的人氣遠(yuǎn)不如國(guó)外?
我其實(shí)和很多客戶、IT經(jīng)理、高級(jí)軟件工程師、架構(gòu)師聊過,所以對(duì)事實(shí)有一定的了解。首先呢在中國(guó)技術(shù)圈氛圍就是很浮躁的,浮躁到什么程度,還是中國(guó)人的老毛病,喜歡跟風(fēng)、喜歡一窩蜂,人家用node.js,我們就用node.js;人家用docker,我們也用docker;人家用CloudFoundry,我們也用CloudFoundry,總之人家的東西比我們家先進(jìn),所以我們一定要跟上。拿docker來說,其實(shí)很多傳統(tǒng)企業(yè)根本沒有用,也就是幾家互聯(lián)網(wǎng)大廠對(duì)它情有獨(dú)鐘;Node.js我承認(rèn)它性能好,但畢竟是弱語言編程,其實(shí)代碼的維護(hù)成本并不低,而且你需要雇傭很資深的Javascript開發(fā)人員,薪水自然是水漲船高。其實(shí)很多所謂的架構(gòu)師、IT經(jīng)理考慮的不是遷移成本、運(yùn)維成本,而是怎么找點(diǎn)事做,這樣才能體現(xiàn)出自己的價(jià)值,我總結(jié)為四個(gè)字“無中生有”。
.NET中的C#語言(我的最愛)其實(shí)從1.0發(fā)展到6.0,目前已經(jīng)非常成熟了,特別是語言層面的異步編程支持,已經(jīng)部分超越了Java,那為什么還是沒有公司愿意選它呢?從我的角度看,有幾方面的原因。
? ? ? ? 首先微軟的IDE實(shí)在是太好用了,好用到基本上找個(gè)應(yīng)屆生,就算不懂編程,1-2天內(nèi)也能寫個(gè)控制臺(tái)程序,當(dāng)然是簡(jiǎn)單的;但如果是Eclipse,配環(huán)境也要好一會(huì)兒,但這意味著什么知道嗎?門檻!人的門檻!越好用的東西聚集的人相對(duì)越Low,當(dāng)然并不是說用.NET的人爛,而是說平均而言,真正懂.NET的開發(fā)人員相對(duì)于懂Java的開發(fā)人員要少,因?yàn)槿思业腎DE用起來各種不舒服,還不如用Notepad++和Java.exe做編譯。這就導(dǎo)致了Java的工程師很多時(shí)候必須知其然知其所以然,否則它沒法干活,比如jar打包。但很多.NET的程序員估計(jì)連怎么用命令行編譯程序都不會(huì),這就是問題。
其次一些號(hào)稱懂.NET的架構(gòu)師覺得.NET簡(jiǎn)單,所以他們不愿意給.NET開發(fā)高工資,這也間接導(dǎo)致了很多.NET開發(fā)人員開始轉(zhuǎn)向其他語言,其實(shí)這種模式就是個(gè)惡性循環(huán)。到最后的結(jié)果就是,大量潛在的優(yōu)秀開發(fā)人員放棄.NET,畢竟現(xiàn)在是向錢看的年代。.NET從我的角度看是非常適合做后端,這么多年技術(shù)的積淀使得.NET得到了社區(qū)廣泛認(rèn)可,其實(shí)在國(guó)外懂.NET還是很吃香的,根本不愁找不到工作,所以國(guó)內(nèi)一些公司的邏輯我覺得很奇怪,甚至覺得神奇,反正我就是不招.NET工程師,我公司比較高大上,所以只有高達(dá)上的Java、Node.js 才能配得上我司,我只能說,不作不死。
再者,.NET可以抄的現(xiàn)成架構(gòu)并不多,而真正懂.NET的資深架構(gòu)師在中國(guó)基本屬于稀有物種,因?yàn)檫@些公司的所謂架構(gòu)師水平有限,他們自己用.NET寫不出好的架構(gòu)代碼(我通常喜歡叫他們集成師,即不會(huì)寫代碼或者寫不好代碼的架構(gòu)師),最終還是選Java,因?yàn)镴ava有一大堆架構(gòu)可以抄,而且很多是開源的,就算不會(huì)也至少能抄個(gè)4-5成吧。當(dāng)然咯,從項(xiàng)目風(fēng)險(xiǎn)可控角度這是可以接受的,但其實(shí)資深架構(gòu)師是可以解決這些問題的,在國(guó)外很多架構(gòu)牛人基本都是自己寫框架的,這也就能解釋為什么優(yōu)秀且流行的框架基本上都是洋人寫的,比如Java的Structs、Spring framework, .NET的Orchard、DNN、http://ASP.NET Biolerplate等。
? ? ? 最后,微軟作為.NET親爹自然難辭其咎,自從納總上臺(tái)后,更是拼命推行擁抱開源政策,擁抱了一堆非.NET系語言,盡管推出了跨平臺(tái).NET即.NET Core,但在.NET市場(chǎng)布局和推廣方面與過去并沒有什么明顯不同,說白了就是表現(xiàn)對(duì).NET份額出無所謂的態(tài)度。不過微軟一直是行業(yè)中比較傲嬌的公司,它覺得只要自己想推什么肯定能成功,所以對(duì)市場(chǎng)份額從來表現(xiàn)的不太看重,他覺得根本不需要在意,遲早是微軟的。然并卵,微軟手機(jī)的失敗讓微軟感受到了自己能力的有限,最近貌似在調(diào)整策略,其實(shí)回過頭來看代價(jià)非常高,單收購諾基亞就花了85億,我只能贊嘆微軟真土豪,有錢任性,呵呵。
我必須承認(rèn)近2年.NET的中國(guó)市場(chǎng)份額在不斷下降,很大程度上與.NET的市場(chǎng)推廣策略有關(guān),給行業(yè)內(nèi)一種中低端編程語言的假象,在語言推廣初期,這種策略沒有什么錯(cuò)誤,便于用戶上手和接受,但是如今都10年了,重新樹立.NET高大上技術(shù)的形象非常必要。
? ? ? 有人可能要說我屬于老王賣瓜自賣自夸了,我舉幾個(gè)真實(shí)的.NET案例你就懂了,滬牌拍牌系統(tǒng)后臺(tái)是.NET寫的,并發(fā)至少幾千每秒,這個(gè)大家懂的;Stackoverflow核心是.NET寫的,網(wǎng)站并發(fā) 3000每秒,數(shù)據(jù)庫并發(fā) 8000每秒;摩根斯坦利交易客戶端以及協(xié)議是.NET寫的;NASDAQ的交易系統(tǒng)是.NET寫的,后臺(tái)跑的SQL Server;騰訊有大量后臺(tái)系統(tǒng)用.NET寫,騰訊甚至已經(jīng)使用跨平臺(tái).NET(Mono)很多年,部署于它的TLinux系統(tǒng)集群中;攜程有大量系統(tǒng)用.NET寫成,日均動(dòng)態(tài)PV是3千萬。
事實(shí)勝于雄辯,我就不多說了,你們懂的。
-------------------------------------------------------------------
作者:Python咖啡
鏈接:
https://www.zhihu.com/question/408313966/answer/1366266291
來源:知乎
版權(quán)申明:本文來源于網(wǎng)友收集或網(wǎng)友提供,僅供學(xué)習(xí)交流之用,如果有侵權(quán),請(qǐng)轉(zhuǎn)告版主或者留言,本公眾號(hào)立即刪除。
支持小微:
299元購買5000+的.NET架構(gòu)課程,還送初級(jí)、中級(jí)課程!騰訊云 爆款2核2G云服務(wù)器首年40元,2G4核云服務(wù)器298元/3年
鏈接:https://curl.qcloud.com/1VVs7OBH
右下角,您點(diǎn)一下在看圖片
小微工資漲1毛
商務(wù)合作QQ:185601686
