知乎神回復:如果一定要在C+和Java中選擇,應該選擇哪一種?

2020-12-26 騰訊網

結論:

(1)如果你是 計算機科班,大一學生,不需要立即找工作,想提高自己,那我的建議是: 把手上有關java 的書籍全部扔掉,換成C++ 的幾本經典書籍。

(2)如果你是想找工作,建議學習Java,畢竟以後想提升自己的時候,還是可以再學習C++ 的。

(3)如果你是外面培訓班出生,沒有科班背景,基礎不紮實,Sorry,目前階段你可能還配不上C++。

你如果選擇C++,那C++ 的難度與JAVA 比,那應該不在一個層次。因為C++ 作者及委員會 想給你帶來足夠的抽象能力,讓你可以抽象這個世界; 給你足夠的自由與控制硬體的能力,及零開銷的高性能。 特別是現代C++ 的發展, 可以帶來更多的組合,靈活方便,可以寫出非常精簡,有美感的代碼。這些導致了C++ 語法繁雜,學習曲線漫長。

但是學習C++ 同樣會給你帶來很多收益(前提是學好的情況下):

(1)你會變得自信,在有C++ 基礎上,學習go 1天,java的學習也就2-3天, 學習rust 也很快,一個月吧,再練習下就可以寫代碼了。當然我說的只是基礎語法的學習。 學習這幾門語言時,你就會感覺好輕鬆。

(2)自己的抽象思維能力會帶來提升,抽象思維是計算機領域最重要與基礎的能力。另外很多人吐槽C++ 程式設計師比較呆板,古董,且不懂設計模式。那是因為你沒有研究過好的C++的開原始碼,比如Folly, Wangle,mongogdb 。特別提下Folly 的promise/future 設計, 是C++的大牛 寫的, 基本上把每一行源碼都看懂了,寫的真好。

(3)通過學習C++ , 可以學習到很多通用的知識,這些知識也是可以遷移的。 C++ 的oop及資源所有權與生命周期管理, C++的異常處理, C++的泛型設計,C++的元編程,C++的異步編程及Lock-Free 設計等.在學習Lock-Free 過程中,你會發現並發程序設計與資料庫中的並發控制的思想非常類似, 比如: Lock-Free 中的Hazard Pointer 裡面 不就有MVCC 的思想麼, CAS-loop 操作不就是一種樂觀的思想麼。

另外如果你觸及到內存一致性模型的本質的話,你很有可能會去讀lamport 的經典paper ,對以後學習分布式系統很有好處。 我在學習C++ 的過程中,是先走了一遍基礎,然後逐個擊破,並輔助一定的實踐,花了大量時間,不敢說學的比較好,只能說我在看一些優秀的開原始碼時,心裡沒有畏懼感了,因為有能力可以深入到任何代碼細節。

這裡特別提一下C++ 的Lock-Free 程序設計:

我學習C++ ,是工作了多年之後,感覺最燒腦的是Lock-Free 程序設計, 為了學習這貨,看了很多內存一致性模型相關的paper,把看了一遍(千萬不要看中文版,且不要看網上的一些文章),應該是理解的非常透徹,並輔以實踐,我是看的brpc 中相關Lock-Free 設計及Folly 源碼。 這裡提下java : java 的內存一致性模型與C++同根同源,在java 中,很多人可能只知道volatile,但是volatile 開銷太大,在這點上C++ 又給了你足夠的靈活性與不同性能的選項。

另外有人diss 了 這本書。我覺得作為C++ 入門書籍非常好,主要是翻譯的比較好。 但是相關地方,如果你想把知識點連成線的話,需要自己拓展和總結下。

當然,如果你想把C++ 學的好點, 至少要看5-6 本經典書,並賦予實踐。

Anyway , it's only up to you !

