| 經(jīng)驗之談一: 我記得我在網(wǎng)上是這么說(shuō)的:先學(xué)win32的SDK,也就是API, 再學(xué)MFC,這么一來(lái)呢,就先有個(gè)基礎,MFC是API的封裝,如果API用的熟了,MFC上手就輕松的多了。我覺(jué)得呢,現在不少WINDOWS編程入門(mén)的好書(shū)很多,多買(mǎi)一些,多看看,多想想。不要心浮氣躁。我的經(jīng)驗就是一邊看書(shū),一邊寫(xiě)程序,看看是不是書(shū)上說(shuō)的那樣??磿?shū)看明白了不行,自己做對了這個(gè)過(guò)程體會(huì )就不一樣了,做的多了,就慢慢會(huì )有“悟”的感覺(jué)。就入了門(mén)了?!?/font> 一般從剛開(kāi)始學(xué)WINDOWS編程(前提是C/C++至少要懂得C的一般常用概念)到基本熟悉,一年時(shí)間也差不多,如果在公司里,可能會(huì )快一些,主要取決于自己,如果每天都很多時(shí)間看書(shū)就要快許多。 這是昨天一個(gè)網(wǎng)友提出的問(wèn)題,我這樣說(shuō)的。你說(shuō)推薦的書(shū)籍呢,那倒真是有不少好書(shū)非常值得看看,學(xué)習c++的有《c++編程思想》;學(xué)習api就是win32程序員參考手冊,一般叫sdk;學(xué)mfc呢,那就更多了,書(shū)店里的不少書(shū)都可以拿來(lái)看看,看的多了,自己也就知道什么樣的書(shū)最適合自己,不同時(shí)期欣賞的口味都不同的。比如說(shuō)剛開(kāi)始,就特別想找vc如何使用的書(shū),剛接觸win32編程就想如果能有手把手那樣的教就好了,這些書(shū)都有的。我的習慣就是,多看書(shū),然后才有鑒別,知道什么樣的書(shū)算是經(jīng)典,什么樣的書(shū)盡管沒(méi)多大用,但是對特定的人,特定的時(shí)期,特別有用?!?/font> 經(jīng)驗之談二: 買(mǎi)更多的書(shū),看更多的書(shū)?!?/font> 其中《Visual c++ 技術(shù)內幕》和《深入淺出MFC》不可不買(mǎi),中國人學(xué)不好VC的原因很簡(jiǎn)單:英語(yǔ)非常差,不會(huì )看英文版的MSDN/CD,大學(xué)里的教育全是垃圾,設備又差,許多學(xué)VC的家伙不懂MASM,連WINDOWS Message cycle system 都不了解,學(xué)什么學(xué)???不過(guò)不要緊!據我所知,全球使用C++的人不過(guò)30萬(wàn),且多數是用BCB(用控件來(lái)寫(xiě)容易啊!!!???)要知道,根據MS的資料,它出的書(shū)最High class 的一類(lèi)只不過(guò)賣(mài)出20萬(wàn)左右,(ps:I forgot bookname!!!)要想學(xué)好VC,先學(xué)好英文,再去Codeguru.com之類(lèi)的網(wǎng)站D/L source code !不要買(mǎi)國人自己編寫(xiě)的書(shū)(翻譯的除外),最好是MS出的書(shū),既然是用MS的工具,這是當然的,還要定期買(mǎi)MSDN/CD,MS的人開(kāi)發(fā)人員每人一套!!!!要談的太多了,一句話(huà): 學(xué)好VC=英文好+基本功好+勤奮+聰明.少一不成的啊!!!! 經(jīng)驗之談三: 我覺(jué)得初學(xué)者先不要看MFC,API,Windows編程之類(lèi)的東西,最重要的是先弄懂什么是面向對象,什么是類(lèi),要是弄不懂類(lèi)那學(xué)起來(lái)就真的累了! 1.先找一些傻瓜書(shū),一步一步教你,CLASSWIZED,單擊,雙擊,右鍵...,...加入函數代碼....編譯,運行...(真正的傻瓜化!) 2,分析代碼,頭文件,消息宏等,找來(lái)書(shū)慢慢研究吧.哦,這函數有這些參量.....哇,老兄,WINMAIN()是做什么的???????指針,類(lèi),繼承,重載,折構...... 3.書(shū)書(shū)....《VISUAL C++ 技術(shù)內幕第五版》,95元,《深入C++類(lèi)庫編程...》,SAME圖書(shū),什么,105元... 清華,希望,機械,電子,什么出版社...... 4.郵箱--->WYY,小輝程序員之路,VC++王朝更換通知....,郵件列表??? 5,Building.... 75435465734個(gè)錯誤,584764576857684警告??????? 哪位兄弟快發(fā)郵件給我啊,我受不了了! 媽呀........ 經(jīng)驗之談四: 說(shuō)起來(lái)我學(xué)VC也有些年頭了,想當年玩了3年游戲卻在大四為了畢業(yè)設計開(kāi)始接觸Windows編程。沒(méi)辦法,天生的手短心長(cháng),導師原來(lái)要我用DOS環(huán)境的。偏偏一開(kāi)始有抱的是MFC,有一點(diǎn)C++基礎的我看得是兩眼發(fā)黑。當然,設計是泡湯了,還好導師放我一馬?! ?/font> 工作以后才切身感受到,學(xué)Windows編程是要從API,從SDK玩起的。這還是我當年去一家臺灣游戲公司面試的慘痛教訓。我那個(gè)時(shí)候因為默不出一個(gè)完整的WinMain()和WindowProc(...) Windows SDK程序架構慘遭淘汰(其實(shí)現在大多的Windows游戲還是用SDK的)?! ?/font> 在我看來(lái),寫(xiě)Windows程序的人對API不了解是不可想象的。我現在還沒(méi)有用VC編出一個(gè)我自己認為象樣的東西來(lái),但我還是堅持用我的業(yè)余時(shí)間去和她增進(jìn)感情,也許,這是一個(gè)技術(shù)人的老毛病吧。刨根問(wèn)底,對Windows也不放過(guò)?! ?/font> 還有,就我覺(jué)得,語(yǔ)言這個(gè)東西其實(shí)就象老媽廚房里的各種菜刀,各有千秋的。人天生的對東西會(huì )產(chǎn)生偏好,但拿水果刀切菜和拿大菜刀削水果是一樣吃力的。我以前也認為天下有了VC就已足夠,可現在兩樣。 經(jīng)驗之談五: 有人說(shuō)過(guò),存在的就是合理的...... 各位友人,我覺(jué)得學(xué)VC,熟悉C++的面向對象與WINDOWS編程技術(shù)是必要的.另外多看看別人的源代碼,弄清程式所來(lái)龍去脈,弄清程式的運行機制格外重要。至于你不太熟悉API,我看這并不重要,因為這么多API,試問(wèn)誰(shuí)能記這么多,不知道的查MSDN.初學(xué)者切莫心浮氣燥,循序漸進(jìn),相信他日你也是VC"高手". 不過(guò),想精通VC還沒(méi)有這么簡(jiǎn)單,我以什么VC,VB,BCB... 只不過(guò)編碼工具,大家不必拘于此.VC確實(shí)是一把好劍,像獨孤九劍也是一把劍,但沒(méi)有一點(diǎn)內功,這把好劍不是那么好用的?! ?/font> 我覺(jué)得學(xué)任何語(yǔ)言都無(wú)所謂,關(guān)鍵是要掌握程序設計的核心——算法和數據結構。各種語(yǔ)言和開(kāi)發(fā)工具就好比各門(mén)各派的武功招式,而算法和數據結構則好比內功心法和武學(xué)原理,內功高強了,任何招式到了手上都能化腐朽為神奇,掌握了武學(xué)原理,則能無(wú)招勝有招。所以,建議大家多花點(diǎn)時(shí)間學(xué)習基本功,一味地追求各種開(kāi)發(fā)工具的開(kāi)發(fā)技巧是沒(méi)有意義的。因為各種開(kāi)發(fā)工具會(huì )不斷地更新,比如今天你在學(xué)C++,明天微軟搞了個(gè)C#,你又得跟著(zhù)學(xué)C#。但是如果基本功扎實(shí),掌握了程序設計的核心思想,不論什么語(yǔ)言都可以很快上手,無(wú)論何種開(kāi)發(fā)工具學(xué)起來(lái)都事倍功半。我并不是否認學(xué)習各種語(yǔ)言和開(kāi)發(fā)工具的必要性,只是要提醒各位初學(xué)者,學(xué)會(huì )C++語(yǔ)言或學(xué)會(huì )用VC編程并不等于學(xué)會(huì )了編程!編程的關(guān)鍵還在于數學(xué)模型的建立,數據結構的選擇和算法的設計! 內功=算法+數據結構+編譯原理+操作系統原理+軟件工程+英文 你到 http://www.csdn.net 看看,可以找到《深入淺出MFC》2e電子版下載!有一本書(shū)很好,《WIN32程序員參考大全》既可了解WIN C SDK,又可以了解WINDOWS,一舉兩得。就是有好幾本,可以到VC知識庫網(wǎng)站的電子圖書(shū)欄目下載?!?/font> 我認為需要三本書(shū): 1、<> 美 Jeffrey Richter.清華大學(xué)出版 99元 2、<> 美 Charles Petzold 北京大學(xué)出版 160元 3、<> 美 Jeff Prosise 是英文版的 北京大學(xué)出版 198元還有更好的選擇嗎?我不相信! 經(jīng)驗之談六: 我學(xué)vc也半年了,c和c++的功底不錯,對vc感覺(jué)還可以。我認為學(xué)vc也有些技巧,可以事半功倍。 vc的書(shū)要跳著(zhù)看,先把api,windows運行的概念看懂,再看mfc,其實(shí)只要你c++學(xué)的好,mfc幾乎沒(méi)多少可看的,就是一些功能的封裝。vc其實(shí)只是工具,精華都在windows程序的流程上?! ?/font> 掌握好概念后,就是狂背各種api函數和mfc封裝的成員函數?!?/font> 最后就是研究mfc代碼和其它原代碼?! ?/font> 我學(xué)vc已有些時(shí)間了,但總有的地方不清楚,到網(wǎng)上去問(wèn)“高手”,老被罵的狗血碰頭,到頭來(lái),還是一頭霧水,后來(lái)買(mǎi)到一本好書(shū),The MFC Answer Book, Solutions for Effective Visual C++ Applications ,Author: Eugene Kain ,Published by Addision-Wesley ?! ?/font> 個(gè)人認為學(xué)習VC的前提是C++,特別是虛函數、派生、和指針,余皆不足慮也?!?/font> vc 的瓶頸就在于各種api和mfc封裝的函數調用。例如你知道ddx在update()運行時(shí)默認調用dodatachange(),等等一些函數刁用。vc純粹是小菜?! ?/font> vc本身就是傻瓜工具,微軟開(kāi)發(fā)vc原意就是要縮短程序員培訓時(shí)間??蓢鴥扔腥司尤灰脦啄陼r(shí)間來(lái)學(xué),真是太可怕了,太可悲了。學(xué)會(huì )了只能在windows平臺上開(kāi)發(fā),那么你哪有時(shí)間去學(xué)其他平臺的程序開(kāi)發(fā)?! ?/font> vc只是工具,關(guān)件在學(xué)windows操作系統,windows 通了,vc最多半年?!?/font> 勸大家一句,不要在看什么“深入淺出”之內的書(shū)了,去找一本專(zhuān)門(mén)講vc庫函數的書(shū)看,這才是精通之道?! ?/font> 注:以上經(jīng)驗只適用于具有很強c/c++遍程能力者。 經(jīng)驗之談七: 我覺(jué)得學(xué)vc要先從c,c++學(xué)起,然后是api和mfc(英語(yǔ)很重要,不過(guò)不用怕,用金山詞霸邊查邊學(xué),等你vc入門(mén)后,你的英語(yǔ)閱讀能力也會(huì )上一個(gè)臺階);另外我的經(jīng)驗是學(xué)的時(shí)候不要鉆牛角尖,學(xué)語(yǔ)言關(guān)鍵是學(xué)語(yǔ)法和概念(繼承,重載,多態(tài)性...),其次才是某某函數怎么用之類(lèi)的東西。(學(xué)windows編程一定要掌握消息機制) 要想學(xué)懂VC必須: 1、找幾本好書(shū):《window程序設計》只看前幾章,看懂windows的消息機制,Api的結構;《mfc深入淺出》全面學(xué)習,深刻理解mfc的結構 2、編一個(gè)較大型的項目,不停的使用VC,邊用邊理解看過(guò)的東西; 3、經(jīng)??磧?yōu)秀的源程序?!?/font> 經(jīng)驗之談八: 我本來(lái)無(wú)資格發(fā)言的,因為我也是一個(gè)多月前才決定學(xué)VC的。我總結一下以上n位的發(fā)言(隨便練練指法): 1.在學(xué)vc之前最好能有點(diǎn)其他語(yǔ)言的基礎.(沒(méi)有也沒(méi)多大關(guān)系) 2.學(xué)c++之前不必學(xué)c.(當然會(huì )c會(huì )快點(diǎn)) 3.c++的一些概念很重要(如:對象,類(lèi),構造、析構函數,繼承,模板等),最好弄透(怎么弄透,誰(shuí)告訴我?)好書(shū)推薦:《thinking in c++》(《c++編程思想》)39.00元,適合對c++較熟悉的人.(有沒(méi)有適合白癡級的好書(shū),讓我弄透以上重要概念,麻煩介紹一下) 4.API---->MFC.好書(shū)推薦: (1)《深入淺出MFC》(《Dissecting MFC》screen.width-300)80.00元,701頁(yè).(不過(guò)是繁體版的,有些術(shù)語(yǔ)和大陸不同).購買(mǎi):www.huachu.com.cn. www.beijingbook.com, 人民時(shí)空.(第一家最便宜) (2)《inside visual c++》(《visual c++技術(shù)內幕》)96.00元,900多頁(yè).最好買(mǎi)第四版的(清華出版,潘愛(ài)民翻譯),一些網(wǎng)站上說(shuō)的好聽(tīng)其實(shí)都是些原代碼(害我下了100多兆的原代碼,這些人建網(wǎng)站干嗎,吃飽了撐的,這里copy一些,那里copy一些,不看一下就上傳,有什么意思) .購買(mǎi)同上. (3)《windows 程序設計》(《windows programming》)第五版,以前的版本叫《windows95 程序設計》(我沒(méi)找到電子書(shū)(www.ssreader.com好像有)和購買(mǎi)網(wǎng)站)160.00元,1346頁(yè)電子書(shū)下載:至今也沒(méi)找到(只有第五版,English的), .購買(mǎi)同上. 以上的書(shū)有人看懂了,說(shuō)好, 有人沒(méi)看懂,煩惱,fang說(shuō):什么樣的書(shū)盡管沒(méi)多大用,但是對特定的人,特定的時(shí)期,特別有用.我說(shuō):盡信書(shū)不如無(wú)書(shū) 5.邊學(xué)邊練,多看MSDN,英語(yǔ)不好的人,會(huì )費勁一些(我算是完了,真的很傻,以前馬老師對我不錯,想起來(lái)真對不起他(對不起的是你自己)),學(xué)習VC,MSDN既重要也不重要,關(guān)鍵是先后問(wèn)題。建議你先看侯俊杰的《深入淺出MFC》,相信看過(guò)這本書(shū)后,你就知道該怎么學(xué)VC了?!?/font> |
聯(lián)系客服