可以跨平臺,大量類庫,微軟親自操刀,性能一流,因為沒有做跨平臺,.NET被 python,javascript等搶了一半以上市場。
如果微軟早早的推出類似.net core這樣的跨平臺語言,.net程序猿還會出在這樣的尷尬局面嗎眾所周知,現在好多大廠都從.net轉到java,都認為.net是比較low的語言。很多主流的開源框架,開源項目大部分都是java做的,比如es等,,,,作為一個有三四年開發經驗的.net程序猿,很想和大家討論一下.net將何去何從
我覺得不會
java有今天的位置,很大程度上是巨頭之間角力的結果,當老大的總是被其他勢力攻擊的對象,或明或暗。當時微軟其實已經處于眾矢之的了,而微軟的態度是對抗而不是合作,你不讓別人吃飯,別人肯定千方百計的想辦法來拆你的臺,linux的出現讓其他企業看到了一絲希望,但單靠liunx和windows對抗實在是有些力不從心,但很快第二個機會來了,java出現了,你說,這些企業能放過這種機會嗎,那可不得使勁兒扶持。
上面說的是以google為首的國外的這種大型互聯網公司的心思,我們暫且將他們稱為第一梯隊。
那我們再來看看,以中國BAT為代表的第二梯隊的互聯網公司為什么更愿意用java而不是.net,有人可能要說是因為.net環境授權費太貴,也有人說是.net技術人員水平不如java的高,其實這都不是重點。重點在于,這些公司一方面也有和google這種超大互聯網公司的顧慮,另一個最重要的原因就是一家有理想、有抱負的科技公司不可能讓自己最重要的戰略決策被其他公司牽著鼻子走或左右,至少要將這部分影響降到最低。.net最大的優勢也是最大的缺點在于,它一家獨大的生態圈,沒有這類企業所需要的相對獨立的小的生態圈。沒有這種相對獨立的小的生態圈也就意味著,你微軟升級我就得跟著升級,你微軟做技術轉型,我也得跟著轉,你微軟說2003/xp過時了,我就得在一兩年內把所有的服務器都換一遍,誰TM受得了。
這是.net最致命的缺點,別說大企業了,就是小企業甚至一些個人開發人員都經不起微軟這樣一次又一次的折騰的。其實.net剛推出時還是很火的,支持的用戶也很多,但都在微軟一次又一次的折騰中走掉了。對很多公司或開發人員來說,微軟有時真的就是一坑貨,nokia大家還記得嗎?
綜上,只要.net這種大生態不改變,即使.Net Core開源了,跨平臺了也干不過java
有人可能要說,你如此看衰.net,為什么還在用.net開發而不轉java呢?
首先,我只是一名技術,我不開公司,我沒有開公司的這種種顧慮。
第二,我雖然在生活中不是喜歡折騰的人,但在技術上我還是非常喜歡折騰的。微軟是一家非常有創新能力的公司,因為創新必然要不斷折騰,技術本身就是一個不斷試錯的過程。有創新必然就會不斷淘汰,也要在發現走偏了或錯了的情況下突然急剎車,急轉彎。
第三,我更喜歡微軟的開發理念,我覺得微軟是一家有格局、有野心的公司。
微軟的目標客戶從來都是瞄準全世界所有人,讓全世界所有人都能用上微軟的產品,這種不拋棄用戶的行為是非常難得的。要服務所有人或讓所有人都用能用上自己的產品,其中必然有相當大一部分人你在他身上是榨不出一丁點油水的,即使能榨出來一點兒也少得可憐,基本上可以說是無利可圖的。但微軟沒有放棄這類客戶,要知道這樣做難度大,風險高,而且是很不討好的,稍不注意還會被帶上壟斷的帽子。當然,不能因此就說微軟就是一家良心企業,慈善機構,大公無私,全心全意為人類服務了,要知道資本還是逐利的,但起碼可以稱上是一家偉大的公司。要知道除了微軟外,沒有第二家公司不挑客戶的,它們都有著明確的目標人群,針對的就是一類人或一群人,因為只有這樣,利益才能最大化。正因為微軟公司有著這種大的格局,所以微軟的開發理念往往更加全面,更加先進。
可以肯定的是,未來軟件開發的發展方向一定是朝著外部簡單化,內部復雜化,覆蓋全面化的方向發展。
什么意思呢,就是未來的軟件開發的門檻會越來越低,簡單化、傻瓜化甚至自動化,但是軟件內部的邏輯會越來越復雜,語法糖那只是小KS,更多的代碼邏輯可能還是AI化。最后一點,覆蓋全面化并不說,我做一個軟件產品一定要讓所有人都能用,不是這樣的,這里說的全面化是指以后的軟件一定是更加細致化,那怕是一些很細微的很少很少情況能用到的功能都應該提供到(當你想明白這些的時候,你還會認為WinForms/WebForms這種拖控件的方式很low的行為么?恐怕更多的是遺憾吧,這東西太超前了有些生不逢時)。
當然,這樣做也不是一點壞處都沒有的,而且還非常明顯,容易將簡單的東西復雜化了,越復雜越容易出bug,用戶體念也不能達到極致,而且會造成成本上升、性能下降。但是,這些新生事物發展過程中必然要經歷的階段,“不用馬拉的馬車”很有可能就是未來。
說了一大堆空話,套話,下面來說說最實在的東西,工資呢?
很遺憾,.net的開發人員真的處于技術人員鄙視鏈的最低層,我所了解的,所經歷的公司.net開發人員基本上在公司的地位別說比Java、前端、安卓、IOS、設計這些熱門職位了,就是搞php、ActionScript、Delphi、C++/C這種不那么熱門的職位也只有仰視的份。在公司工資方面除了比前臺小妹、普通行政人員工資高點外,其他的都比不上。
但是,我依然不會輕易轉行,因為我工作不完全只是為了工資,更多的是我感興趣,我喜歡,我愿意而已。我發現有很多開發其實對技術并不感興趣,都是被迫來做或為了追求高工資而來的,對于這樣的人,我不作評論,人各有志嘛,但我還是有一句良言相勸,出門左轉有Java/安卓/IOS,右轉有Javascript/nodejs,直行有python,那個賺得都比搞.net的多,在公司地位還高。
第四嘛,當初java和.net二選一時選.net其實是因為英文不好,.net的中文文檔全面啊,后來嘛完全是習慣問題了,被Visual Studio綁架了,這才是開發工具該有的樣子嘛,其他那些都是些什么玩意兒嘛,基本上都是一個半殘品,還吹得神乎其神的。
最后再說一句,雖然我使用C#,但我并不認為java/C#這種語言就代表未來,未來流行的編程語言一定是另一種新的語言,一種混合型的語言,單純的強調面向對象,一切皆對象完全是扯蛋。目前看來go語言已經初步具有了這種特征,但go要走向流行或能不能走向流行還不太確定,個人認為go語言最大的缺點可能也是有走極端的趨向。
哎呀,媽呀,一不小心碼了這么多字,是不是放假太閑了
收獲園豆:10
Adming?|?初學一級?|園豆:119?|?2019-05-01 20:04
其他回答(6)
2
沒什么區別.
.net的將來肯定會比java好.原因和中國現在快要趕上美國是一樣的道理.
在初期階段.確實民主的自由的環境會讓發展速度特別快.
但到一定程度后.就會爆發出混亂的結果.后面的發展確是需要在強有力的中央控制下.才能持續.
吳瑞祥?|?園豆:29449?(高人七級)?|?2019-04-28 22:49
0
以我在武漢的觀察,現在招個高級.net賊難,本來人就少,一些牛逼點的還轉了Java,所以你懂我的意思了趴。
現在core出來了,性能上已經不輸,就差造輪子了。
涼冰Pro?|?園豆:7169?(大俠五級)?|?2019-04-29 09:00
1
.net和java都是面向對象語言只是個工具,兩者非常類似,理解了框架常用的開發模式思路,花些時間就可以學習,有心學習就沒有什么何去何從的心態
慧☆星?|?園豆:5566?(大俠五級)?|?2019-04-29 09:43
0
NET CORE 完全是一個測試品, 大公司不敢用, 小公司可能會用, 但用的人不多, 主要是開發環境不好。
Java做大平臺, 有很多熟悉的框架。 像阿里, 百度, 騰訊這些, 人家核心全是java, 你認為人家會推掉重來嗎
別相信NET CORE能讓你賺到大錢, 學習它還是要的,
主力還是放在Java上面吧, NET就算你是高手, 頂多就是二萬塊一個月, JAVA如果你是高手, 至少十萬以上
風浪?|?園豆:2991?(老鳥四級)?|?2019-04-29 09:45
0
我覺得還是環境導致的,就像大家都是說中文,你說英文肯定行不通啊,國內都在一窩蜂學java,而且專家也都是java的,那net就是小眾了,個人覺得語言沒有好壞(性能暫且不說),就看流不流行吧,我覺得微軟要把net做到深入人心,必須下更大的功夫,不然就做到更好
劉下來?|?園豆:909?(小蝦三級)?|?2019-04-29 10:07
0
沒有如果 接受現狀
服務端這塊java和go的天下