既然C++不如Java、Python,為什么還要學C++?


在2020年9月的編程語言排行榜中,C++排名第四。既然C++的發展不如Java、Python,我們為什么要學習C++?在有Java、Python等優秀編程語言存在的情況下,C++它的魅力與優勢是什么,今天我們來了解一下:


 

我們到底要不要學 C++?當然要,而且必須要。為什么?

C++ 雖然包袱很多,但是有好東西,例如 Rust language reference 提到的幾點,值得學習(當然你直接學習 Rust 更好);

C++ 背后的 ABI(包括對象模型、異常的實現等)對於其它語言實現的學習也是大有脾益的;

當然上述兩點都不是充分的理由。我認為最充分的理由是——很多時候你逃不掉 C++:

我寫 JS 的 —— Chrome V8, 查克拉,WebKit 清一色的 C++,還都是現代 C++;

我寫 Swift/Rust ... 的——左轉 Clang/LLVM,清一色的 C++ 11;

我寫 Unity 的 —— 你猜,Unity 用什么寫的?

我寫 C#/Java 的——再猜,CoreCLR/主流的 JVM 等用啥寫的?

我寫 C 的 —— clang C++ 寫的,Windows 的 UCRT C++ 寫的,GCC 也逐漸加入了 C++;

我搞機器學習/深度學習/... ——TensorFlow & caffe 是啥寫的?

我搞 OJ——劉汝佳的書,以及《挑戰程序設計競賽》等,用啥語言完成示例?

……此處省略10萬+字


 

還有一條,學C++雖然難一些,但是正因為這個,C++的薪資也是偏高的,網友都說了要高薪就學C++,因為:

要是技術牛逼的有3-5年工作經驗的,一線城市年薪20-30萬沒有問題。剛畢業,又沒什么基礎的,一線城市2000-4000不能再多。剛畢業,C++知識扎實,普通二流三流四流本科的,一線城市3000-6000。剛畢業,C++知識扎實,985重點的,一線城市6000-10000都有可能。

做程序員純粹的腦力活兒,而且你只會C++這個語言,並不一定能代表你的能力。想做程序員,要學的東西很多,從底層的硬件要了解一些,到上層的抽象。還有通信,網絡,所以思想是很重要的,而且要一直學習新的東西。語言只是工具,重要的是編程思想。你的編程思想好,哪個語言其實都很行。干程序員這行,如果你是偏向軟件開發的,經常加班是肯定的啦。重要的是你喜不喜歡編程,你喜歡這行,就算累點,也是開心的。工資什么的,程序員很在意的就是經驗,你寫的代碼多了,開發的經驗有了,時間長了,工資是一個質的飛躍。一般剛入行都不高,3000左右吧,當然有拿的比這個多的,看個人情況了,3年左右大概會上在萬元左右,再長些,年薪按幾十萬算了。


 

C++到底是何方神聖,有經驗的居然能拿到幾十萬年薪?

這就給你們講講這個C++,一般學C++前都要學C,所以通常叫它們C/C++。C/C++歷經40年,也被稱作“永不過時的開發語言 ”。因為C/C++在國內的應用范圍非常廣泛,無論是在PC、移動設備、網絡、通訊、圖像、游戲、硬件驅動、嵌入式等行業,都獲得了足夠的市場份額。這主要是因為C/C++語言的穩定性及跨平台性。根據2015年3月編程語言排行榜,C++位居第四位,C語言繼續穩占第一位,根據2016年以及2017年編程語言排行榜,C/C++依舊位居前十,它繼續用事實證明C/C++語言在編程語言中的霸主地位。

C/C++作為應用特別廣泛的編程語言之一,其從業人員的需求量也非常大。其中具備2年以上從業經驗,能熟練的編寫程序並做軟件分析和設計的中高級工程師缺口很大,其市場需求度比C/C++初級程序員的需求還要大,尤其是在北京、上海、廣州、深圳等城市。據統計,我國軟件開發人才在2013年缺口就已經達到35萬,現在每年仍以20%的速度在增長。

目前打算從事C/C++領域的人也增加了很多,C/C++初級人才缺口暫緩,然而中高級人才的培訓卻不是一蹴而就的,目前各大IT企業都在急招和搶招具備多年經驗的C/C++工程師,C/C++工程師依然成為香餑餑。


 

那么,要成為C/C++軟件工程師,需要具備什么條件呢?

C/C++工程師是運用C/C++這個開發工具去完成軟件的需求分析、程序設計、算法、開發、測 試、維護升級等工作,高級的工程師還需要做系統架構,包括業務需求的分析與溝通,功能模塊詳細設計,業務功能實現與單元測試,系統維護;參與產品構思和架 構設計,還需要撰寫需求文檔、技術文檔、解決技術難題等。

會編寫點C/C++程序的人不少,然而真正滿足企業要求的C/C++工程師少之又少。現在企業對軟件的要求比較高,不僅要用到比較通俗的技術,更會用到多種新技術,開發的產品也是五花八門,可能要解決各種難題。許多新手編寫比較通俗的程序(如考試系統、購物商城、CMS等)比較得心應手,然而碰到一些新東西,新需求,就束手無策。所以只有具有軟件工程知識,具備算法思想和開發思想,了解常用的各種技術,具備解決各種技術難題的能力,還需要具備一定的溝通和表達能力,才能成為真正合格的C/C++工程師。

 

 

感謝您的閱讀,以上就是對我們 為什么要學C++的一些看法,其實任何編程語言都有他自身的魅力,你要選擇一門你所喜歡的編程語言並且迎合它,也就是想辦法將他的魅力發揮到極致,那么你還用擔心薪資的問題嗎?好了,更多C++相關的內容盡在C語言/C++學習君羊,敬請關注!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM