我的Visual C++入門之路
天極IT資訊短信服務 電腦小技巧 資費:包月5元 手機: 介紹:細處著手,巧處用功。高手和菜鳥之間的差別就是:高手什么都知道,菜鳥知道一些。電腦小技巧收集最新奇招高招,讓你輕松踏上高手之路。 首先,實事求是地說,我的Visual C++是不是已經入門了,我
天極IT資訊短信服務 電腦小技巧
|
介紹:細處著手,巧處用功。高手和菜鳥之間的差別就是:高手什么都知道,菜鳥知道一些。電腦小技巧收集最新奇招高招,讓你輕松踏上高手之路。 | |
首先,實事求是地說,我的Visual
C++是不是已經入門了,我不敢肯定?,F在的水平是能看懂一些代碼了,或者說對于VC“脫盲”了。
“N次失敗,1次成功,還學的不怎么樣……你也太笨了吧!”如果您有這樣的評價,那么祝賀您,您已經了解了我這人的99.9%。N這個數字具體是多少連我自己也記不清楚,保守地講(N≥6==TRUE)這個表達式是能夠成立的?;叵胛业腣isual C++入門過程,一路過來,絕對不是像黃飛鴻的功夫那樣瀟灑精彩,而更像是一顆石頭順流而下,在河床底摸爬滾打、磕磕碰碰。今天是周末,我就把以前N次失敗留給我的經驗教訓胡寫上幾筆,如果有朋友看到這篇拙文,又剛好打算嘗試一下Visual C++,也就算是我給您留下的莽原一徑吧。
一.C++語言的基礎
說起入門慢,第一個原因莫過于語言基礎了.高中時期學校組織的微機興趣小組學習的是PASCAL語言(我也不知道為什么要講這個語言,如果說是為了應付比賽,當時也有C語言組呀),所以在大學轉向
Windows編程的時候,我首先選擇了Delphi.大三的時候學校要求考國家二級,二級沒有Delphi,于是又轉向了
VB,原因是VB做起來與Delphi很像。后來發現VB的IDE做的比Delphi好用,而且BASIC語言寫起來簡單,于是便棄Delphi而去(明眼人恐怕又要罵我了,若不是太懶,怎么會喜歡VB的IDE呢?的確是這樣,后文會提到,懶不僅僅是學習VC的大敵,而且懶人是什么都學不好的)。長年與VB打交道,讓我對C/C++語言很不習慣——我不喜歡C++寫一個句語要打一個分號,我不喜歡大小寫字母要嚴格區分,我不喜歡比較的時候要寫兩個等號,我不喜歡……總之,對C++很沒好感,沒好感也就沒興趣學了(后面提到興趣是相當重要的)。當然如果你現在再問我應該學習什么語言,我會毫不猶豫地向你推薦C++,因為就常用語言而言,C++語言中包含的
知識是相當全面的——從面向過程,到基于對象/
面向對象,再到
模板和范型,可以說是應有盡有,不夸張地說,別的語言在某種程度上而言是C++語言的子集或者說是在模仿C++、向C++靠攏。
在數次失敗中,給我很明顯的感覺就是,不學好C++語言就學習Visual C++純粹是一種自虐。這次入門之前,我花了3個多月的時間系統地學習了C++語言,夠意思吧。然后我信心實足地敲響Visual C++的家門,呵呵,這次她終于肯給面子了。舉個例子吧,在看Dll的調用時,用到“函數指針”,順理成章就看下去了,想一想如果沒有C++語言的基礎,基本是不可能的。所以說,沒學會中文之前,別看《紅樓夢》,那不是《看圖識字》。奉勸想從VB轉向VC學習的朋友,如果你指望能像學習VB一樣邊學習VC邊學習C++語言,那你可就錯了。
順便提醒C++語言入門的朋友一點,應該關注ANSI/ISO C++,也就是標準C++了,市面上C++的書良莠不齊,很多書是“舊書換新皮”,講的仍然是非標準C++,一定要選好。計算機書很貴,大家不妨找電子版的來看,網上有很多,甚至《C++ Primer》或者《C++沉思錄》這樣的好書也有熱心朋友放到了網上。不過,我最喜歡的是《C++編程金典》這本書,不愧是教育大師寫的書,用來學習很合適。至于編譯器的選擇,如果條件允許就安裝VS
.NET2003吧,據說Visual C++7.1的編譯器是目前對標準C++支持的最好的編譯器了。
二.VC學習
資料的選擇
VC入門難有很多原因,其中不容忽視的一個就是優秀的VC學習資相對較少。C++語言較深,Visual C++用起來復雜,再加上資料少——難上加難。資料少,并不意味著沒有,怎樣選擇或者說挖掘就是關鍵。暫把資料分為光盤、書籍(包括電子書)和文檔(包括網上的)三類。
在選擇資料方面,大家一定要擯棄中國人思想中的兩大劣根性:<1>不勞而獲<2>一夜暴富。
“不勞而獲”的思想會導致趨向于選擇“講課”類的資料,比如多媒體光盤。結果是光盤容量往往很少但又要求內容面面俱到(不然怎么賣出去呀),這就造成了知識的連貫性差而且講的又飛快,任你一遍一遍地聽,不見成效又打擊信心,最后只能放棄。期待早日有內容豐富,講解精彩的光盤面市。
“一夜暴富”的思想會讓你趨向于選擇“速成”類教材。那樣的教材大多是騙人的——能寫個彈出窗口Hello一下World,這就能算是會Visual C++了?我們還是不要自欺欺人的好。至少也要能連
數據庫、能使用Socket吧……而這些知識怎么可能“速成”呢?
我有很多Visual C++的學習資料,但沒有一本我是抱著一啃到底的,因為沒有哪本書十全十美,我是交替著使用些資料,這樣做的好處在于:
?。?>知識的連貫性好,跳躍性小,進階坡度較小,讀起來舒服。都說Visual C++的學習坡度比較陡,那個陡坡是出現在由單純的C++語言學習轉向
Windows編程的時候,C++語言本身的學習并沒有那么困難。
?。?>有積累效應,這本書講的不精不透,另一本書會幫你補上,這本書你沒留心,下本書總該長個心眼。還有就是一些小例子程序,把MFC的類或者函數拆開來給你看,目的非常明確,效果也不錯。每天學一點,不圖快,圖扎實。呵呵,跟VC搞“面向對象”,當然要一天一點戀愛了。
?。?>舉一返三,動手實踐。如果多本書中都把它列為重點,那就一定要熟記在心而且上機操作,書上的例子一定要分析透徹,不能有“差不多”的思想——差多少算多呢?程序這東東,錯一個字母都不行呀。光看會了還差遠著呢,自己要能寫,而且能對例子進行擴展才行。
<4>內容詳實豐富,這一點上,首推MSDN啦,還有就是在網上能找到的微軟出的Visual C++的叢書,希望譯的電子版,是wdl格式的。雖然MSDN是英文版,但其中的英文并不難——您盡可以相信我,因為在下的英文水平是奇爛無比的。MSDN有兩種用法,一種是當字典用,因為內容全;一種是當消遣,沒事了看一個類,敲幾行代碼,看到那個MFC的繼承圖了嗎,挺好玩兒的,感覺像逛街——而且東西不要錢,help yourself。
互聯網上的資源是非常非常豐富的,千萬不要錯過!好網站和
下載站BB皆是。還有
論壇、
新聞組、在線QQ群……你問我有哪些?呵呵,遠在天邊近在眼前呀:)