回覆列表
  • 1 # 大學生程式設計指南

    作為一個寫了十幾年程式碼的老司機,對於這兩種語言都有過涉獵,本人倒是沒覺得兩種語言之間有多少感覺,兩種程式語言的主題思想都是面向物件的程式設計,只不過應用場景還是略有差異,先是在c++下面做專案,後來轉化到java專案中,作為兩種程式語言都使用的人,現在簡單介紹下。

    c++主要用在客戶端系統級開發上面,算是程式語言中比較難的,不建議初學者直接選擇c++就程式設計思想而言顯得沒有那麼複雜,但是就具體的語法細節還是相當的繁瑣,這也是很多程式設計高手對於c++不爽的地方,但是真要挑選一種程式語言,既能貼近底層又能有面向物件的程式設計思想恐怕只能是c++,所以很多客戶端的框架程式碼都是基於c++完成,像安卓框架層,瀏覽器核心等都是c++作為主力開發語言,雖然這是一門很難的程式語言,但是很多架構師的最愛。

    java語言相比c++在語法細節上已經簡化太多了,java主要氛圍兩個方向,一個是客戶端一個是服務端方向,客戶端主要指的是app的開發,兩者共同的點需要把java基礎弄紮實。從c++轉戰到java開發有一種比較輕鬆的感覺,終於擺脫了語法繁多的細節問題,相對來講java入門比較容易,但要成為高手還是相當困難。

    單純的比較兩種意義不是很大,每種程式語言都有其存在的必要性,真要不堪一擊早就被市場淘汰了,每一種程式語言都有其自身優點,不需要比較一個高低貴賤,找到合適的觸發場景就夠了,在現實的生活中可能會存在做高階語言羨慕底層開發語言,覺得底層程式設計比較難,畢竟還需要和指標打交道,覺得特別難,做c/c++又會覺得高階語言變通性太強,需要很強的框架支援,會覺得腦子不夠用的,要說之間會產生什麼挫敗感之類基本上不存在的事情,無論是什麼程式語言,合適的就是最好的。

  • 2 # 井151276607

    當需要開發一個強人機互動系統時,需要c++,比如安卓環境、CAD工具。當需要開發一個需要持續整合、眾多人協同工作的、功能碎片化的系統時,java了可作為首選。介於兩類之間的企業應用,可同時使用c++和java開發,他們的相容性很好。

  • 3 # 滿級槓精

    為什麼。誰告訴你的,在it業十幾年從來沒聽到這種說法。java就業率對比c++遙遙領先。倒是很多c++程式設計師因為公司產品轉型,為了不被裁迫不得已轉做公司的java專案。

  • 4 # aCHAOS

    哪裡來的邏輯?不考慮業務場景單說語法和標準庫,c++是真難用,純c寫程式碼有時都比c++舒服。程式語言和程式碼最重要的還是解決實際問題而不是找優越感。

  • 5 # JustCodecodecode

    也沒有吧。我之前寫c/c++。寫了半年java又 現在寫python。給我的感覺是操作資料庫和網路程式設計方面java python是真tm好用……但是效能方面不敢恭維。語言沒有高低之分。觸類旁通吧。重要的是思維

  • 6 # cpp架構

    c++和Java沒有可比性。

    c++完全相容c語言,主要用於底層開發,比如:驅動、作業系統、核心(目前核心大多用c開發)、虛擬機器、開發工具、引擎、伺服器等,Java虛擬機器就可以用c++開發。c++具有更高靈活的記憶體控制、指標控制、高效的執行效率。以前的端遊伺服器,全是由c++開發(c++90%以上程式碼,場景指令碼、ai、技能擴充套件指令碼用lua開發),啟動伺服器瞬間開闢玩家、場景等記憶體池,遊戲玩家上線不會頻繁new操作,只需要從記憶體池中取相應的記憶體,同時避免了記憶體碎片化問題。【更多說明: 魔獸世界、劍網三、傳奇,大家熟知的大型網遊都是採用c++開發。有興趣的可以研究Trinity原始碼(魔獸世界伺服器模擬),網路庫採用boost.asio開發】

    Java主要是上層開發,現在很多伺服器都是用Java開發。語法和c#類似,語法相對簡單幹淨,容易上手,現代伺服器開發流行的語言。現在很多手遊都選擇Java做伺服器了,沒必要考慮那麼多效能問題,快速開發上線才是首要目標。目前的Android系統之上就執行著一個龐大的java虛擬機器,所以同樣的配置情況下ios的效率吊打Android。

    除此以外,c++做跨平臺比較麻煩,需要用大量的#if #define做跨平臺程式碼處理,由於Windows和Linux核心不一樣,網路socket、執行緒等都需要單獨處理。Java就完全不用考慮這方面的問題,Java虛擬機器已經幫你做好了跨平臺處理,你只需要把Java原始碼拷過去就OK了。

    對於語言選擇上,如果沒有特別高的效能要求,或者對c++指標、記憶體把握不到位的話,建議選擇Java語言。

  • 7 # 標記清除

    沒有這種說法。C++確實要比Java難度大,但難度大並不代表這是優勢,更不代表這種語言更高階。寫程式牛不牛逼不取決於語言,而取決於你做的是什麼專案,用的是什麼演算法、什麼架構、什麼思想、什麼模型等等...

    如現在越來越牛逼的機器學習、深度學習等AI專案大多用的是比Java更為簡單易學的Python語言或Lua和R語言。如Python更是成為了科學專案專業戶語言,你能說用python的就比C++不牛逼?

  • 8 # 李CODER

    有一個事實必須要承認,c++的業務開發效率,真的不是一般的低。在開發的時候你需要注意各種雞零狗碎的東西。

    比如你得小心指標的使用,一不小心就會遇到空指標和野指標的問題,而且一旦出了這樣的問題導致了崩潰,真的很難查。厲害高階程式設計師,在一個c++大型專案中遇到野指標難題,十個裡面能找出八個就已經是高手了。

    還有就是臭名昭著的記憶體管理問題,全都得自己控制申請和釋放,真的好難。

    而Java就少了指標同時也增加了記憶體回收機制,對於開發業務的程式設計師來講,簡直就是福音。真的,一個c++十天能搞定的專案,人家Java最多五天就搞定了。

    生產力是第一要素呀,c++怎麼敢在人家Java面前抬高頭顱裝高貴呢。

    我是程式設計歷史主義者,c++的存在的價值很大一部分是為了相容c語言,因此也為此付出了生產力不高的代價。

    最後,不要比來比去了,如果真的要比的話,還是得針對不同的應用場景去分析,要不然就找不到比較的那把尺子!

  • 9 # 哎喲吼123

    這種標題一點沒有意義。

    面對物件程式設計OOP,難得都不是語言本身。

    而是抽象,正所謂,成也抽象,敗也抽象。

    抽象方法可謂是OOP的任督二脈

  • 10 # 肖宏明1

    也是,JAVA程式設計師基本可以鄙視95%以上的c++程式設計師,實際專案中,一個沒接觸電腦的人最多三個月就能做c++開發。c++程式設計師也是水平差異最大的群體,牛的超牛(感覺不超1%),其它也就值3000-10000。

  • 中秋節和大豐收的關聯?
  • TCL的電視買哪種的好?