? ? 極少寫文章,寫得不好,拋磚引玉了。有過(guò)時(shí)、錯(cuò)誤的地方請(qǐng)多批評(píng),不同意見(jiàn)交流。
??? 大學(xué)四年在江南大學(xué)度過(guò),大一開(kāi)學(xué),最感興趣的是《C語(yǔ)言程序設(shè)計(jì)》這門課,這門課由張正道老師任教,采用英語(yǔ)教學(xué),課本是英文版教材《A First Book of ANSI C》。我記得老師說(shuō)過(guò),采用英文版教材,能訓(xùn)練你們看英文材料的能力。我認(rèn)為這是一個(gè)很好的開(kāi)頭,了解英文專業(yè)詞匯后,看英文資料就習(xí)慣了很多,而以后進(jìn)一步學(xué)習(xí),確實(shí)很多資料都是英文的。
??? 當(dāng)時(shí)用的IDE是VC6,雖然很多人嫌棄它太老,不符合標(biāo)準(zhǔn)什么的,我覺(jué)得基本用用還是不錯(cuò)的,只要你知道VC++ != C/C++,而且調(diào)試什么的還是很方便的。
推薦:Windows 上用 Visual studio 或者 QT。Linux 上用 Vim 或者CLion, 編譯器用GCC或者Clang吧
??? 開(kāi)始學(xué)語(yǔ)言就是多看書,多寫程序,多思考。遇到問(wèn)題,可以問(wèn)老師同學(xué),但是也一定得會(huì)自己上網(wǎng)搜索(Google, Baidu)。選擇題適當(dāng)做做,促進(jìn)思考。
??? 當(dāng)時(shí)我上網(wǎng)搜索,如何成為編程高手,知道了ACM這東西,上 ZOJ 做了道 A+B,后面覺(jué)得好難,沒(méi)有繼續(xù)做,哈哈,當(dāng)時(shí)只學(xué)過(guò)C語(yǔ)言。
推薦:學(xué)學(xué)數(shù)據(jù)結(jié)構(gòu),算法,參加ACM,是一條不錯(cuò)的路。
第一學(xué)期期末,開(kāi)始學(xué)習(xí)C++,借了本國(guó)內(nèi)作者書,隨便了解了一下,之后看的是《C++ primer》。
好像是第二學(xué)期,覺(jué)得怎么老寫console程序,那圖像界面是怎么寫的呢?逛了幾遍圖書館,借了本《windows 程序設(shè)計(jì)》,這書還挺復(fù)雜的,上來(lái)直接就是MFC框架的內(nèi)部設(shè)計(jì),一度讓我有些受挫。之后,雖然知道MFC框架已經(jīng)過(guò)時(shí)了,我還是通過(guò)上網(wǎng),查資料,把這些基本都搞通了,心中的疑惑基本消除了。記得當(dāng)時(shí)一早就去圖書館查資料,終于把問(wèn)題搞明白,那種感覺(jué)是非常好的。
很疑惑QQ,迅雷看看這種漂亮界面(無(wú)邊框,漸變按鈕,透明)是怎么寫出來(lái)的,最后配合directshow寫了個(gè)仿迅雷看看的視頻播放器。
當(dāng)時(shí)也寫過(guò)C#圖形界面,感覺(jué)太容易了,沒(méi)意思。(只是當(dāng)時(shí)的感受,并不對(duì))
Linux C/C++ 開(kāi)發(fā)接觸得比較晚,比較遺憾。
推薦:《C/C++ 企業(yè)軟件開(kāi)發(fā)》《Unix環(huán)境高級(jí)編程》《Unix網(wǎng)絡(luò)編程》卷一卷二
推薦其他相關(guān)的書
《C語(yǔ)言深度剖析》PDF (國(guó)內(nèi)作者,一些經(jīng)典名著的總結(jié),很好)
《C 專家編程》
《Effective C++》(我感覺(jué)實(shí)踐不多的話,不太好吸收)
《Inside the C++ Object Model》(最近才看的,感覺(jué)這書很好)
《深入理解計(jì)算機(jī)系統(tǒng)》(我想這個(gè)時(shí)期看還是不錯(cuò)的)
可以做的方向
語(yǔ)言只是實(shí)現(xiàn)工具,得配合具體的技術(shù)才有意義。
算法
Windows 程序
Linux網(wǎng)絡(luò)編程
配合OpenCV,做計(jì)算機(jī)視覺(jué)
配合OpenGL,做計(jì)算機(jī)圖形學(xué)