如果提到一種語言,可能說這輩子都不敢說精通,有相當數量的人輝選擇c++,看看大家如何評述c++,

用了兩年的c++,轉學別的語言發現從未有過的輕鬆感。

c++這門語言比較特殊,是大家公認的人類不能精通的一門語言,如果精通了基本確定這人是非人類了。

從大一就開始學,畢業十幾年了還是在學,還是有很多不會。

還沒畢業寫簡歷寫著精通C++,工作了好多年之後,簡歷中寫著熟悉C++

C++到底有多難惹得大家這麼懼怕,為啥這麼多人覺得學不會C++

記得有人說過這麼一句話,要學會C++幾乎相當於學會了好幾種語言,C語言,OOP,STL等,每一個都夠你學上幾年。

c++語法細節繁多,特別是編譯的過程

c++為了增加運行過程的安全性,嚴格控制編譯的每個技術細節,這下可是苦了,入門的或者技術底子不厚的程序員,每一次重構模塊或者大的模塊升級,簡直就是經歷一次噩夢。重構了幾百個函數,基本上能產生上萬個編譯錯誤,筆者曾經用chromium的javascript的引擎V8代碼直接對接網頁播放器,為了提高性能用c++層面對接,在一次升級中,發現V8中的基礎介面都能大規模的變動,50多個函數需要重構,整整一天一動沒動才編譯過,晚上做地鐵回家直接倒床就睡一覺到天亮。這就是c++經常帶來折磨。

每次經歷這種事情之後都會覺得C++還需要繼續提升,就會拿出c++的泛型編程以及類庫的實現重溫一遍。還發現一個現象,在開源項目中只要是C++寫的代碼,重構的概率會特別高,同樣是一個代碼模塊這次拿下代碼研究的時候是這麼實現的,沒過幾天梳理代碼的時候發現實現方式又有寫的變化,看明白了發現功能基本一致,實現的模式卻不盡相同。google的工程師這種事情乾的太多了,研究過chromiun源碼的小夥伴估計會有這種印象。

c++中的編程思想框架組合極多

c++的版本還在不斷的更新,每次更新都會帶來大量的新鮮玩意,當你還沒適應完上一個版本的規則的時候新的版本又會帶給你新的衝擊。c++中泛型編程變幻無窮,為了防止內存泄露用上的類模板,消耗的心思都快趕上自己去管理內存了。所以造成一種感覺在寫代碼的時候,永遠覺得還會有更好的實現方式,所以在重構次數最多的編程語言中,c++頻率是最高的,在這種痛苦的折磨中會產生難以割捨的感情。

做的時間越長,越是覺得這門語言的博大精深,越是覺得自己掌握的淺薄。筆者前幾天查看了實際編程語言排行榜,發現c++穩居前三,不能只看到國內的排行榜,放眼全球c++在編碼界還是不折不扣的強勢語言,更多是在底層搭建框架,我們大家現在使用的安卓手機的框架層很大一部分是c++實現,很多軟體的底層框架都是c++來擔當。

為什麼還是有那麼多人喜歡用c++?

目前世面上恐怕沒有一種語言,執行效率高同時又具備豐富的編程框架。正是這兩種特性,所以大多數的底層框架設計c++是不二人選,其實c++語言本身暗合了優秀程序員自身很多特質,優秀的程序員都喜歡不斷嘗試更優的程序,會不斷的重構自己的代碼,而c++自帶這麼多的組合,不得不在寫完代碼之後回過頭來看看還有沒有更好的方法。優秀的程序員還會喜歡迎接挑戰,c++提供了最優的平台,在這種相愛相恨中,變得更加緊密。

很多的架構師都對c++語言愛不釋手,喜歡拿C++裡面的思想來磨練自身的基本功,做的時間越長越覺得神聖。所以很多高手一般都不建議入門語言選擇c++,可能直接把很多優秀的編程苗子擋在大門之外。

痛並愛著,可能是最高的編程境界了。

如果你想要學好C++最好加入一個組織,這樣大家學習的話就比較方便,還能夠共同交流和分享資料,給你推薦一個學習的組織:大牛小白C++組織 可以點擊編程二字,可以直達?

歡迎加入一起玩轉編程


推薦閱讀:
相关文章