如果微軟20年前開發.net core,JAVA會不會和IE一樣倒下了

可以跨平臺,大量類庫,微軟親自操刀,性能一流,因為沒有做跨平臺,.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的天下

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209667.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209667.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209667.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java基礎-開發流程以及HelloWorld程序

目錄 1. Java的開發流程2. HelloWorld 1. Java的開發流程 開發Java程序,需要三個步驟:編寫代碼,編譯代碼,運行代碼 2. HelloWorld 編寫代碼 public class HelloWorld {public static void main(String[] args) {System.out.pri…

Ribbon 饑餓加載

Ribbon默認是采用懶加載,即第一次訪問時才會去創建LoadBalanceClient,請求時間會很長而饑餓加載則會在項目啟動時創建,降低第一次訪問的耗時,通過下面配置開啟饑餓加載: 一、懶加載 Ribbon 默認為懶加載即在首次啟動Application…

代碼隨想錄二刷 |二叉樹 | 二叉樹的層序遍歷

代碼隨想錄二刷 |二叉樹 | 二叉樹的層序遍歷 題目描述解題思路代碼實現 題目描述 102.二叉樹的層序遍歷 給你二叉樹的根節點 root ,返回其節點值的 層序遍歷 。 (即逐層地,從左到右訪問所有節點)。 示例…

Flask 最佳實踐(一)

Flask是一個輕量級而強大的Python Web框架,它的簡潔性和靈活性使其成為許多開發者的首選。然而,為了確保項目的可維護性和可擴展性,我們需要遵循一些最佳實踐。本文將探討Flask中一些關鍵的最佳實踐。 1. 項目結構 構建一個清晰的項目結構是…

Java實現Socket聊天室

一、網絡編程是什么? 在網絡通信協議下,不同計算機上運行的程序,進行數據傳輸。 應用場景:即時通訊、網游對戰、金融證券、國際貿易、郵件、等等。 不管是什么場景,都是計算機與計算機之間通過網絡進行數據傳輸。 …

軟件測試之接口測試自動化(詳解版)

本著以和大家交流如何實現高效的接口測試為出發點,本文包含了我在接口測試領域的一些方法和心得,希望大家一起討論和分享,內容包括但不僅限于: 服務端接口測試介紹接口測試自動化介紹接口測試自動化實踐關于接口測試自動化的思考…

質量工程化,交付快速化

質量和速度之間權衡讓人很難取舍,而通過推進質量工程,以系統化的方式識別和優化系統痛點,可以幫助團隊構建既快又好的精益軟件生產系統。原文: Quality Engineered, Speed Delivered 所有人都想要更快的速度。 但需要解決復雜問題: 權衡質量會…

Kotlin(十四) 擴展函數和運算符重載

目錄 擴展函數 語法結構 代碼示例 運算符重載 語法結構 一元操作符 二元操作符 數值類型操作符 等于和不等于操作符 比較操作符 調用操作符 擴展函數 語法結構 對于擴張函數的語法結構其實很簡單,你想在那個類中添加擴張函數,那么你就用該類…

6. Zigzag Conversion

按照下標找規律注意leetcode的運行輸出,如果其中一組用例出現死循環,輸出結果會在一個文件,即部分測試用例正確,部分錯誤且出現死循環,則需辨別輸出結果屬于哪一份測試用例 class Solution { public:string convert(s…

(二)五種最新算法(SWO、COA、LSO、GRO、LO)求解無人機路徑規劃MATLAB

一、五種算法(SWO、COA、LSO、GRO、LO)簡介 1、蜘蛛蜂優化算法SWO 蜘蛛蜂優化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,該算法模型雌性蜘蛛蜂的狩獵、筑巢和交配行為&…

w3school學習筆記3(NumPy)

系列文章目錄 文章目錄 系列文章目錄前言一、NumPy簡介二、NumPy入門三、NumPy創建四、NumPy數組索引五、NumPy數組裁切六、NumPy數據類型七、NumPy副本/視圖八、NumPy數據形狀九、NumPy數組重塑十、NumPy數組迭代總結 前言 一、NumPy簡介 1、什么是Numpy? NumPy是…

線上盲盒小程序,開啟互聯網盲盒時代

近年來,盲盒經濟在國內非常火爆,各類盲盒品牌層出不窮,深受國內外年輕人、消費者的喜愛。 目前,根據數據顯示,盲盒市場不僅在線下異常火熱,線上盲盒也是成為了大眾的新選擇。各類電商平臺中盲盒的成交額更…

Esxi7Esxi8設置VMFSL虛擬閃存的大小

Esxi7Esxi8設置VMFSL虛擬閃存的大小 ESXi7,8 默認安裝會分配一個 VMFSL(VMFS-L)(Local VMFS)很大空間(120G), 感覺很浪費, 實際給 8G 就可以了, 最少 6G , 經實驗,給2G沒法安裝 . Esxi7是虛擬閃存的 修改的方法是: 在安裝時修改 設置 autoPartitionOSDataSize8192 在cdromBoo…

快捷切換raw頁面到repo頁面-Raw2Repo插件

Raw2Repo By Rick 📖快捷切換代碼托管平臺raw頁面到repo頁面 🔗github鏈接 https://github.com/rickhqh/Raw2Repo ?Features 功能: ?單擊 Raw2Repo 插件按鈕,即可跳轉到相應的代碼倉庫頁面。?支持 GitHub、Gitee、GitCode …

spring boot整合mybatis進行部門管理管理的增刪改查

部門列表查詢: 功能實現: 需求:查詢數據庫表中的所有部門數據,展示在頁面上。 準備工作: 準備數據庫表dept(部門表),實體類Dept。在項目中引入mybatis的起步依賴,mysql的…

【ET8】1.ET8入門-運行指南

主要學習網址 論壇地址為:https://et-framework.cn Git地址為:GitHub - egametang/ET: Unity3D Client And C# Server Framework 官方QQ群 : 474643097 項目檢出 檢出項目切換到release8.0分支 GitHub地址:GitHub - egametang/ET: Unity…

[足式機器人]Part2 Dr. CAN學習筆記-數學基礎Ch0-5Laplace Transform of Convolution卷積的拉普拉斯變換

本文僅供學習使用 本文參考: B站:DR_CAN Dr. CAN學習筆記-數學基礎Ch0-5Laplace Transform of Convolution卷積的拉普拉斯變換 Laplace Transform : X ( s ) L [ x ( t ) ] ∫ 0 ∞ x ( t ) e ? s t d t X\left( s \right) \mathcal{L} \left[ x\lef…

基于Swin_Transformer的圖像超分辨率系統

1.研究背景與意義 項目參考AAAI Association for the Advancement of Artificial Intelligence 研究背景與意義 隨著科技的不斷發展,圖像超分辨率技術在計算機視覺領域中變得越來越重要。圖像超分辨率是指通過使用計算機算法將低分辨率圖像轉換為高分辨率圖像的過…

AI:91-基于深度學習的手寫數學表達式識別

?? 本文選自專欄:人工智能領域200例教程專欄 從基礎到實踐,深入學習。無論你是初學者還是經驗豐富的老手,對于本專欄案例和項目實踐都有參考學習意義。 ??? 每一個案例都附帶有在本地跑過的核心代碼,詳細講解供大家學習,希望可以幫到大家。歡迎訂閱支持,正在不斷更新…

51單片機的時鐘電路與時序以及 復位電路和電源模式

51單片機的時鐘電路與時序以及 復位電路和電源模式 本文主要涉及51單片機的時鐘電路以及相關時序的知識,也講解了了51單片機的復位電路以及電源模式。 文章目錄 51單片機的時鐘電路與時序以及 復位電路和電源模式一、時鐘電路與時序1、 時鐘電路設計1.1 內部時鐘方式…