回覆列表
  • 1 # 雲懷

    我既為推動.NET技術棧,當然建議選擇C#。

    自.NET Core釋出以來,C#開始跨平臺且開源時代,原始碼公佈在Github上。.NET的確在前期由於諸多限制,生態不及JAVA,但是以.NET Core的佈局來看,2020 C#將會開始崛起之路,2月份語言排行榜,C#上升明顯,增長率3.08%,特別是雲原生時代的到來,.NET Core所賦予的C#的魅力將在2020年充分展現,還有排在第六的VB.NET正逐步轉換為c#,VB.NET + C#的總份額是超越 Python的,位居第三 。

    程式語言的熱度也是市場的一種反應,比如2015 年 因為 Andriod 的大爆發,Java 成了年度程式語言;2018 年人工智慧大熱,Python 直接飆升到排名第三。

    眾所周知,TIOBE指數並不代表語言的好壞,而大家對趨勢如此感興趣是因為擔心會錯過某些新技術。

    相比較Java著重於企業級程式,C# 在應用領域上更具吸引力,它更像個“多面手”,囊括了桌面程式、企業應用、遊戲、資料分析、人工智慧、開發、測試、運維等領域。

  • 2 # 格碼頂端程式設計

    本人搞過2種組合語言,還有basic,C,VC++,VC#,Asp. net Form及Mvc. 就是沒搞過java..年齡現在54了,不能再學語言了。所有的重點是關注產品的功能及客戶的體驗,技術是灰色的,產品技術不一定是最好的,一個好產品跨越很長的開發升級時間方可體驗到位,此時裡面的技術可能已經淘汰了。所以,多研究產品。

  • 3 # 夢無痕84574230

    感謝邀請,目前來看,建議學習java,它的應用更廣泛,應用場景更多,基本沒有不用java的領域,可以跨平臺,開源專案多,易於學習,網上例子多,尋求答案也方便,c#主要是微軟的產品用,應用相對覺少,也可以去招聘網站看看招聘需求也是對比方法之一

  • 4 # heipi雪人

    這兩個現在都屬於成熟的語言,已經不能像以前學習三板斧就能拿到高工資了。都是需要經過幾年積累才行的。正如c需要十年,Java現在需要四年積累。

    物聯網屬於剛開始,但未來肯定會爆發是否走物聯網取決於你的家庭條件,沒經濟壓力的可以考慮畢竟需要熬很長時間。

    當然還有大資料和人工智慧,這個Java也能用上,但是Python會用得更多,但是重點是數學底子有要求,高數,線性代數,機率都要熟悉,否則後續學習演算法會很頭大的。

    在兩款裡面選Java會比較有前景,工作肯定是開發了。對於沒應屆畢業和非軟體行業,咬咬牙找一下正規培訓機構(黑馬培訓,北大青鳥之類)培訓一下讓人家推薦一下工作比自己摸索可以快個半年。如果足夠上進持續學習三年後進階高階開發還是有點希望的。

  • 5 # 半核CPU

    1、網路開發和web應用

    java這方面的功能特別強大,各種優秀的開源框架層出不窮,對於做大型網站,java具有獨特的優勢,而且網路這塊做分散式計算也做的非常優秀。這個也是目前java的主要應用場景。

    2、移動端的應用

    這個不用多說,android就是用java開發的,就是因為其跨平臺的特性。

    3、桌面應用程式

    這個來說一般般,現在桌面應用程式貌似很少用java寫的,但是確實可以寫出像QQ、迅雷那樣的桌面應用程式。

    再來看c#的:

    C#是微軟公司釋出的一種面向物件的、運行於.NET Framework之上的高階程式設計語言。其實主要做桌面應用與網路,由於是微軟發明的,所以天生的就對windows有著相容性。

  • 6 # 光聊科技

    01 現狀

    C#是微軟公司釋出的一種面向物件的、運行於.NET Framework之上的高階程式設計語言。它能開發Windows桌面應用程式、Windows Store應用程式、Web應用程式、WCF服務等。

    但是目前來說,在Web端、大資料等領域,Java有非常成熟的框架和解決方案;在移動端,原本可以用於Windows Phone,但隨著其沒落也沒了蹤影;如今Android已經成為世界上使用最多的移動作業系統,而Android正是使用Java進行開發。

    技術方面

    C#底層不開源,如果你使用C#,雖然C#本身也不收費,但它執行的平臺——Windows是收費的;而且IDE——Visual Studio收費,其他輔助工具,如SQL Server、SharePoin等都要收費。

    但Java是開源且免費的,經過這麼多年的發展,它現在已經很完善,也擁有了大量質量可靠的第三方庫,根據需要開箱即用,具有很高的開發效率。並且Java擁有很多殺手級應用,如Spring,Apache、Android,Hadoop,Spark等。最重要的,Java在不斷的進化,並且在慢慢的進化。

    如何選擇

    從上手難度上來說,C#會容易一些。但我建議你從長遠發展考慮,選擇並學好Java。無它,因為有龐大的而完善的生態系統。而且Java本身上手也簡單,它的語法並不複雜。語言各方面比較均衡,擁有最值得信賴的GC,避免很多碼農的低階錯誤。並且天生的面向物件設計,更容易模組化開發。再加上Java強型別靜態語言,只要框架已搭好,即便開發人員能力不足,也基本能保證程式碼質量,這在大專案的協作開發、維護方面很有優勢。

    要說Java能從事的工作,其實有很多,從現在的形勢來看,主要用於後端伺服器和Android,當然也可以做大資料方向。具體可以在智聯招聘、前途無憂等招聘網站上細看。

  • 7 # 大學生程式設計指南

    從事嵌入式開發多年,主要玩過三種程式語言,java,C/C++三種,C#也用來設計過桌面測試工具,整體來講使用的企業和程式設計師相對java還是少太多了,現在java穩穩的第一程式語言,生態圈子根深蒂固,初學程式設計如何選擇程式語言,也需要遵守一定的規則,選擇上要儘量靠近主流語言,也不要太前沿雖然前景很不錯,但是企業實際的需求還不是那麼旺盛,所以選擇上不能走了彎路,以個人的經驗看選擇java相比C#更加靠譜點,當然如果對於C#這門程式語言非常的感興趣,那就不要考慮市場方面的因素了,畢竟興趣能讓人產生更多的動力。

    現在根據個人的一些經歷說下這兩種程式語言能做些什麼工作,java這門語言的涉獵非常廣泛,主要在app開發,web後臺,大資料等等領域都有著非常大的就業空間,目前開源社群最活躍的程式語言當屬於java了,可以在招聘網站上檢視最火的程式語言java當仁不讓的第一名,但是現在java入門的門檻相比之前的確提升了許多,之前很多機構培訓三個四月就能輕鬆找份java的工作,放在今天已經是不怎麼可能的事情了,主要現在每年有幾十萬人加入到程式設計的行業,加上之前總的程式設計師總數量已經有幾百萬的數量存在了,不僅僅是java,整個軟體行業的門檻都提升了,所以沒點真材實料很難找到合適的工作,即使現在java這門程式語言非常的火熱。

    C#當初就是微軟拿來對抗java的程式語言,這麼多年過去了,還抵不過java,但這門程式語言在實現上位機軟體以及在開發服務端後臺方面還是有著獨特的優勢,雖然就業的崗位麼有java那麼多,但總體數量也不少,總的感覺這門程式語言是在走下坡路,最近幾年微軟好像醒悟了一般,在各個層面在迎合開源社群,收購github等等都在全方位的向開源靠攏,市值也是重新贏來了爆發機會,從個人角度考慮還是覺得C#開發上位機軟體還是非常不錯,有些介面性的功能可以直接使用工具包拖拽效率非常高,不太建議作為程式設計入門語言,畢竟後續的生態鏈不是那麼有前景了。

    很多初學者對於python和go語言都有著不錯的印象,個人覺得還是有點超前,實際的招聘崗位對於這兩種語言用的還是相對比較少,但是現在很多機構在宣傳上的氣氛,儼然這兩種程式語言已經成為第一主流的程式語言了,所以在選擇程式語言的時候,直接去招聘網站上看看到底誰佔比高,不排除未來這兩種程式語言會有一個非常好的發展前景,但學完了就要吃飯就要養活自己,不能學完了沒有企業需要這種程式語言,時間長了學到這點理論知識很快就忘光了。

    有一定的程式設計經驗之後就會發現,程式語言只是工具一般的存在,熟悉掌握了一種程式語言之後再去搞別的就會方便很多觸類旁通,當然要達到這種境界需要時間,需要長時間的磨練。

  • 8 # hoek

    兩個都開源,c#語法更時髦一點,環境也簡單,就業也還可以因為人比較少,如果就是想寫寫小程式,那肯定c#好一些,畢竟直接生成exe,雙擊就跑了,當然linux環境下就和其他的差不多了。

    java就業錢比c#多,企業也多,但人也多,所以感覺差不多。java環境比較碎,個人學的話不好弄,但上限高,畢竟資源多,但前提是你得能學到那一步。自己寫著玩的話比.net麻煩一些。

  • 9 # 每日一囧嗷嗚

    其實他們的寫法用法很相近,學一個把另一個補一下就行,Java生態圈大並且穩固,很適合職業發展,C#的話雖然圈子小點,但能力絕對的強勁,比如EXCEL的外掛,桌面級應用,在日常的辦公中能起到很大的作用!但是就是平臺的侷限性有點大,不像java那麼通用…

  • 10 # 路馬程式設計

    首先,你的定位是什麼?你學java或者C#是用來做什麼的?單從語言角度來看,兩者大同小異,學習難度也差不多。

    1.如果你是想在Windows 下寫桌面程式,你可以用c++或者c#來寫,c#可以說是首選。剛開始我們可以學習winform程式設計,寫一下工具類程式或者管理系統軟體之類的,慢慢的對程式介面有追求可以學習wpf程式設計,需要熟練運用xaml。接下來我們可以學習ASP.NET,用來編寫網頁程式,還有至少得熟練運用一門資料庫,比如mysql, sqlserver

    2.做移動開發,比如安卓,常見的那些手機app,做網頁後臺開發,伺服器開發,嵌入式軟體開發(目前流行自動購物櫃機、玩具等等)再比如做一些大型的管理系統(公司人事管理系統、餐飲管理系統等等)或者具體一點比如是購物網站這些,那首選java,再配合JavaScript ,當然這些都離不開資料庫

    當然了,隨著你學習的深入,你會發現c#也並不是不能做java能做的那些事情,c#現在有了.net core可以開發安卓或者蘋果系統的app,只是各有所長而已。

  • 11 # 御印公子

    C.#,做做.net開發的也不少,遊戲的更多,java更有前途,這根據你專案需求來定吧,學會一個,另一個容易學會,學哪個都行,

  • 12 # 丁哥開講

    先來說一說Java和c#的一些語言細節上的區別。

    第1個方面是資料型別方面。

    c#支援nullable資料型別,而Java不支援。

    c#支援指標型別,而Java不支援。

    c#支援無符號整形型,而Java不支援。

    c#支援tuple型別,而Java不支援。

    c#支援值型別,而Java只支援原始資料型別的值型別。

    c#支援多維陣列定義,Java不支援。

    第2個方面是面向物件特性。

    Java支援內部類巢狀定義,c#不支援 。

    c#支援匿名類定義,Java不支援。

    Java支援列舉型別的介面實現,c#不支援。

    c#支援運算子過載, Java不支援。

    c#支援索引屬性,Java不支援。

    c#支援Properties, Java不支援。

    c#支援引用和輸出引數型別,Java不支援。

    c#支援Partial method, Java不支援。

    Java支援編譯異常判斷,c#不支援 。

    這兩門語言具體語言細節上的不同還有不少,這裡就不一一列舉了。

    再來說一下這兩門語言在具體應用中用途上的區別。

    c#支援如下的應用:

    首當其衝的是傳統桌面系統開發,得力於開源專案的大力推動,以及近年來微軟的覺醒, c#桌面系統的開發, 已經包含了各種平臺,諸如windows Linux和蘋果系統。

    其次就是手機系統的開發。從最開始的mono droid, mono iOS到現在的Xamarin。如果你懂c#,就可以做安卓手機開發以及iOS手機開發了。

    再次就是遊戲的開發。Unit3d的程式語言之一是c #。

    最後一個也是越來越熱門的,就是後端的開發asp.net core。這門跨平臺技術,可以讓開發者在不同的作業系統上開發後端。

    在此之前,微軟的ASP dot net mvc也是一門很主流的後端和前端結合的網路平臺開發技術。

    類似的Java支援如下的應用:

    第1個桌面系統應用。因為Java本身被幾乎所有的作業系統所支援,所以Java的桌面應用用途也非常廣泛。

    第2個Java也支援手機系統的開發,從最開始的j2me, 到後來的安卓開發, Java一直是手機系統開發的一門主流語言。

    第3個和第4個是Java支援龐大的spring家族系列。從最開始的spring mvc, 到後來的spring boot. 這一點跟c#有點類似。在網路程式開發這一部分可以說不相伯仲。

    總的來說,

    從使用的廣度上來說,c#佔一些優勢,

    從開發者的絕對人數上來說,java佔一些優勢。

    從語言的角度本身差別不是很大。

  • 中秋節和大豐收的關聯?
  • 如何正確面對領導的批評?