相關焦點

  • 知乎上一些碾壓智商的神回復!
    ,都讓人有一種想要頂禮膜拜的趕腳,因為知乎上不僅有很多高冷大神,而且還有一大批的逗比段子手,不信,你看!答:天寒地凍的,哪有時間和你磨嘰。問:你怎麼看待相親?答:相親這件種事唯一的價值就在於:當你見到相親對象的那一刻,你就知道你自己在介紹人眼中是個什麼貨色了。問:有什麼詩詞拼湊得讓你覺得很精彩?答:情不知所起,一往而深,再而衰,三而竭。問:35 歲了還不結婚的男人是什麼心態?和他們談戀愛靠不靠譜?
  • 如果你是宋朝將領,給你這四種兵器,你會選擇哪一種?
    在古代冷兵器戰爭中,選擇一把趁手的兵器是非常重要的。如果沒有合適的武器,即便是有很強的實力也難以發揮。如果你是宋朝將領,給你這四種兵器,你會選擇哪一種? 第一個:梨花槍
  • 推薦幾款可以直接在手機上編程的app(包含Java、C、Python等)
    大部分都不需要root,可以直接編寫程序並運行,下面我簡單介紹一下這3個app的安裝和簡單使用,主要內容如下:一.AIDE集成開發環境:這個主要是用來寫java代碼(創建工程、寫小遊戲等),當然也可以寫c++代碼,只不過需要安裝對應的插件才行,自帶自動補全的功能,界面乾淨、整潔,使用起來不錯,下面我介紹一下這個app的安裝和簡單使用:
  • 如果一定要在《火影忍者》選擇TOP5...
    我心中的TOP5一臉天真,毫無怨言:「我是再不斬先生的武器,,我會乖乖聽話的,請把我當成工具,讓我跟在您身邊吧「 曾經感動和震撼了多少人的心!Top2:我鼬神大愛無私,隱忍負重的鼬神,這樣的哥哥,請給我來一打!
  • 問號臉為什麼 Java 中1000==1000 為 false而 100==100 為 true
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫為什麼 Java 中「1000==1000」為false,而」100==100「
  • 100條知乎神回復,毒舌是這樣煉成的
    5.問:曖昧是什麼?知友:苑小帥曖昧=愛日未日問:一個美女在吃糖葫蘆,怎麼問才能讓她相信我不是來搭訕而是想知道糖葫蘆在哪買的?知友:屠錢錢「美女,你好,你真漂亮,老遠就看見你了,就想過來跟你打個招呼.那個,我想打聽一下,你吃的糖葫蘆是在哪兒買的?」
  • Java中的 "弱" 引用有啥用?
    對於簡單的情況, 手動置空是不需要程式設計師來做的, 因為在java中, 對於簡單對象, 當調用它的方法執行完畢後, 指向它的引用會被從棧中彈出, 所以它就能在下一次GC執行時被回收了。但是, 也有特殊例外.
  • 又一大波,知乎神回復在接近了!
    問:為什麼中國人這麼喜歡拍古裝片?知友:magasa科幻片面臨的最大問題是,在未來時空還要不要黨的領導?5.問:曖昧是什麼?知友:苑小帥曖昧=愛日未日6.問:女朋友和女性朋友有什麼區別?知友:James Swineson中國人取名字有一個習慣:實際上缺什麼,一定要在名字裡補上,五行圓滿才行。7.問:一個美女在吃糖葫蘆,怎麼問才能讓她相信我不是來搭訕而是想知道糖葫蘆在哪買的?知友:屠錢錢「美女,你好,你真漂亮,老遠就看見你了,就想過來跟你打個招呼.那個,我想打聽一下,你吃的糖葫蘆是在哪兒買的?」
  • 無主燈設計和主燈設計,你會選擇哪一種?
    無主燈設計和主燈設計,你會選擇哪一種?最近,有很多人問我,要幫它們做無主燈燈光設計,一般是以小戶型的為主,我就問了它們,你們為什麼選擇無主燈設計,而不用主燈燈光設計?它們的回答大多無主燈設計比較流行,親朋好友都採用這種設計,所以自己也想做一套這樣家居燈光設計。
  • Java 中的繼承和多態(深入版)
    在這三個特性中,如果沒有封裝和繼承,也不會有多態。那麼多態實現的途徑和必要條件是什麼呢?以及多態中的重寫和重載在JVM中的表現是怎麼樣?在Java中是如何展現繼承的特性呢?對於子類繼承於父類時,又有什麼限制呢?本文系基礎,深入淺出過一遍 Java 中的多態和繼承。多態多態是同一個行為具有多個不同表現形式或形態的能力。
  • 防曬霜和隔離霜應該先用哪一個?只選擇一種可以嗎?以後別再用錯
    愛美之心人皆有之,如果想讓自己看起來更加的漂亮,首先也是要注意好好的護膚的,現在我們在生活中可以使用的護膚品的種類也是非常多的,除了水乳霜之類的以外,防曬霜和隔離霜也是少不了的,不過有很多的人在使用的時候也都是比較的糾結,到底應該先用哪一個?只選擇一種可以嗎?
  • 心理測試:四個選擇一個,測試你的哪一種特質最受歡迎
    那麼,你的哪一種特質會讓你特別受歡迎呢?試驗開始:一、紙船。一是海鳥。c.海洋。是嗎,女孩。分析測試:你選擇了A,善解人意,熱心腸。你們是很親密的一群人,很快就能拉近彼此之間的距離,而且常常能使彼此感覺到溫暖,總之,和你們在一起會使人們感到非常放鬆和舒適。
  • 如果,命運能選擇
    ☊不知道你有沒有聽說過這樣的一個梗:用粵語說一句「如果」,假如你下一句接的是「命裡早註定分手」,那麼,你大概是有一定年紀的人;(笑)但假如你下一句接的是「命運能選擇」,那麼……你一定知道一部神劇,也是第一部被禁的
  • 如何隱晦的表達我想你~知乎超讚「神回復」集萃
    今天整理了截至2015年1月27日為止,全"知乎"平均每字數贊最多的96個答案,個個都是神回復啊!
  • 選擇一種交通工具,就像選擇了一種旅行電影的風格
    隨著春天的深入,或許我們應該收起車鑰匙,嘗試著多種方式去旅行。選擇一種交通工具就像選擇了一種旅行電影的風格有些城市的旅行交通工具,出現在各種風格的電影中,就像這個城市的標籤,留下一個或文藝或清新的痕跡。
  • 約會前一定要帥,本年度男士服裝的最佳選擇!是男人一定要捧場
    如果不想,請帥氣的打扮起來,愛美不應該僅僅是女孩子的選擇。試問,那個女孩子不喜歡帥哥?那個女孩子不喜歡見面第一印象帥氣的男生? 幻果果長期以來一直主要寫女裝,這次給各位男士們帶來一期帥氣的男裝時尚,是男人就一定要捧場。 男子協調搭配的3條鐵律 鐵律1.顏色應以暖色為中心,以賦予季節感。
  • Java 集合框架綜述,這篇讓你吃透!
    搜索公縱號:MarkerHub,關注回復[ vue ]獲取前後端入門教程!Set 是一種不包含重複的元素的 Collection,無序,即任意的兩個元素 e1 和 e2 都有 e1.equals(e2)=false,Set 最多有一個 null 元素。
  • 如果今年你和家人只能選擇看一部電影的話,你會選擇看哪部
    與其預測今年的電影票房,還不如問:如果今年你和家人只能選擇看一部電影的話,你會選擇看哪部?愛國主義民族自豪感這兩年已經有好幾部有質量電影,讓中國觀眾得到了釋放和滿足,所以今年春節檔,愛國和民族自豪感的電影肯定不會是首選,而是懷舊溫情合家歡類型。懷舊可能也是2020年最流行的主題。哪部電影切中了這個主題,那該部電影票房絕對會爆,或者說一定是三甲之內。
  • fate:如果你是男主士郎,你會選擇哪條線?
    .-),看過之後讓人感慨頗多,隨著該劇場版的放送,之後第三章放送後,fate stay/night系列的三條線算是全部動畫化完畢了,那麼很有意思的事情出現了,如果放到現實中,如果你是男主士郎,你會選擇哪條線呢?PS:一般來說走哪條線全看廚力,有人喜歡吾王,有人喜歡櫻,還有喜歡凜的,所以眾口難調。當然對於黑粉來說,臺鉗、熔爐、水泵,都差不多。所以從現實中實際靠譜的想法去思考比較好。
  • 牧者靈修丨詩篇:選擇愛耶和華,也要選擇恨惡罪
    如果神在我們的生命中作王,我們必然是一個歡喜快樂的人;神在我們的家庭中作王,我們的家必然是歡喜快樂的;神在我們教會、我們的國家、我們的團體、我們的公司中作王的時候,我們都必歡喜快樂。神在哪裡作王,哪裡就有歡喜快樂。神作王掌權的時候,就有公義、公平、慈愛、平安、就有榮耀。2節,「密雲和幽暗在祂的四圍;公義和公平是祂寶座的根基。」