如果提到一種語言,可能說這輩子都不敢說精通,有相當(dāng)數(shù)量的人輝選擇c++,看看大家如何評(píng)述c++,用了兩年的c++,轉(zhuǎn)學(xué)別的語言發(fā)現(xiàn)從未有過的輕松感。c++這門語言比較特殊,是大家公認(rèn)的人類不能精通的一門語言,如果精通了基本確定這人是非人類了。
從大一就開始學(xué),畢業(yè)十幾年了還是在學(xué),還是有很多不會(huì)。還沒畢業(yè)寫簡(jiǎn)歷寫著精通C++,工作了好多年之后,簡(jiǎn)歷中寫著熟悉C++,C++到底有多難惹得大家這么懼怕,為啥這么多人覺得學(xué)不會(huì)C++,蘇州網(wǎng)站建設(shè)記得有人說過這么一句話,要學(xué)會(huì)C++幾乎相當(dāng)于學(xué)會(huì)了好幾種語言,C語言,OOP,STL等,每一個(gè)都?jí)蚰銓W(xué)上幾年。
c++語法細(xì)節(jié)繁多,特別是編譯的過程
c++為了增加運(yùn)行過程的安全性,嚴(yán)格控制編譯的每個(gè)技術(shù)細(xì)節(jié),這下可是苦了,入門的或者技術(shù)底子不厚的程序員,每一次重構(gòu)模塊或者大的模塊升級(jí),簡(jiǎn)直就是經(jīng)歷一次噩夢(mèng)。重構(gòu)了幾百個(gè)函數(shù),基本上能產(chǎn)生上萬個(gè)編譯錯(cuò)誤,筆者曾經(jīng)用chromium的javascript的引擎V8代碼直接對(duì)接網(wǎng)頁播放器,為了提高性能用c++層面對(duì)接,在一次升級(jí)中,發(fā)現(xiàn)V8中的基礎(chǔ)接口都能大規(guī)模的變動(dòng),50多個(gè)函數(shù)需要重構(gòu),整整一天一動(dòng)沒動(dòng)才編譯過,晚上做地鐵回家直接倒床就睡一覺到天亮。這就是c++經(jīng)常帶來折磨。
每次經(jīng)歷這種事情之后都會(huì)覺得C++還需要繼續(xù)提升,就會(huì)拿出c++的泛型編程以及類庫(kù)的實(shí)現(xiàn)重溫一遍。還發(fā)現(xiàn)一個(gè)現(xiàn)象,在開源項(xiàng)目中只要是C++寫的代碼,重構(gòu)的概率會(huì)特別高,同樣是一個(gè)代碼模塊這次拿下代碼研究的時(shí)候是這么實(shí)現(xiàn)的,沒過幾天梳理代碼的時(shí)候發(fā)現(xiàn)實(shí)現(xiàn)方式又有寫的變化,看明白了發(fā)現(xiàn)功能基本一致,實(shí)現(xiàn)的模式卻不盡相同。google的工程師這種事情干的太多了,研究過chromiun源碼的小伙伴估計(jì)會(huì)有這種印象。
c++中的編程思想框架組合極多
c++的版本還在不斷的更新,每次更新都會(huì)帶來大量的新鮮玩意,當(dāng)你還沒適應(yīng)完上一個(gè)版本的規(guī)則的時(shí)候新的版本又會(huì)帶給你新的沖擊。c++中泛型編程變幻無窮,為了防止內(nèi)存泄露用上的類模板,消耗的心思都快趕上自己去管理內(nèi)存了。所以造成一種感覺在寫代碼的時(shí)候,永遠(yuǎn)覺得還會(huì)有更好的實(shí)現(xiàn)方式,所以在重構(gòu)次數(shù)最多的編程語言中,c++頻率是最高的,在這種痛苦的折磨中會(huì)產(chǎn)生難以割舍的感情。
做的時(shí)間越長(zhǎng),越是覺得這門語言的博大精深,越是覺得自己掌握的淺薄。蘇州網(wǎng)站建設(shè)小編前幾天查看了實(shí)際編程語言排行榜,發(fā)現(xiàn)c++穩(wěn)居前三,不能只看到國(guó)內(nèi)的排行榜,放眼全球c++在編碼界還是不折不扣的強(qiáng)勢(shì)語言,更多是在底層搭建框架,我們大家現(xiàn)在使用的安卓手機(jī)的框架層很大一部分是c++實(shí)現(xiàn),很多軟件的底層框架都是c++來擔(dān)當(dāng)。
為什么還是有那么多人喜歡用c++?
目前世面上恐怕沒有一種語言,執(zhí)行效率高同時(shí)又具備豐富的編程框架。正是這兩種特性,所以大多數(shù)的底層框架設(shè)計(jì)c++是不二人選,其實(shí)c++語言本身暗合了優(yōu)秀程序員自身很多特質(zhì),優(yōu)秀的程序員都喜歡不斷嘗試更優(yōu)的程序,會(huì)不斷的重構(gòu)自己的代碼,而c++自帶這么多的組合,不得不在寫完代碼之后回過頭來看看還有沒有更好的方法。優(yōu)秀的程序員還會(huì)喜歡迎接挑戰(zhàn),c++提供了最優(yōu)的平臺(tái),在這種相愛相恨中,變得更加緊密。
很多的架構(gòu)師都對(duì)c++語言愛不釋手,喜歡拿C++里面的思想來磨練自身的基本功,做的時(shí)間越長(zhǎng)越覺得神圣。所以很多高手一般都不建議入門語言選擇c++,可能直接把很多優(yōu)秀的編程苗子擋在大門之外。痛并愛著,這是蘇州網(wǎng)站制作小編認(rèn)為最高的編程境界了。