如何成為一名優(yōu)秀的程序員? (一)
一位仁兄說的“程序員寫的程序不是算法+語法 ,而是要能夠滿足用戶需求的工 具”我非 常贊同,, 要想達到用戶需求就必須從各個方面來考慮如業(yè)務(wù),、人機交互 、效率等方面,,而不只是一 個語言 (語法)的問題,,語言(語法)只是工具,只 知語法不知其他那就真是編程機器了,! 編程 機器在 印度高中生經(jīng)過幾個月培訓(xùn),,按照嚴謹?shù)能浌し椒ǎ由陷^高的管理 ,,就可以勝任了,!大 家相信 嗎,我是相信的,!談到這里我就不禁說到了國內(nèi)教育 界最近在探討的問題“計算機科系的 畢業(yè)生 特別是本科大專生到底出來干啥,、如 何適應(yīng)社會要求”,大家也看到了很多計科系大學(xué)生 說精通 N種語言,,熟悉N種工 具,,不知道學(xué)校里的其他知識到那里去了,甘愿做編程機器,,浪費了 人民 的納稅 ,,干高中生能干的事,比較可惜吧,!在國內(nèi)現(xiàn)在就是這樣了,,看過一則帖子:清 華 的計科 系畢業(yè)聲在建筑院里搞開發(fā)還不如建筑專業(yè)的畢業(yè)生。說著說著就岔道 了,,國內(nèi)的軟件開 發(fā)業(yè)到 底是需要那些人:如果僅僅是編碼機器,,那我估計中國 硅谷還是做夢去吧! 社會似乎也需要編碼機器,,翻翻招聘廣告,,做應(yīng)用開發(fā)的都要求精通某某語言, 熟悉某某 工具,, 很少需要懂管理懂軟工的人,。以我個人一點偏激的想法,,民族軟 件產(chǎn)業(yè)要騰飛,更需要的 是能管 理使用編碼機器的人,,即管理人員,、國內(nèi)軟件產(chǎn) 業(yè)編碼機器已經(jīng)很多了,。希望不要惹怒了 那些編 程高手,! system develop與Application develop在國內(nèi)到底哪個能養(yǎng)活你,能賺錢,,諸 位 仁兄想必 也知道,,況且俺也沒發(fā)現(xiàn)幾家水平高的公司招這方面的人,畢竟OS,,DB MS,,COMPILER都被 國 外做了、另外也別跟我談LINUX,,畢竟還是少數(shù)燒錢的人做的 事情,,我先喂飽肚皮再說。我 手下 的很多搞4GL語言的程序員都想轉(zhuǎn)行學(xué)VC等所謂 的更低級的語言,,我總是說“在XX城市,,先 用 4GL工具生存,以后再學(xué)習(xí)VC吧,!” ,,說的簡單一點先解決肚子問題。 如何判斷自己是否是編程機器,? 1,、面對需求不考慮用戶,只是考慮用那些程序技術(shù)展示自己的語言語法技巧 . 2,、學(xué)習(xí)了N種語言 . 3,、從來不學(xué)習(xí)或?qū)嵺`軟工 . 4、語法語言水平在眾人中遙遙領(lǐng)先,、特別是一些稀奇古怪的語法 憑著興趣和創(chuàng)造力去干,, 卻重 復(fù)繁瑣的勞動。 做著沒有意義-唯一意義是賺錢,,而且真是出了半斤力,, 拿不足八兩。 終 日勞累,, 卻不能學(xué)自己想學(xué)的,。最終結(jié)果是跟不上社會科技的發(fā)展 ,人已衰老,。悲哀?。。?
開發(fā)軟件的關(guān)鍵是要有想法,,一個好的想法比什么都重要,。尤其是有關(guān) 網(wǎng)絡(luò)方面的就更是 如此。
入門還可以,,但是要繼續(xù)深入了解可能要難點,。 未必吧 偶覺得大學(xué)里的高數(shù) 數(shù)理方法之 類的, 如 果你不是做研究的話, 應(yīng)該是很少能 用到的 不過如果說到離散之類的, 倒還是時不時的能 有點用 現(xiàn)在的程序員比起十年前是不是要花更多的時間來 查幫助呢。系統(tǒng)越來越大,,手冊越來越 厚,,軟 件開發(fā)的 周期是不是越來越多的淹沒在查幫助之中了呢。
實際上一個程序員最終的技術(shù)需要和實際相結(jié)合,。真正在編寫程序到達一定時候,,語言的使 用并 不是最大的障礙,對整個項目的把握,、軟件工程的把握,、數(shù)據(jù)庫的設(shè)計以及執(zhí)行效果的分析 等等 才是需要進一步考慮的東東!否則,,為何大多數(shù)公司到要求有編程經(jīng)驗了,! 這些不是程序員必須學(xué)的。但數(shù)據(jù)結(jié)構(gòu),,編譯原理,,操作系統(tǒng)原理等是必須要學(xué)好的,英文 的多 看,,不懂計算機英語可不行,。實我不是什么中專生,而是我讀的中學(xué)和一個私人辦的電腦學(xué) 校聯(lián)合 開的電腦專業(yè)(并不是我中考考的差,而是這個學(xué)校太貪錢了,才被錄取到這里,惱火,我們班 里中考 成績從兩百多到四百多的都有,我就是四百多分(重理輕文的結(jié)果,要不然...),當(dāng)時讀書的時 候,我是班 是的高手(其實只是比其它同學(xué)懂而已),大家叫我dos,因為當(dāng)時學(xué)的都是dos的內(nèi)容, 畢業(yè)后 還沒有 對編程很感興趣,只想找一個電腦的工作就可以了,哪怕是打字的,可是看報紙,去人才中心, 看到都是 要大學(xué)的,為此感到很失望.也對電腦失去了興趣.后來學(xué)校打電話到我家,說廈門廈華公司要 招工,要 不要去,我很快就答應(yīng)了,因為當(dāng)時沒工作,天天呆在家里.后來打工的時候,天天象一個機械 人一樣 ,重復(fù)著同一道工序,因此經(jīng)常在深夜的時候,思索著自己的未來,由此重新生起了對電腦的感 情,因此 經(jīng)常買電腦雜志和報紙看(可以堆成一座山了).由于離我住的地方不遠處,有一個電腦培訓(xùn) 的,所以經(jīng) 常到那里上機,而在學(xué)校里學(xué)過的軟件也只有FOXBASE和WPS,其它的不值一提,所以上機經(jīng)常 用 foxbase,直到這時候,才對編程產(chǎn)生了濃厚的興趣,一年后,自已買了一臺電腦,開始認真學(xué)習(xí) 編程.由 于我是屬于職業(yè)中專的,因此經(jīng)常想,就算學(xué)得再好也沒有用,所以想考程序員,而考程序員要 懂得c語 言,所以就學(xué)習(xí)turbo c,學(xué)完了,學(xué)數(shù)據(jù)結(jié)構(gòu),同時看‘C高級實用程序設(shè)計‘,澳門回歸和2000 年的兩個晚 上,我都是在編程中度過的.由于我這個人對書很感興趣,經(jīng)常在星期六,星期七去書店,而在 書店里 ,也是看編程方面的書,而看到的編程書籍大部份都是windows方面的,為此也經(jīng)常思索著學(xué) dos編程 到底有沒有用.后來,春節(jié)放假(要2月13日上班)回老家,天天去新華書店(正月初一也去),看 到也都是 windows編程方面的書多得像狗屎一樣,所以就下決心學(xué)windows編程,因此正月初四(快餐店 還沒有 開張)就去廈門了,很快買了delphi的書和d版delphi5,瘋狂地學(xué)習(xí)(到目前為止,買了8本 delphi的書,因為 國人的寫的書實在太爛),而由于遇到不懂的又不知道怎么辦,為此想到了網(wǎng)絡(luò),但在外打工不 可能上 網(wǎng)(上網(wǎng)吧太貴),所以就辭職了(4月21日),現(xiàn)在,程序員考試快到了,是報還是不報一直猶豫 不覺, 困此才有此問題.打工的歲夜,我永遠不會忘記,因為付出太多了,也失去了太多(壞了兩個光 驅(qū),瘦了 幾斤),直到現(xiàn)在,腦海里還不時浮現(xiàn)起那幾個無眠的夜晚.忠心感謝大家.我不認為編碼的人 就是機器 , 而系統(tǒng)分析就不是機器, 其實系統(tǒng)分析員就是銷售的機器, 所有職員有是老板的機器. 它們之間這是不同工種吧了, 當(dāng)然對系統(tǒng)分析要求要高一些, 薪水也高一些, 但更讓人佩服 的是銷 售, 是他們驅(qū)動了整個的運作.我也是個中專生, 還是學(xué)機械的(后來自學(xué)了計算機), 我非 常了解在傳 統(tǒng)的制造業(yè)是如何的規(guī)范, 設(shè)計人員設(shè)計圖紙, 然后經(jīng)審核, 再到車間試樣, 再根據(jù)情況, 修改圖 紙, 如此反復(fù)幾次后才能一個產(chǎn)品定型,而在軟件界, 就沒那么好了, 領(lǐng)導(dǎo)會說, 這個你 做, 那個他做, 也沒有經(jīng)過很細的分析(國內(nèi)很多都是這樣), 在我們這里也沒有系統(tǒng)分析員, 每個人都是設(shè) 計員, 也 是編程員, 雖然這樣對個人來說, 能學(xué)到很多東西, 但不利于項目.我國的軟件過程水平,確 實令人擔(dān) 憂, 目前為止只是, 幾個人十幾個人的小軟件, 還沒有能拿得手的大型軟件.至于中專生編 程問題, 我 認為只要入了這個行, 就不會比本科生差, 因為對他來說沒有優(yōu)越的學(xué)歷條件, 那么只好埋 頭苦學(xué), 但這正好適應(yīng)當(dāng)前計算機軟件迅速發(fā)展的今天, 學(xué)歷只能代表過去和基礎(chǔ), 更需要的是有能 力的人 , 解決問題的人, 實干的人.對我來說確實有時有點自卑, 沒有上過高中和大學(xué)(由于那個年 代, 我只 知道能為父母減少一點負擔(dān)就行了), 所有我一直在努力的學(xué)習(xí)(corba, uml, java, 軟件過 程等), 目 前為止我并沒有覺的我的構(gòu)架能力和編碼水平比他們差, 只是覺得E語言實在太差.過計算機 本科又 如何?我有幾個同學(xué)到銀行去搞業(yè)務(wù)了,,有同學(xué)任教,,有同學(xué)收稅去了......60多個人真正 現(xiàn)在搞 計算機的還就只有幾個人,再看看當(dāng)時這些計算機本科生的畢業(yè)設(shè)計,//faint有的人到最后 連vb都搞 不定,,但他們什么編譯原理啦什么組成原理啦什么軟件工程啦學(xué)的(應(yīng)該是考試的分數(shù))真 還不 錯,,至少我感覺有些概念比我清楚(上課沒聽?)所以我覺的中專生并不比一般大學(xué)生差(當(dāng) 然有 些重點學(xué)校除外//hehe),有時中專生有更大的壓力逼迫自己去學(xué)習(xí),,學(xué)歷不是重要的,,關(guān) 鍵是一 個人的素質(zhì).我們不能將目標定位在做程序員或編碼員(Coder)上光會寫代碼有什么用?那 叫“編 碼員”,,在國外是屬于體力勞動的,,不像國內(nèi),會寫程序的就叫高科技,。重要的是分析問 題,、解 決問題和規(guī)劃的能力,,系統(tǒng)分析,系統(tǒng)設(shè)計及項目規(guī)劃才是正途,。這就需要學(xué)習(xí)所謂的基礎(chǔ) 課程 了,,如:軟件工程、離散數(shù)學(xué),、數(shù)據(jù)結(jié)構(gòu)等等,。從vb到現(xiàn)在開始學(xué)vc后,一個人搗鼓了幾天 也沒 有什么新發(fā)現(xiàn),。跟本不知道VC的編程思想是什么,,請大蝦們告訴我,它和VB的差別真是 太大了,。VC的博大在于MFC的操縱,它是Win32API的封裝.思想在于怎樣了解MFC的內(nèi)幕,它 的運行機制.差別也大,差別也不大,!這要看你對API的理解了,,雖然VC++的可視化沒有VB的 好, 但是不是絕對沒有的,,其對而且對話框的編輯是跟VB一樣的,,不過不是像VB那樣放在第一個 界面 罷了,VC++的博大精深是VB難以望其項背的?。海┒襐C++是完全面向?qū)ο蟮木幊坦ぞ?,?br>VB是不夠完全的面向?qū)ο缶幊坦ぞ撸琕C++是完全編譯語言,,VB是本地編譯語言,,不夠完全, VC++效率高,,封裝性好,,繼承性高,VB效率相對低了很多,,但界面友好,,二者只能取其一, 或 者使用VC++,,VB輔助(因為VB開發(fā)快),,當(dāng)然Delphi,BCB也是不錯的選擇,。
程序員不應(yīng)依賴開發(fā)工具,,程序員更應(yīng)該擁有的是一種思維、一種精神,、一種觀念,。就像 Richard.M.Stallman一樣,,有自己的精神,為自由軟件而奮斗,。就像求伯君,,為民族軟件的 振興而 奮斗。這才是真正的程序員,。 應(yīng)該說,,他們更注重的不是技術(shù),而是軟件的思維,,軟件的靈魂?。∥覄倢W(xué)VC的時候,還 沒有上 網(wǎng).身邊也沒有一個可以問的朋友,所以大部份都是自己啃的.那種感覺真是很痛苦. 現(xiàn)在在 網(wǎng)上就不 同了,可以得到太多的資料了,而且還可以得到在線幫助.但這些都不是學(xué)習(xí)的關(guān)鍵. 相信各 位也知道 VC的難度,并不是那么容易上手的,所以要想學(xué)會,學(xué)好VC,靠外力是不可能的.主要得靠 自己. 自 己要有一份難得的毅力,對編程的狂熱也可以在一定程序上起到幫助.我就是這樣的.起 初,沒有人幫我,我學(xué)習(xí)VC是三天打魚兩天曬網(wǎng),學(xué)習(xí)進度很慢,幸好對編程的執(zhí)著,使得自 己堅持下 來了. 如果你從來就沒有接觸過編程,那你學(xué)習(xí)VC的速度可能會比學(xué)過面向過程編程的人 要慢一 些,因為你要去理解命令及語句的含義.但只要你努力,并且可以得到別人的幫助,我相信在半 年內(nèi)會 對VC有一定的認識. 請學(xué)赤面向過程編程的朋友也不要笑,因為面向過程與面向?qū)ο髮嵲?br>是區(qū)別 太大了.就拿封裝一詞來說吧.當(dāng)初我是左想右想才想通的.所以不要自己學(xué)過編程,就會在學(xué) 習(xí)V C的通道上比別人輕松. 現(xiàn)在有一種現(xiàn)狀應(yīng)該讓我們注意.我發(fā)現(xiàn)有很大一部份初學(xué)者覺得 VC是 一種語言,C++又是另一各語言.我在和一些初學(xué)者的交談當(dāng)中,查覺到了這一點.有的初學(xué)者 竟然還 認為我學(xué)VC為什么就一定要學(xué)C++?我想這個問題是我們大家都沒有注意到的一個問題.就 是向 初學(xué)者講述C++對VC學(xué)習(xí)的重要性. 我這有個例子,跟大家講一下. 我有個同學(xué),他接觸編 程比我 要早,在我還在為VC中"::"符號怎么標記的時候,他已經(jīng)在學(xué)習(xí)C了.后來,我對VC稍有理 解的時候 ,他也發(fā)覺C的跟不上時代的腳步了.我便提議他從C++語言學(xué)起,可他認為自己有C的學(xué)習(xí) 功底,根 本就用不著再去學(xué)習(xí)C++.可在學(xué)習(xí)VC的當(dāng)中,遇到的困難真是數(shù)不勝數(shù).最近,他還是去買 了一本 學(xué)習(xí)C++的書.從頭再來學(xué)習(xí)C++. 我希望通過這個例子,能讓廣大的初學(xué)者知道,C++對V C學(xué)習(xí)的 重要性. 學(xué)習(xí)VC必須有狂熱的編程熱情,,否則是很難堅持下來的,,我周圍就有幾個這樣的人,他們比 我先 學(xué)VC近半年,,但現(xiàn)在仍然學(xué)不會,,而我現(xiàn)在雖說不是很厲害,但基本的應(yīng)用程序是不在話 下,,我 就是天天看書,,上機實踐,幾乎所有的時間都泡在里面,,有時連吃飯都在想,,為什么,因為 我確 實想啃下這塊硬骨頭,,我不想半途而廢,,我覺得學(xué)習(xí)VC不僅僅是學(xué)到了更多的東西,最主要 的是 培養(yǎng)了我們自己一種堅持克服困難的毅力,。 對于VC,,我有幾點經(jīng)驗: 1。技術(shù)為本,,語言為次. 2.MFC的單個類有用,,DOC/VIEW要小心。 3,。OOP要小心,,使用不當(dāng)反而造成大量的工作和糟糕的代碼。 4,。如果可能,,考慮選擇使用Delphi(CBuilder+VCL)。 5,。到了一定程度,,一定要學(xué)COM,。 要學(xué)VC,必須有對C++深刻的理解,,對WINDOWS運行機制的深刻理解,。尤其想成為VC高手。舉 例 ,, 對于虛函數(shù),,不僅要知道有這么一個東東,更要知道它的內(nèi)存鏡像 ,。這樣才能對VC 中很多 的東西舉一反三,,事半功倍。本人學(xué)習(xí)VC近2年,,但自覺第一年由于心情浮躁,,把VC的書翻 了一 遍又一遍,卻每次都只看了一點就無法再深入,。直到畢業(yè)前夕,,痛定思痛,克服浮躁,,認認 真真 的從最基本的開始學(xué),把每一點都搞的水落石出,,經(jīng)過三個月的刻苦,,終于大成。直到現(xiàn) 在,,半 月搞定COM/DCOM,,都托當(dāng)日刻苦之福,因此勸告想學(xué)VC的朋友,,一定要頂住開始 的艱難歲月,。成功屬于刻苦者。
每個人都有自己的學(xué)習(xí)方法,也許這種方法對我來說有用,但不見 得就對所有的人有用.所 以,請不要 盲目的跟著別人的學(xué)習(xí)方法學(xué)習(xí),要思考屬于自己的學(xué)習(xí)方法. 但我還是會向大家說出我自 己認為 比較好的一種方法. 學(xué)習(xí)編程其實與學(xué)習(xí)其它東西一樣,要想掌握它,就要實踐,實踐,再實 踐.當(dāng)你學(xué) 到了一種新的技術(shù)或知識時,多實踐是鞏固學(xué)習(xí)的一種最好最有效的方法. 這個實踐不是照著書上的例子做一遍,而是根據(jù)自己的能力,給自己出題,然后去完 成 它.只有這樣,你才能發(fā)現(xiàn)自己的不足,同時又增加了自己的編程經(jīng)驗. 但要成為合格的程 序員,光 會寫代碼是遠遠不夠的,更重要的是思考.謀定而后動,是 不變的真理.
在我的理解,,VC只是一個編程工具,,就如BC、BCB,、Delphi 一樣,,其實對于編程最根本的就 是三 個方面,語言,、開發(fā)包,、 操作系統(tǒng)API,他們?nèi)齻€方面應(yīng)該說是相對比較獨立的,。
VC是MS開發(fā)的,,所以針對的是windows api,你可以不會C++,, 也可以在VC下用C寫出很優(yōu)秀 的程 序,,當(dāng)然如果你比較熟練C++, 并且熟悉開發(fā)包MFC的話,,工作可能要輕松不少,。所以在我 看來,學(xué)習(xí)的過程可以是這樣的,, 1,、先學(xué)習(xí)C或C++,在windows的console環(huán)境下編寫不太深 入涉及API的程序,; 2,、在基本上掌握了語法之后,開始接觸簡單的系統(tǒng)API,,學(xué)習(xí) Windows的編程原理和機 制,; 3、在可以編寫簡單的菜單程序,,可以簡單地在WM_PAINT下操作 GDI函數(shù)后,,開始學(xué)習(xí)MFC,, 可 以從Step tourist學(xué)起,,看MFC的 源代碼,理解幾個關(guān)鍵的宏的定義與實現(xiàn),,特別是 MESSAGE MAP。 在學(xué)習(xí)的過程中為了給自己增加點挑戰(zhàn),,盡量不要使用resource edit,試著自己編 碼實現(xiàn)控 件的創(chuàng)建,,消息的響應(yīng)。 再就是看自己的造化了,,動手做一些小工具,,特別是自己平常需 要的,對自己的提高也應(yīng)該是很有幫助,。 究竟我們要的是結(jié)果!良好的分析問題高效清晰 地肢解 問題的能力才是我們真正要不斷學(xué)習(xí)的吧,?
和學(xué)習(xí)其他知識一樣,,重要的是獲得提出問題,,分析問題,解決問題的能力,,不是為編程而 學(xué)習(xí),, 你具有什么樣的思想,就會寫出什么樣的程序,。學(xué)一門語言,,不能僅僅是語言,要注重語言 背后 的思想方法,,看他是如何來解決某一問題的,,為什么要這樣去做,,他總是要符合客觀事實 的,,就 像人說的話一樣,存在某種邏輯,,數(shù)據(jù)的組織,,信息的傳遞,靠你自己的頭腦去建立,,然后 看 C++中有什么可以幫你的,,該怎么樣用他來表達自己的想法。只要你認真實踐,,努力去做,, 尋求 樂趣,就會達到目標,。我雖然 真正認真學(xué)習(xí)編程的時間不長,但現(xiàn)在我是認真的,,就有了 以上的 體會,。
學(xué)習(xí)VC++有相當(dāng)?shù)膬?nèi)容要學(xué),而最后的深度則看個人的悟性與勤奮了,。 1)掌握最新標準的C++,。 如果曾經(jīng)在大學(xué)里自以為學(xué)過C/C++,還對 dynamic_cast/static_cast/template/try/catch/throw/stl/...感到 陌生,那你該Refresh一下新的ANSI C++標準了,。 ----此與VC++無甚關(guān)聯(lián),,g++/bcb均有所 支持。 (2個月) 2) 學(xué)習(xí)SDK編程,;:-O (6個月) 痛苦是暫時的,,必要的,堅持就是勝利,! 建議用 Lccwin32/Masm32/Tasm編寫小而精的工具軟件,; "Windows Programming Guide." "Advanced Windows programming "
3) 研究MFC源代碼,。(6個月) 不要被一大堆的宏所蒙蔽,just track and dig into it!! 在知道MFC如何擴展,,包裝SDK 之后,,自可功 力漸進,不被其MFC系統(tǒng)框架所困繞,。 "MFC Internals"
4) 研究OLE/COM技術(shù),。 COM/ActiveX技術(shù)是MS的核心技術(shù),只有徹底洞察其理論精髓才可以體會現(xiàn)在的 操作系統(tǒng)的技術(shù)趨勢,,以不變應(yīng)萬變,。 "Inside Ole 2"
***幾點建議***: 1) Delphi/BCB/VB可以很快構(gòu)筑界面,但對于想真正學(xué)習(xí),、理解系統(tǒng)不是一個好的平臺,,但 如果有 時間讀一讀VCL的源碼,看看Borland是如何封裝系統(tǒng)的,,也可借鑒不少,。 2) 學(xué)習(xí)ASM對理解C++有很大益處。Soft-ICE也是和VC++結(jié)合在一起的好工具; 3) 語言本身是皮毛,,算法是筋骨,;無論高級語言如何發(fā)展,在理解操作系統(tǒng)的基礎(chǔ)上不斷 自我創(chuàng) 新的能力是源源不斷的,;如果精髓一旦了然于胸,,選擇何種開發(fā)工具都可以駕御,一見如故 了,。
每個人學(xué)習(xí)的過程都會不同吧,,我在98從TC轉(zhuǎn)向VC時,對Windows的消息機制一點概念也沒 有,, 對著個MFC不知所措,,幾個月下來一點進展也沒有。我于是暫時轉(zhuǎn)向win32位編程,。整整一年 時間 吧,,我就是與API打交道,連編輯菜單條對話框等資源文件時也用Uedit32手工編寫,,為的是 希望 能對編譯器的全過程有個感性的了解,。之后我再轉(zhuǎn)向MFC時,果然發(fā)現(xiàn)兩者是相通的,,雖然 有一 定的區(qū)加,,不過有了win32位編程的基礎(chǔ)再看MFC 時會發(fā)現(xiàn)它比win32位編程要方便了太 多。 現(xiàn)在 市面上的VC書很多,不過大多是入門書,。我以為要精通VC(只是以為,,本人自已距精通還遠 的 很)應(yīng)該多看多寫程序,看書只能是入門,,會用了而已,。我不贊成濫用ActiveX,一來我以 為它的 性能很成問題,,真是又大又慢又不穩(wěn)定(可能是我有點偏激了吧),,二來用了它您的程序今 后就 要被別人牽著鼻子走了。有次我用了個控件,,程序都寫了大半了,,它給我來個繼續(xù)使用請支 付 333美元,我兩個多月的工錢,,煩不煩人,?現(xiàn)在我盡可能用別人寫的類源代碼(我已收集各類 代碼 3-400MB了),一樣用起來方便,,還能邊用邊學(xué),,必要時還能自已改造。 我以為在現(xiàn)代的網(wǎng) 絡(luò)時代,, 資料到處都有,,無論什么先進的技術(shù),今天我不會我只要查到資料,,快的學(xué)上幾天慢的一兩 個月 我也能學(xué)會,,現(xiàn)在已沒有寫不出的程序了,寫不出是因為你沒有耐心寫完它,。我以為現(xiàn)在的 程序 員不一定要多么聰明,,而更需要他有完成枯燥項目的耐心,找BUG的細心,,對于金錢的平常 心 (不要為了早日拿到錢而趕進度),,最后最重要是有顧全大局,團隊協(xié)作的精神,。 最后, 王靖朋友的經(jīng)歷與我實在是有點相似,,算是同病相伶吧,,真心祝您早日實現(xiàn)自已 的人生目標!學(xué)習(xí)VC是一項費時費力的艱苦學(xué)習(xí)過程,。為了真正用好VC,,你 不得不先從OOP 開 始學(xué)起,也許瀏覽一本純理論的書要更有意思。 你將從另外的角度考察OO思想,。接下來學(xué) 習(xí) C++,,學(xué)習(xí)WindowsAPI 學(xué)習(xí)MFC,剖析MFC,,擴充MFC,,創(chuàng)造自己的類庫(不要企圖寫一個 和MFC同重量級的類庫)。如果能夠精通Microsoft C編譯器的各種 參數(shù),,你就可以開始研 究微軟 C/C++語言編譯器的進化歷史(結(jié)合 各種背景知識),。 掌握了編程的思想,征服VC只是時 間問題,。
學(xué)習(xí)VC是接受微軟技術(shù)體系的過程,。所需要學(xué)習(xí)的不僅僅是C++,MFC,。 需要學(xué)習(xí)所有微軟 的技 術(shù),,包括Windows編程,Win32系統(tǒng)(實際上 Win32系統(tǒng)實現(xiàn)了很多我們在屏幕上能看到的東 西,, 最起碼NT的內(nèi)核 并不大),,COM(深入研究它,理解對象是如何跨越進程邊界的,,最終 能 夠自 如地在Exe中實現(xiàn)自己定義的接口才算到家了,。不過這多少有些 不太必要。),,DCOM,, ctiveX, Windows DNA... 如果你想成為大拿,,學(xué)吧,,沒完沒了。最起碼,,使用VC,,你甚至于可以 開 發(fā)自己 的操作系統(tǒng)(當(dāng)然與MFC沒有一點關(guān)系)。
|
|