.NET社區(qū)面臨的問題及其對策
如今的.NET社區(qū),特別是國內(nèi)的.NET社區(qū)面臨諸多問題,本文將一一例舉。
很多人誤認(rèn)為“.NET門檻低”
首先我來解釋下門檻到底是什么意思,網(wǎng)上找了個標(biāo)準(zhǔn)解釋,門檻是門框下端的橫木條、石條或金屬條。門檻高低本意是說要進(jìn)入這個門需要多大力氣,引申 意是說進(jìn)入一個行業(yè)、學(xué)會一門技能的難度。你可以說.NET是個技能,.NET是個平臺,那作為一個技能、一個平臺,.NET好學(xué)嗎?說實話,我一開始覺 得.NET不就是一個幾門語言(C#, VB.NET, J#)都能隨便用的玩意嗎?但越學(xué)越發(fā)覺很多東西不是那么回事,越學(xué)越覺得很多東西其實并不懂,就是這種感覺,所以呢,我覺得門檻并不低。我就沒搞懂,為 啥這么多人覺得.NET入門簡單了,你們說的入門到底指啥?會寫console?會寫winForm?會寫個排序?我對入門的理解是對大部分需求場景能夠 經(jīng)過少量時間的研究學(xué)習(xí)后進(jìn)行處理,基本不需要別人幫助,如果用HR的話來說是熟悉,談不上精通,但絕對不是了解、知道,那種寫個hello world在我看來,連知道都談不上,這誰不會寫?!更何況.NET基本上2年就有一次大更新,當(dāng)我們還沉浸在.NET 2.0的時候,微軟已經(jīng)出了3.0, 4.0,大量的概念引入,這么多東西你都知道個1、2、3了?我不信。怎么沒見中國有幾個大牛寫出標(biāo)志性的.NET開源應(yīng)用呢?當(dāng)然啦我不想一竿子打死一 批人,有還是有的,但確實比較少,比如Teddy Ma的NBear(當(dāng)年可是很火的ORM哦~)。
同時我要澄清下,我說.NET門檻不低,不等于我說其他語言門檻低,或者.NET門檻很高,我覺得語言的門檻都差不多,希望大家不要誤解,語言這東 西學(xué)到后面會發(fā)覺不懂的越來越多,這叫越學(xué)越覺得自己無知,入門沒個5成功力請不要說入門。其實門檻高一點并非壞事,對自己嚴(yán)要求沒錯,也可以適當(dāng)提高自 己的競爭力,否則你和那些沒入門的有何區(qū)別?也請張子陽不要曲解我的意思,更不要走極端說要和JR水平一樣,這話實在說的搞笑了點。國外牛人還是很多的, 只是你我都攀不上,好吧,這有點扯遠(yuǎn)了!
解決方案:重新評估你自己的.NET水平,當(dāng)然不一定要糾結(jié)入門不入門,但一定要清楚自己知道了哪些東西,不知道哪些東西,該學(xué)習(xí)哪些東西。.NET作為一個平臺,絕對是博大精深的。
行業(yè)縱身不夠,很多行業(yè)都被其他語言霸占
這個問題我想大家經(jīng)常看職位描述(JD)就明白了,基本上.NET的職位要比Java職位少掉一半,很多行業(yè)如電商、物流、能源、金融基本都是 Java的天下,那.NET在干嘛呢?真的是少數(shù)公司在用,很多公司即使用.NET也是輔助,比如測試代碼用.NET寫,比如用.NET做前端,后端用 Java或者C++(比如Morgan Stanley用WPF做前端,后端據(jù)說是C++)(老趙,關(guān)于大摩,你比較有發(fā)言權(quán),可以適當(dāng)介紹下)我群里有兄弟說以前京東是用.NET的,現(xiàn)在改 php了,看樣子又是一個失敗案例。
解決方案:暫無,這靠我們這種草根程序員基本是不可能改變的,需要巨頭來帶動需求并進(jìn)行市場營銷,這一點微軟一 直做得一般,希望微軟能夠想辦法改變這種局面。當(dāng)然啦,架構(gòu)師在公司內(nèi)部也可以順理成章的刮起一股.NET風(fēng),當(dāng)然要選擇適當(dāng)?shù)臅r機,切不可硬上,切忌。 搞不好,.NET沒轉(zhuǎn)過去,把客戶搞丟了,那就搞大了。我們公司就有個有趣的案例,本來都轉(zhuǎn)Java了,結(jié)果我們Team的系統(tǒng)當(dāng)年Java的版本轉(zhuǎn)了兩 次,上去就掛了,結(jié)果客戶抱怨很嚴(yán)重,說得難聽點就是你再轉(zhuǎn)我就跟你合作了,從此以后再沒有人敢提轉(zhuǎn)Java,對于轉(zhuǎn).NET這也是一樣的道理,客戶至 上。
標(biāo)志性旗艦網(wǎng)站甚少
當(dāng)年最火的MySpace倒是真用ASP.NET寫的,但很遺憾自從它沒落以后就很少聽到日訪問量***的.NET網(wǎng)站應(yīng)用了,最近的應(yīng)用中我唯一 能想出來的就是Stackoverflow,這網(wǎng)站大家都懂的,訪問量絕對是一線網(wǎng)站水準(zhǔn),全部是.NET代碼實現(xiàn)。但這種網(wǎng)站數(shù)量實在少,以至于很多廠 商談.NET色變,這也進(jìn)一步加深了對.NET的誤解。如今的.NET給人們的印象更多是中小型網(wǎng)站速成神器,而不是大型網(wǎng)站***,而中小型網(wǎng)站生出來 快,死起來也快,很多公司也許你聽還沒聽說過,它已經(jīng)死掉了。微軟倒確實有BizSpark計劃,就是說初創(chuàng)企業(yè)可以免費用微軟方案3年,只要年收入低于 100萬美元,效果馬馬虎虎吧,可能是因為這些公司太小以至于不為人所知。
解決方案:暫無,期待開源牛人或標(biāo)志性企業(yè)的介入,如果你知道一些標(biāo)志性的用.NET的網(wǎng)站(除了微軟官網(wǎng)),請寫在回復(fù)中,也許是我孤陋寡聞。
.NET程序員的過度自嘲
很多.NET程序員自己也說.NET這個不如,那個不行,以至于社區(qū)信心更加不足。這會在公司里創(chuàng)造一種氛圍,那就是做.NET的人自己信心都不 足,如果你的公司有Java程序員,他們會引用你的話,“誰誰誰說.NET這個不行”,也許你無意中的一席話會成為公司決策層的參考。
自嘲的另一個原因來自于很多.NET程序員覺得自己工資比java程序員低,但事實真的如此嗎?工資這玩意其實和個人資歷、公司、地域三個因素都有 很大關(guān)系,即使在同一家公司,同一個團(tuán)隊,如果那個人比你年長3歲以上,即使你們做同樣的事,他比你拿得多也是很正常的,所以比要合理的比,要拿同等參照 物,當(dāng)然啦,這其中肯定存在不公平,也許你們平時做的事真的是一模一樣的,但這社會就是這么運轉(zhuǎn)的,和你用啥語言沒有太直接的關(guān)系。最近公司薪酬體系還流 行一種現(xiàn)象——很多新進(jìn)員工拿的比老員工多很多,撇開能力不談,這是近幾年中國人力資本提升的表現(xiàn),HR也很清楚,不提高薪酬,招不到人,但對于老員工, 多數(shù)采取的是默許政策,即你不要求我也不會給你加,所以不公平始終存在,這也是為啥HR要求員工不要相互問工資,一問容易問出問題,人比人氣死人,哈哈。
Java程序員之所以工資高多數(shù)是因為他所在的行業(yè)很不錯,效益好,比如金融、能源,所以高也正常。我平時也做兼職獵頭,所以對薪資很清楚,其實做 到資深級別都差不多,不管是.NET、Java、C++、php程序員,.NET程序員混的好的也不少。工資這玩意到***拼的是資歷、運氣還有公司效益。 大公司看上去工資高,但加的少;小公司看似工資低,但運氣好得到老板賞識得到重用的話,絕對比大公司的小領(lǐng)導(dǎo)混的好。
解決方案:適當(dāng)注意自己的言行,多宣傳.NET好在哪里,而不是說.NET不好在哪里,這就好像你去推銷一樣?xùn)| 西,你老是說這樣?xùn)|西不好,誰會買呢?有的時候我們甚至可以利用面試機會去宣傳.NET,比如說有的公司他們即招Java也招.NET,你就可以適當(dāng)質(zhì)疑 為什么不都用.NET,因為使用.NET可以降低ROI(投資回報率),這是綜合成本考慮,倒不是說.NET的人便宜,而是說如果你雇了個很貴的.NET 程序員,后期維護(hù)成本也會比Java低,當(dāng)然前提是這哥們寫的.NET代碼給力,有一定的文檔和注釋、架構(gòu)方面考慮完善,便于他人理解。
第三方開源支持甚少
Java社區(qū)的開源支持絕對是典范中的典范,基本上只要你想得到的應(yīng)用,總有對應(yīng)的Java項目,比如最近很火的數(shù)據(jù)挖掘,Java社區(qū)有大量現(xiàn)成 的解決方案,比如Hadoop, stanfordnlp等,反觀.NET陣營,基本是全軍覆沒,你甚至找不出一個像樣的數(shù)據(jù)挖掘輔助組件,有人說盤古分詞,是的,它算一個,但它的作用是 非常前端的,僅是數(shù)據(jù)挖掘的***步,接下來的聚類、情感分析之類的.NET沒有任何支持庫可用。所以你去看現(xiàn)在招數(shù)據(jù)挖掘職位只有三種語言,Java, C++, Python,沒有.NET啥事。.NET社區(qū)并不缺類庫的使用者,缺的是類庫的貢獻(xiàn)者,也許是微軟自己對開源社區(qū)支持不足的關(guān)系,也間接導(dǎo)致了他的客戶 們(微軟陣營的程序員)對開源不是很熱衷,盡管近幾年微軟的態(tài)度有了很大程度改善,但這種陰霾還在。
解決方案:.NET社區(qū)其實并不小,看看C#的語言排行就知道了,大家齊心協(xié)力出一些庫,即使有些是個人英雄主 義,也行啊。這應(yīng)了一句話“庫到用時方恨少”,為何我們不能DIY出一些好庫,別把好東西老窩著,說啥知識產(chǎn)權(quán),知識產(chǎn)權(quán)大棒是大企業(yè)抑制競爭的手段,而 不是個人程序員應(yīng)該把玩的東西。
版權(quán)聲明:本文原創(chuàng)發(fā)表于 博客園,作者為Tony Qu, 未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則視為侵權(quán)。
原文鏈接:http://www.cnblogs.com/tonyqus/archive/2012/11/28/dotnet_community_problems.html