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