為什麼要學C++?因為它比你想像的更強大

老九學堂 發佈 2022-04-17T13:55:05.661655+00:00

C++是「C Plus Plus」的簡稱。顧名思義,C++是在C語言的基礎上增加新特性,玩出了新花樣,所以叫「CPlus Plus」。C++和C語言的血緣關係C++ 和C語言雖然是兩門獨立的語言,但是它們卻有著扯也扯不清的關係。早期並沒有「C++」這個名字,而是叫做「帶類的C」。

c++是「C Plus Plus」的簡稱。

顧名思義,C++是在C語言的基礎上增加新特性,玩出了新花樣,所以叫「CPlus Plus」。

C++和C語言的血緣關係

C++ 和C語言雖然是兩門獨立的語言,但是它們卻有著扯也扯不清的關係。

早期並沒有「C++」這個名字,而是叫做「帶類的C」。

「帶類的C」是作為C語言的一個擴展和補充出現的,它增加了很多新的語法,目的是為了提高開發效率。

這個時期的C++ 非常粗糙,僅支持簡單的面向對象編程,也沒有自己的編譯器,而是通過一個預處理程序(名字叫cfront),先將C++ 代碼「翻譯」為C語言代碼,再通過C語言編譯器合成最終的程序。

隨著C++ 的流行,它的語法也越來越強大,已經能夠很完善的支持面向過程編程、面向對象編程(OOP)和泛型編程,幾乎成了一門獨立的語言,擁有了自己的編譯方式。

作為能夠處理底層事務的程式語言,C++似乎總是在學習難度上吊打其他語言,畢竟一個十幾年經驗的C++程式設計師,也不敢說自己精通C++。

所以C++從本質上來說,就是一門學習難度很高的程式語言,更別說,對於我們初學編程的小夥伴了。

於是,大多數小夥伴在學習了一段時間的C++之後,幾乎都會有相同的感受,大概就是

「我天天學 C++,學了一年,只會搞個小黑框,連個貪吃蛇都做不出來,到底學來有什麼用?」

「C++之父」BjarneStroustrup 在創造C++之初,是想要一種能夠兼顧在表達高級概念的同時也在底層與硬體溝通需求的語言。

他說,「C++ 是一種靈活的語言,它既能處理底層事務,也能處理高層事務。但它並非完美,隨著語言成熟度、兼容性以及穩定性而來的,是語言的複雜性——我們無法摒棄某些陳舊的部分。」

而C++之所以能夠幾十年長盛不衰,且作為一直排名比較靠前的程式語言,它真正的優勢在於:

一方面,它面向對象,允許直接訪問計算機,最大程度地提升效率;

另一方面,它也能讓你使用可承受的高效方法,(非人工介入地)來掌控系統的複雜度。

而作為一種成熟的語言,C++基本上已經覆蓋了大家能夠想到的一切行業及應用領域——包括金融、農業、航空航天、半導體、設備驅動等等。

目前世界上所有流行的作業系統都是用C/C++實現,比如Window系統,蘋果系統等;

目前幾乎所有網際網路公司伺服器的解決方案均選擇C/C++實現,如最主流的Nginx伺服器,Apache伺服器;

還有我們比較熟悉的幾個領域

一、 遊戲


C++是遊戲引擎和開發的首選,從維基百科列舉的遊戲引擎列表中,有61%的制定遊戲引擎都是用C++實現的,包括《孤島驚魂》《反恐精英》《天際》等。


二、 網站


C++是多數網站後端系統的語言首選,排名前五的網站Google、Facebook、YouTube、Yahoo、Amazon中,4個網站都使用了C++。


三、 人工智慧


在人工智慧領域(語言合成,圖像識別等)實際工程化,需要達到幾萬的並發,這種情況下需要耗用大量的GPU資源,成本非常高。用C++提高計算效率,C++在工程上用處很大。

C++的優勢在哪裡

1、不管你走什麼樣的技術路線,不管你用不用它做開發,學習C++總會帶來長遠的好處。一名熟悉C++的開發人員,假如他不是一個偏執狂的話,再學習java或C#,都要容易得多。

2、競爭力小,現在很多大學都主流教java,因為java相對C++簡單,而且應用範圍也蠻廣的,但很多人覺得C++很難所以就放棄了,也就造就了C++競爭力小,而且真正的高級C++程式設計師很搶手的,可以說是,有錢都不一定招得到。


3、工資高,C++程式設計師工資普遍比其他語言高,當然是在同等技術情況下,不可能一個C++普通程式設計師和一個java的老鳥比。

如果普通java程式設計師和普通c++程式設計師相比的話,基本上都是C++程式設計師工資高一些,而且C++的上限比java高太多了。


而Bilibili上,也已經有百萬老九軍在老九學堂的陪伴下,一直向著C++的夢想前進著。

我們也希望這麼多一直信任著老九而學習C++小夥伴們,能夠不僅僅是停留在初學入門的階段,而是在我們的幫助下,用C++實現或是開發遊戲、或是校招、或是就業這樣的目標,能夠真正地學以致用。

關鍵字: