如何成為一個(gè)優(yōu)秀的高級(jí)C++程序員

C++

轉(zhuǎn)載至http://www.imooc.com/article/3342
希望大家喜歡造垛,點(diǎn)贊哦
C++這門語(yǔ)言從誕生到今天已經(jīng)經(jīng)歷了將近 30 個(gè)年頭。不可否認(rèn),它的學(xué)習(xí)難度都比其它語(yǔ)言較高。而它的學(xué)習(xí)難度,主要來自于它的復(fù)雜性“┮希現(xiàn)在 C++ 的使用范圍比以前已經(jīng)少了很多,java兜畸、C#努释、python 等語(yǔ)言在很多方面已經(jīng)可以代替 C++。但是也有很多地方是其他語(yǔ)言完全無(wú)法替代的咬摇,主要集中在需要運(yùn)行效率比較高的行業(yè)伐蒂,比如游戲、高效的服務(wù)器肛鹏。

現(xiàn)在學(xué)習(xí) java逸邦、C#等語(yǔ)言的人數(shù)遠(yuǎn)遠(yuǎn)高于C++,主要是 C++ 的入門門檻太高在扰,可能學(xué)習(xí)了一段時(shí)間后還做不了什么東西缕减,導(dǎo)致信心大受打擊,進(jìn)而放棄芒珠。

我想把我自己的經(jīng)驗(yàn)分享給大家桥狡,希望幫助新人少走些彎路。

在此我們不討論具體的技術(shù)細(xì)節(jié)皱卓,只說我們應(yīng)該學(xué)習(xí)什么東西裹芝。

一、技術(shù)能力

1.語(yǔ)言

我們要成為一個(gè)程序員娜汁,學(xué)的東西會(huì)很多很雜嫂易,但是最開始一定要從語(yǔ)言開始學(xué)習(xí),而學(xué)習(xí)語(yǔ)言最關(guān)鍵的莫過于選好一本書存炮,學(xué)校的教材就算了炬搭,根本沒有寫得好的。在此隆重推薦《C++ Primer》穆桂,這本書很厚宫盔,內(nèi)容也很豐富,對(duì)知識(shí)的講解不僅僅停留在表面享完。如果這本書能有耐心看完灼芭,語(yǔ)言方面基本就沒有什么大問題了,對(duì)以后的學(xué)習(xí)也打下了一個(gè)很好的基礎(chǔ)般又。

2.GUI

C++方面的 GUI 庫(kù)有很多種彼绷,比如 MFC、WTL茴迁、wxWidgets寄悯、QT。這些 GUI 庫(kù)都各有自己的特點(diǎn)堕义,其實(shí)我們只要先了解一種就可以了猜旬, 只要深入了解了一種 GUI 庫(kù),需要的時(shí)候再學(xué)習(xí)其他的就夠了倦卖,本質(zhì)上都差不多洒擦,很快就可以上手了。MFC 雖然設(shè)計(jì)上有很多問題怕膛,但是作為入門還是不錯(cuò)的熟嫩, 而且學(xué)習(xí)資料很多,碰到問題也好解決褐捻。

3.數(shù)據(jù)結(jié)構(gòu)和算法

很多人都忽視了數(shù)據(jù)結(jié)構(gòu)和算法方面的知識(shí)掸茅,尤其是一些編程語(yǔ)言的庫(kù)做得非常好艇纺,幾乎不需要自己去實(shí)現(xiàn)一些數(shù)據(jù)結(jié)構(gòu)和算法合瓢,導(dǎo)致現(xiàn)在很多程序員不重視甚至忽略這方面的知識(shí)线欲。但是肯适,當(dāng)我們想讓我們的程序跑的更快乘盼、內(nèi)存占用更少的時(shí)候筝蚕,這些知識(shí)就非常非常重要了货葬。很多程序員都是剛開始的時(shí)候不重視這些财搁,但是工作幾年后又來補(bǔ)習(xí)這些知識(shí)个束。

最開始可能不需要學(xué)習(xí)的太深入慕购,但是基本的數(shù)據(jù)結(jié)構(gòu)和算法一定要知道。

推薦《數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)》茬底,在數(shù)據(jù)結(jié)構(gòu)和算法的學(xué)習(xí)中沪悲,最好不要去關(guān)心面向?qū)ο蠓矫娴募记桑陀肅語(yǔ)言來實(shí)現(xiàn)阱表,這樣能更關(guān)注于算法本身的內(nèi)容殿如。

4.數(shù)據(jù)庫(kù)

學(xué)習(xí)數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)贡珊,并且掌握一種數(shù)據(jù)庫(kù)使用,推薦使用 mysql涉馁,而且最好不要用一些封裝好的接口门岔,而應(yīng)該直接用 mysql 提供的數(shù)據(jù)庫(kù) api,可能對(duì)數(shù)據(jù)庫(kù)了解的會(huì)更深入烤送。

5.并行

cpu 主頻已經(jīng)不能遵循摩爾定律了寒随,現(xiàn)在 cpu 發(fā)展的趨勢(shì)是多核心。無(wú)論是多線程帮坚,還是多進(jìn)程妻往,都是為了更好的利用 cpu 的性能,提供更好的用戶體驗(yàn)试和。這就要求我們?nèi)绻獙懗龈咝У膽?yīng)用程序讯泣,必然要涉及到并行計(jì)算。多花些精力在并行計(jì)算上吧阅悍,一定會(huì)有豐富的回報(bào)判帮。

6.網(wǎng)絡(luò)編程

這里所指的網(wǎng)絡(luò)編程是指 socket 編程。現(xiàn)在 C++ 的應(yīng)用很多都是在做服務(wù)器開發(fā)溉箕,如何開發(fā)一個(gè)高并發(fā)晦墙、大吞吐量、高穩(wěn)定性的服務(wù)器就是我們要考慮的了肴茄。

7.設(shè)計(jì)模式

設(shè)計(jì)模式不是具體的技術(shù)晌畅,更多的是如何讓代碼更容易閱讀、更好擴(kuò)展寡痰、更容易使用抗楔。

8.庫(kù)的使用

C++標(biāo)準(zhǔn)庫(kù)僅僅提供了一些很基本的功能,所以我們經(jīng)常會(huì)引入一些第三方庫(kù)拦坠。最著名的恐怕就是被稱為準(zhǔn)標(biāo)準(zhǔn)庫(kù)的 boost 庫(kù)连躏,它提供了我們編程中用到的各方面的技術(shù),文本處理贞滨、算法入热、網(wǎng)絡(luò)、多線程晓铆、圖像處理等等勺良,幾乎無(wú)所不包。其它也有一些專著于某一方面的庫(kù)骄噪,比如 ACE 是網(wǎng)絡(luò)通信方面的尚困,TinyXML 是解析 xml 的,OGRE 是圖形渲染方面的链蕊。

9.操作系統(tǒng)的知識(shí)

程序員需要了解的操作系統(tǒng)知識(shí)和普通用戶是不一樣的事甜,一個(gè)高手是需要深入了解操作系統(tǒng)的方方面面谬泌,而不是停留在使用層面。至于應(yīng)該了解哪些知識(shí)逻谦,windows 上的去看《windows 核心編程》掌实,linux 的去看《深入理解 linux 內(nèi)核》,應(yīng)該可以知道自己應(yīng)該學(xué)什么了跨跨。

二潮峦、項(xiàng)目經(jīng)驗(yàn)

以上的內(nèi)容如果都精通了囱皿,也算是個(gè)比較厲害的程序員了勇婴。但是對(duì)程序員來說,項(xiàng)目經(jīng)驗(yàn)更加重要嘱腥。一個(gè)好的項(xiàng)目可以讓你把各種技術(shù)進(jìn)行綜合運(yùn)用耕渴,并且能學(xué)到一些新的知識(shí)。比如說做游戲的就需要學(xué)習(xí)圖形方面的知識(shí)齿兔,做播放器的要學(xué)習(xí)編解碼器方面的知識(shí)橱脸。

很多程序員會(huì)忽略項(xiàng)目的經(jīng)驗(yàn),而單純的談技術(shù)能力分苇,這是錯(cuò)誤的添诉。其實(shí)這就是理論和實(shí)踐的關(guān)系,技術(shù)就是理論知識(shí)医寿,做項(xiàng)目就是實(shí)踐栏赴,理論對(duì)實(shí)踐有知道作用,實(shí)踐能加深我們對(duì)理論的深入理解靖秩。

三须眷、溝通能力

溝通能力是一個(gè)高級(jí)程序員要具備的軟實(shí)力。

我這里想說的溝通能力并不是一般說的能說會(huì)道沟突,夸夸其談花颗,說話天花亂墜。而是建立在技術(shù)基礎(chǔ)之上的溝通能力惠拭。

以上扩劝。。职辅。

希望大家喜歡今野,點(diǎn)贊哦

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市罐农,隨后出現(xiàn)的幾起案子条霜,更是在濱河造成了極大的恐慌,老刑警劉巖涵亏,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宰睡,死亡現(xiàn)場(chǎng)離奇詭異蒲凶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拆内,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門旋圆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人麸恍,你說我怎么就攤上這事灵巧。” “怎么了抹沪?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵刻肄,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我融欧,道長(zhǎng)敏弃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任噪馏,我火速辦了婚禮麦到,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘欠肾。我一直安慰自己瓶颠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布刺桃。 她就那樣靜靜地躺著粹淋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪虏肾。 梳的紋絲不亂的頭發(fā)上廓啊,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音封豪,去河邊找鬼谴轮。 笑死,一個(gè)胖子當(dāng)著我的面吹牛吹埠,可吹牛的內(nèi)容都是我干的第步。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼缘琅,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼粘都!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起刷袍,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤翩隧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后呻纹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堆生,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡专缠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了淑仆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涝婉。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蔗怠,靈堂內(nèi)的尸體忽然破棺而出墩弯,到底是詐尸還是另有隱情,我是刑警寧澤寞射,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布渔工,位于F島的核電站,受9級(jí)特大地震影響怠惶,放射性物質(zhì)發(fā)生泄漏涨缚。R本人自食惡果不足惜轧粟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一策治、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兰吟,春花似錦通惫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至惭嚣,卻和暖如春遵湖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晚吞。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工延旧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人槽地。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓迁沫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親捌蚊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子集畅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容