版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
成都達內(nèi)教育每年10萬人選擇上市公司成都達內(nèi),做有情懷的好教育在論壇上呆久了,發(fā)現(xiàn)很大一部分有關(guān)開發(fā)的帖子都是有關(guān)心懷夢想,立志成為一個軟件英雄或者響當當?shù)暮诳腿宋?或者是狂熱的游戲玩家,突然想邁入游戲開發(fā)的殿堂,自己打造一個完美的游戲;或者被IT行業(yè)的“錢”途無量所吸引,為了經(jīng)濟因素希望成為一個程序員的,而尋求進入軟件開發(fā)領(lǐng)域之門的求助帖子。這些諸如“你好,我想做程序員,應該怎么做?”,“初學C++,請問看什么書好”,“請高手幫我看看這個程序”,“我想轉(zhuǎn)行,請高手指點”……的帖子占了各大軟件開發(fā)論壇帖子總量的很大一部分。自從做了C++板塊的版主,經(jīng)常收到不相識網(wǎng)友的消息或Email,基本上還是問這些問題??吹竭@些帖子和Email,不禁想起自己剛剛邁入軟件開發(fā)的領(lǐng)域,茫茫然不知何去何從,興奮而又彷徨不安的過去,這樣的經(jīng)歷一次又一次,在不同的地點、不同的時間仍然在不斷的重復。今天終于坐下來,寫下一點文字,希望能夠?qū)︶葆宓呐笥褌冇悬c幫助。確認你真的要邁入軟件開發(fā)領(lǐng)域軟件開發(fā)是一項純智力活動(現(xiàn)在人們都意識到長時間超負荷的連續(xù)寫程序并不會提高軟件生產(chǎn)率,反而會對軟件品質(zhì)造成很大負面影響,所以盡管很多程序員仍然長時間加班,但這種現(xiàn)象正在逐步減少并最終會消失,所以體力要求并不會比其他行業(yè)高),如果你不是一個智力高于平均水平的人,說實話,軟件開發(fā)并不適合你,你基本不可能在軟件開發(fā)領(lǐng)域取得很高的成就和地位,而且不久就會因為年齡的增長而被淘汰。如果你以那些開發(fā)出共享軟件的軟件英雄和著名黑客為榜樣,立志也要成為他們的一員,像武俠小說中的大俠一樣仗劍江湖。我要先給你潑上大大一盆冷水,把你從幻想拉到現(xiàn)實中來。首先,現(xiàn)在的軟件其復雜度和規(guī)模都遠遠超過以前,想一個人獨力完成一個規(guī)模稍大的軟件,基本沒有可能(雖然還是有些特例,buttrustme,那些僅僅是特例,請不要把自己想像成獨一無二的超人、幸運兒);其次,無論是軟件英雄還是仗劍江湖的頂尖黑客,他們的軟件開發(fā)功底和智力都遠遠超過軟件行業(yè)從業(yè)者的平均水平,沒有多年的積累和堅韌超常人的毅力,是不可能,換句話說,想成為他們的一員,可以,但請首先成為一個合格的軟件開發(fā)人員。如果你是因為傳說中程序員的所謂“高薪”,對自己現(xiàn)在從事的工作不滿意,而萌生轉(zhuǎn)行的念頭,我勸你還是再慎重考慮一下。程序員的待遇一般來說,是要比平均水平高一些,但遠遠談不上高薪,而且以現(xiàn)在程序員的工作量來算,其實同樣的付出,程序員所得到的能和平均水平看齊就不錯了,程序員的競爭和淘汰也是異常殘酷的。技術(shù)的更新速度更是其他行業(yè)所罕見,每個程序員都要不停的跑步跟上,不使自己落伍,所以在這個層面上來說,沒有誰可以停下來休息,唯一能夠積累下來的就是你的經(jīng)驗,但經(jīng)驗中能夠為你的競爭力增添籌碼的并不多。說了這么多,并不是我故意貶低,而是希望告訴你我所知道的軟件開發(fā)行業(yè)的真實情況,基于此請再慎重考慮你是不是真的要邁入軟件開發(fā)領(lǐng)域。Studio或Borland的C++Builder系列,學習起來更是如虎添翼。但C++現(xiàn)在的缺點也是比較明顯的,我最深的感觸就是對于XP和AgileDevelopment的支持不好。Java簡化了C++的語法,學習起來比較容易(但隨著Java的日益普及和發(fā)展,是否能夠繼續(xù)保持這一優(yōu)勢,我不敢斷言),Eclipse是非常優(yōu)秀的Java開發(fā)平臺,支持XP的整個過程:設計、測試、編碼、重構(gòu)……現(xiàn)階段敏捷軟件開發(fā)的主要語言就是Java。而且Java的跨平臺特性更是非常大的優(yōu)勢。實際上,選擇哪門語言都沒有關(guān)系,根據(jù)你的發(fā)展規(guī)劃和目前身邊的環(huán)境選擇就可以,沒有必要跟風,其后的堅持才是難點。好,假設你選擇了C++做為開發(fā)語言,在Windows平臺上開發(fā),那么我給你如下的學習建議(其他的選擇請各位積極補充……):C++語言的學習當然是基礎(chǔ),這個階段由于沒有任何在特定平臺上的開發(fā)經(jīng)驗,我們只能按照書中的例子一個一個輸入運行,暫時告別熟悉的圖形界面,回到古老的DOS了。參考書的選擇是這個階段很多朋友關(guān)心的,StanLippman的《EssentialC++》和《C++Primer》是我優(yōu)先推薦的,而《EssentialC++》因為篇幅較小,講解內(nèi)容適當,而且對C++STL的運用有不少描述,顯得相當實用,我認為最適合初學者使用。無論選擇了那本書做為入門教材,都應該逐個例子逐個例子的消化,不要貪快,但同時要對重點內(nèi)容有所側(cè)重。我們學習任何東西都是為了解決實際問題,所以請把重點放在我們實際中最常用的部分,而不要過多的追究一些細節(jié)和艱深晦澀的不常用技術(shù)。此刻我們會碰到很多過后看來非常簡單幼稚的問題,比如為什么編譯出錯,為什么按照書中的例子輸進去卻無法通過編譯,找不到頭文件等等,大體上這是因為剛剛接觸程序開發(fā),對程序理解還很初級,以及對于所使用的開發(fā)環(huán)境不夠了解,特定編譯器對標準C++的支持程度不一導致。請多閱讀關(guān)于所使用開發(fā)環(huán)境的各種文檔,以及查閱幫助文檔。以我最經(jīng)常使用的VisualC++配合MSDN來說,當出現(xiàn)一個我不能理解的編譯錯誤時,按F4鍵編輯器就會自動跳到當前錯誤地點,下面的輸出窗口也會給出錯誤代碼(比如C××××),把錯誤代碼記下,打開MSDN,在索引一欄輸入錯誤代碼,就能夠查到詳細的關(guān)于此錯誤的說明,當然,是英文的(不要問你不會英文怎么辦,這是基本要求)?,F(xiàn)在的開發(fā)工具查錯排錯非常方便。當然,有時很多錯誤原因并不是編譯器所提示的地方,而是往前或往后一些地方,長期的編程經(jīng)驗可以提高查錯速度。此時也請多練習練習Debug技術(shù)。此階段只要能夠掌握C++的基本語言要素,對結(jié)構(gòu)化程序設計和基于對象的設計有一定理解,能夠完成一些簡單的小程序就可以結(jié)束了,畢竟DOS程序現(xiàn)在很難勾起我們學習的欲望了:P在此之后可以視自己的情況決定是否學習數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)是程序員的必修課,不可或缺,地位非常重要,即使你現(xiàn)在希望馬上進入圖形界面程序開發(fā)的世界,這一課我也提醒你記著早點補上。終于可以邁入圖形世界,我們要從SDK編程開始,不要擔心,這不會花費你太長時間,但卻是對Windows程序運行機制進行深入了解的好時機,在此的努力都不會白費(trustme),此時的參考書沒有什么好考慮的,基礎(chǔ)的有CharlesPetzold的《Windows程序設計》,進階的有《Windows核心編程》。請從《Windows程序設計》開始,CharlesPetzold的書通俗易懂,學習起來非常輕松,而且對你的語言要求不高,只要懂C就可以了。此時容易碰到的問題大多與項目設置有關(guān),如果使用VisualC++,請按Alt+F7調(diào)出項目設置對話框仔細檢查,并閱讀相關(guān)文檔,熟悉各項配置的意義。此階段請重點掌握WindowsSDK程序的編寫方法,Windows程序的運行機制和Windows消息機制,和常用的WindowsAPI。我們還可以更進一步:嘗試用前一階段學到的C++知識對過程化的SDK程序進行初步的改造,將我們敲入計算機的程序變得可重用,按照自己對基于對象思想和面向?qū)ο笏枷氲睦斫鈦碇匦戮帉懤映绦?。OK,現(xiàn)在你已經(jīng)初步入門了,掌握了C++的基本用法,對面向?qū)ο笥辛艘稽c模糊而自以為是的認識,也能夠?qū)懗鯳indows程序了,雖然還有點簡單,還有點丑陋,不過,總歸是圖形界面啊。開始有點感覺了是嗎?別急著往前沖,停一停,將C++和WindowsSDK的基礎(chǔ)打牢,貪多嚼不爛。此時有很多經(jīng)典書籍等待你去掌握,也有幾乎無限的題材供你練習,請盡量多閱讀接觸下面的資源:《C++Primer》《Windows核心編程》《應用程序調(diào)試技術(shù)》面向?qū)ο箝_發(fā)設計方面的書籍MSDN的PlatformSDK部分,Periodicals部分(包含了大量有價值C++、SDK方面的技術(shù)文章)CodeProject里相關(guān)的源代碼是很好的補充學習資料現(xiàn)在繼續(xù)往前走吧,利用SDK開發(fā)畢竟有時太過于費時費力,還是使用更高級的應用程序開發(fā)框架的好,主要的有MFC和VCL,關(guān)于這些框架誰好誰壞的爭論我已經(jīng)聽煩了,一句話,能幫助我們完成任務就行,它們無非都是工具,你自己隨便選擇吧。不過選擇好之后,你應該明白,對于你的工具,了解越深,越能發(fā)揮它的威力。如果你選擇了MFC,我建議學習下面的書籍:《深入淺出MFC》:關(guān)于此書毋庸多說,盡管有人不停的貶低,但它的地位是無可置疑的,而且也是對我最有幫助的書籍之一。《MFC程序設計》《VisualC++技術(shù)內(nèi)幕》然后就停止找書吧,網(wǎng)上開發(fā)站點的數(shù)不勝數(shù)的源代碼就是最好的老師了……學習過程中碰到問題我該怎么辦?我始終認為學習軟件開發(fā)過程中遇到的問題只有自己盡最大的努力去解決,才能收到最大的成效,對于那些動不動就把問題發(fā)到網(wǎng)上指望高手幫你解決的做法我非常不贊同,因為這樣你并不能從中學到多少。我建議的做法是,首先嘗試自己獨力解決問題,花幾個小時解決一個問題
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 籃球培訓背景
- 肺癌知識培訓
- 簡單培訓課件制作方法
- 簡單辦公技能培訓課件
- 番禺區(qū)安全生產(chǎn)形勢分析講解
- 人工智能特效:AI特效視覺呈現(xiàn)新魔法
- 股轉(zhuǎn)系統(tǒng)培訓課件
- 縣域醫(yī)患關(guān)系現(xiàn)狀與對策
- 當代醫(yī)患關(guān)系處理之道
- 運營崗職業(yè)發(fā)展規(guī)劃
- 疑難病例討論制度落實常見問題與改進建議
- 手機鋪貨協(xié)議書
- 2025年新能源停車場建設項目可行性研究報告
- 2025年物業(yè)管理中心工作總結(jié)及2026年工作計劃
- 創(chuàng)傷性脾破裂的護理
- 蓬深102井鉆井工程(重新報批)項目環(huán)境影響報告表
- 馬路切割承包協(xié)議書
- 大模型金融領(lǐng)域可信應用參考框架
- (新教材)2025年人教版七年級上冊歷史期末復習??贾R點梳理復習提綱(教師版)
- 學??剌z保學工作流程及四書一表一單
- 塔吊拆除應急預案
評論
0/150
提交評論