回覆列表
  • 1 # 哈哈哈hah

    .net很多東西告訴你就要這麼做,而你想去搞懂為什麼?發現很難,缺文件、缺原始碼。而Java就比較容易了,雖然入門比.net難。.net的IDE確實讓我對.net還抱有幻想的原因

  • 2 # 老暮2019

    兩個開發平臺各有優點,說不上誰好誰壞。如果是新手入行,建議還是JAVA,因為開源才是行業未來,它會影響你的錢途;如果你已經使用這兩個平臺其中一個開發專案一段時間了,建議也看看另一個平臺,作為一個程式設計師,學習是終生的事,掌握多一門語言,更有利於工作。

  • 3 # oo全球通oo

    我就對比一點——泛型。Java的泛型存在型別擦除的問題,所有泛型在執行時的時候實際都是object,根本無法獲取型別,這就是個巨坑。而且泛型也不能new T,也是因為泛型擦除問題。這是Java泛型的機制決定的,用過Java泛型的都知道。而net的泛型就要合理很多,原理跟java也完全不同,它是編譯的時候直接就生成了實際的類,有多少個泛型型別酒對應生成多少個實體類,所以在執行時就很輕易得到泛型型別,Java裡的泛型問題通通不存在。硬要說缺點,只是多幾個類,多一點棧空間佔用而已。

  • 4 # 張哪吒zz

    網際網路公司一般用java吧,企業類的大多是dotnet,我說的企業是類似製造業的,他們只是系統的應用商,所以追求快,都是內網系統,dotnet開發快好維護。

  • 5 # 古天樂100

    雖然現在DNC也跨平臺了,但是社群以及資源差太遠了,至少十年才有可能追上,所以就不要比了,真的是沒法比;除非拿aspx和JSP來比,這還有得比。

  • 6 # 成都茂大叔

    首先,什麼叫好?好找工作?方便開發?好學易懂?

    作為一名資深程式設計師,單純從技術角度來說,. net當然比java好。實際上. net和java根本不是同一類東西。. net是專門針對網際網路應用而設計開發的中間平臺,而JAVA只是可以用來進行網際網路應用開發的一種通用中間平臺,JAVA最開始只是個單機平臺,其架構理念根本和現代網際網路應用無關,在JAVA剛剛開始進入網際網路領域的時候,其實是一種前端技術,只是後來被JavaScript和flash打敗後,才被用來做服務端的應用服務平臺的。這種不斷打補丁的進化過程,使得JAVA的執行效率很低,結構凌亂,標準混亂,儘管近幾年縫縫補補,但是,你懂的,輸在起跑線上了。反觀. net,那就不一樣了,從底層開始就是為網際網路應用而生的,周邊輔助生態也很完善,從標準的多語言文件庫,到強大的IDE,更有最專業的版本維護團隊,無論執行效率還是開發效率都好過和JAVA不只一個檔次。

    以上是我幹了15年JAVA開發,轉過來幹了6年. net開發的體會。

    一家之言,僅供參考。

  • 7 # 自稱實戰派ex

    這還用問?PHP才是宇宙中最好的語言!

    看我真誠的眼神

    如果硬要在java和

    .net

    之中選一個的話,那隻能說,這兩門語言已經漸行漸遠,在各自的領域中發揮著獨特的作用。

    .net

    出現比Java晚,所以它在語法上、效能上都吸取了Java的優點、彌補了Java的不足。單從語言層面說,

    .net

    不比Java弱。

    在微軟系的開發領域中,

    .net

    是絕對王者。

    但是啊但是,由於微軟是閉源的,而且啥服務都要收費,所以很多公司,都不愛用它那套。

    所以,目前Java用的更多、更廣泛,而且這麼多年開源下來,積累了深厚的底蘊,所有你能想到的服務,Java都有對應的元件來提供。

    這麼說,題主明白了嗎?

  • 8 # TonyDeng

    Java沒用過,不懂。孤陋寡聞地看,竊以為

    .net

    博大精深得多,從語言種類上看,也比Java單一語言更適應人們原先的語言習慣,我寫起C#來覺得非常舒服。

    至於開源云云,自欺欺人的説法,不説也罷,懶得去駁。

  • 9 # IT人劉俊明

    作為一名IT行業的從業者,我來回答一下這個問題。

    首先,在當前的IT行業內,Java和MNet都是非常常見的解決方案,這兩大平臺各自也都有比較完善的解決方案,各自的優點也都比較突出。從行業應用情況來看,Java似乎要更普遍一些,原因雖然有很多,但是Java語言的開放性無疑起到了非常關鍵的作用,雖然後來C#也採取了更加開放的策略,但是Java的生態已經比較完善了,技術遷移的必要性也並沒有那麼強,所以很多團隊依然會採用Java解決方案。

    MNet平臺的優點集中在三個方面,其一是具有強大的開發環境,這是很多程式設計師對於MNet平臺忠誠度比較高的一個重要原因;其二是較強的可用性,可用性也是MNet平臺的一大特徵;其三是成熟方案多,尤其是針對於中小型企業的開發方案。

    Java平臺的優點也主要集中在三個方面,其一是具有較強的穩定性;其二是具有較強的擴充套件性;其三是較強的資源整合能力,這一點使得很多大型網際網路平臺更願意採用Java方案。實際上,由於Java語言的開放性和擴充套件性,大量的開源專案都會採用Java語言來實現,這是推動Java在行業內得到廣泛應用的一個重要原因,比如Spring就是一個非常典型的案例。

    從當前雲計算平臺的發展趨勢來看,MNet平臺和Java平臺都有新的發展機會,MNet平臺可以藉助於雲計算來提升自身的擴充套件性,而Java可以藉助於雲平臺來進一步提升資源整合能力,同時提升開發環境,所以未來很長一段時間內,MNet平臺和Java平臺依然會得到廣泛的應用。從目前雲計算平臺自身的發展趨勢來看,微軟在雲計算領域目前的發展態勢顯然要好於Oracle,這對於MNet和Java的發展也會產生一定的影響。

  • 10 # 小小互聯科技

    目前的行業發展趨勢,毋容置疑Java更好一些

    Java語言是目前程式語言中使用人數最多的,也有計算機語言中的英語之稱,可見其地位。而且Java的就業崗位更多一些,薪資更好。

    關鍵是看你怎麼去學習,因為IT行業對技術要求很高,只有系統深入的學習熟悉這方面的技術才能滿足企業的需求。

    推薦你可以看看百戰高淇老師的Java300集學習資料,課程內容將的很細言簡意賅。更適合零基礎的同學學習。

  • 11 # 夢斷矽谷

    想工資高就.net,現在.net的開發人員少了,供不應求,從我身邊瞭解到的相同崗位的.net要比java高一些

  • 12 # 命叔雜技

    這個問題需要從平臺和語言兩個角度來來進行對比:

    1. DOTNET 平臺對比 JAVA 平臺

    DotNet 和 Java (或者說 JVM)平臺從雙方都各有千秋,但 DotNet 因為前期繫結在 Windows 系統上,錯過了網際網路的快車道,所以現在的情況是 Java 平臺使用的人數和普及度、生態環境都遠好於 DotNet 平臺。

    2. C# 語言對比 Java 語言

    從語言的角度講,肯定是 C# 好於 Java,因為 C# 發明的初期就是一個對 Java 進行改進完善,服務於相同目的的語言。C# 版本到目前 8.0 為止,一直大膽推出新功能新語法,有最強大 IDE —— Visual Studio 的加持,開發體驗是遠遠好於 Java 的。

    不過最近幾年,Java 的 JVM 平臺也出現了許多 Java 以外的優秀語言,如 Groovy、 Kotlin、Scala 等,所以 C# 的優勢並不大。

    綜上所述,如果二者挑一個學習的話,我建議學習 Java。但是我個人比較喜歡功能更豐富的 DotNet。

  • 13 # TurboCh

    這2個各有千秋吧!.net目前也開源了,對雲原生也有很好的支援!netcore的sdk一直在發展的風暴中且免費!不過java是目前國內的主流,阿里騰訊百度都是以java為主流的。java的生態比較強悍,薪資普遍比較高,不過java的jdk1.8後就開始收費了!要是面向薪資的話肯定java勝一籌!

  • 14 # 郭老師621

    如果是網際網路公司程式設計師,java好,有大量的模板可抄。如果是企業程式設計師,尤其是生產製造類企業,.net好,原因還是有作業可抄,至少能模仿金蝶用友的寫法。

  • 15 # 缺氧149706861

    我接受

    從品質和先進性上來說,.net好,從開源資源上來說JAVA好。

    在多語言配合方面,.net碾壓JAVA。例如.net 上的F#的完全能替代Python,而且執行速度更快,和C#一起合作,天衣無縫。

    希望中國能開發出屬於自己的vm框架,這個語言的名稱暫定為huyou

  • 16 # javascriptnode

    牛的人不會比較語言的長短,語言各有千秋,用到他適合的場景就好了,我跟哦說一下,多會一門語言,你就會多一個出路,反正我都學了,.net java python php nodejs go有時間就多學學吧,專案不是一門語言就能搞定的!比較語言只是程式設計師的無知!

  • 17 # IT人張飛洪

    現在流行的語言,java是最爛的。

    對於從C#轉過來的我來說尤其如此。在一個java專案告一段落之際,現在讓我吐槽一下:

    1. java的泛型讓人費解。型別擦除讓泛型的優勢蕩然無存。本來泛型的一大優勢是避免裝拆箱的效能開銷。在java裡,僅僅就剩下語法糖的功能。況且這顆糖非常的不好吃。

    2. java裡的lambda表示式實在是難看得要死。本來業界都用=>來代表箭頭函式,java非要用->顯得和別人不同。這也就算了,凡用到lambda的地方還非要steam()轉一下,對於陣列,還要Array.stream(), 要多彆扭就有多彆扭,要多難看就有多難看。更坑爹的是,還不支援延遲載入,用過一次再接著用就報錯!

    3. java的方法的異常處理宣告讓人惱火。我們知道,現在AOP程式設計,異常都是在框架上層集中處理的。底層只管拋就是了。一般情況下,不主張在底層用catch“吃掉”異常. 這就導致,如果我不想吃掉異常,就得丟擲,如果要丟擲,就得在方法聲明後加throws xxxException。而如果一個方法調了其他的方法,也要跟著throws 這個Exception, 如果調了n多有異常的方法就得throws n多個Exception. 當然有人會說,你不會只throws 單一的基類Exception嗎?這樣倒是可以簡單點。 那這個throws機制還有什麼用呢?

    4. java沒有隨用隨丟的匿名物件,類似C#的new { a, b}, 或者像js那樣更簡單的{a, b}。這在傳給api傳參時,或者webapi返回的結果,是由幾個值組成,但又不值得定義一個類時,顯得特別囉嗦,導致我要麼用一個hashmap來裝,要麼再專門定義一個只用一次的類。

    5. java沒有var的隱式型別宣告。接受一個很長的型別名的返回結果時,特別不簡潔。這個據說在java12以後支援。但是現在誰敢用java8以上的版本?

    6. java沒有擴充套件方法的機制。導致現在java的Util類滿天飛。你如果想想像別的語言那樣,一氣點下去,簡直是作夢。你不得不在寫好一個物件以後,發現它沒有你要的方法,然後不停把游標調到物件前面,加util,再加括號,再移到物件後面,再加反括號。太不順暢了!

    7. 現在流行的spring-boot實在是太慢了。我寫一個單元測試,執行一次,初始化都要一分鐘,搞得我現在煙抽得越來越多!

    ------分割一下------

    C++之父Bjarne Stroustrup說過:世界上只有兩種程式語言,一種是整天被人罵的,還有一種是沒人用的。

  • 18 # 奔放的熊貓

    java強在生態,豐富多彩的生態和開源讓你更瞭解底層實現原理,瞭解到更多的程式設計思想,更多的外掛也可以讓你為所欲為。

    C#強在語法,語法糖真甜,不是java能比的,還有一個優勢是閉源,為什麼,閉源的框架穩定,文件標準齊全

  • 19 # 合作共贏的開發者

    沒有最好的語言只有最好的生態,國內java生態優與net太多!舉個簡單的例子,微信介面、小米介面提供了java php go 的sdk,但是沒提供net的,大資料來臨之前,兩者市場份額伯仲之間,net沒有抓住大資料的機會,被Java打下去了!

  • 20 # 何寧社

    現在語言的方向是函式式,底層開發用rust,上層業務自己寫一個函式式語言,最佳搭配。

    特別是前端,自己用rust開發一個函式式語言的執行器,編譯成wasm。然後就可以用寫函式的方式寫介面了,效果不錯。

  • 中秋節和大豐收的關聯?
  • 一加3T和錘子M1L哪個更好用,更值得買?