寫給想當(dāng)程序員的朋友_第1頁
寫給想當(dāng)程序員的朋友_第2頁
寫給想當(dāng)程序員的朋友_第3頁
寫給想當(dāng)程序員的朋友_第4頁
寫給想當(dāng)程序員的朋友_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、寫給想當(dāng)程序員的朋友謹以此文獻給所有想當(dāng)程序員的朋友(一) 文章由來及個人經(jīng)歷我是一名計算機專業(yè)的本科畢業(yè)生,畢業(yè)已經(jīng)1年多了。畢業(yè)后從事的是軟件編程工作,經(jīng)常有其他專業(yè)的朋友想從事軟件編程工作,向我請教如何,因為我自覺涉行不深,不敢信口開河,無奈朋友信任,我不得不鄭重考慮一下這個問題了,來幫助朋友選擇和回報朋友的信任。這也就是此文的由來。還是先談?wù)勎覀€人的經(jīng)歷吧。(是不是有點俗套,但我覺得了解我的經(jīng)歷,有助于理解我話的含義;我一向認為不了解古龍的生活經(jīng)歷的,不會真正讀懂古龍的作品和古龍筆下的英雄的)我本科就讀于南方一所著名的高校(因為自己的不成氣,愧談母校名謂),學(xué)的就是計算機專業(yè)。上本科時

2、,幾乎沒有認真的聽完一門專業(yè)課程,上課看報紙睡大覺,下課看錄像看小說看球賽,臨考抱佛腳,每次考試和課程設(shè)計都是蒙混過關(guān)。(于之相對是,我選修的工商管理和經(jīng)濟貿(mào)易方面的課到是聽得不亦樂乎,考的分數(shù)頗高,也許這才是我的真正興趣所在。)總而言之,大學(xué)是混過來了,對專業(yè)的理解和掌握程度,應(yīng)該沒有達到畢業(yè)要求的合格水平。(也很后悔,但是有什么用呢,當(dāng)時不知道珍惜;如果上天再給我一次機會的話,我一定會抓住,多看點美國大片少看點港片;現(xiàn)在,重回校園是我的一大理想)但是大學(xué)的學(xué)習(xí)使我有了一個簡單的知識框架(總算學(xué)費沒白交),我對一個朋友這樣形容過我的這個知識框架,“它不是鋼筋鑄的,是稻草扎的”,哈哈哈,不要笑

3、,真的,我敢說很多本科畢業(yè)的朋友的本專業(yè)的知識框架也只不過是“稻草扎的”。直到現(xiàn)在,我一直覺得自己的基礎(chǔ)知識還是很薄弱,一直想抓點時間,把基礎(chǔ)書本好好的溫習(xí)一下。(此項任務(wù)正在計劃和實施中)畢業(yè)后,分配到某研究所工作。當(dāng)領(lǐng)導(dǎo)讓我選擇自己以后的工作方向時,我毫不猶豫的選擇了軟件(也不知道到底是對還是錯,但我決不后悔)。此研究所主要是以硬件為核心搞通信控制設(shè)備的研發(fā)生產(chǎn);軟件是輔助,所以也不受什么重視,很多搞軟件的人都跳槽走了,留下來的大都是一些已經(jīng)廢掉和行將廢掉的“偽/萎”程序員(名副其實的“軟件人員”)。在這里感覺不到什么高緊張和高技術(shù)程度的研究和開發(fā);軟件開發(fā)的技術(shù)含量極低,以致于大部分人只

4、有半年的學(xué)習(xí)和開發(fā)經(jīng)驗,以后都是這些知識和經(jīng)驗的重復(fù)利用。(我問過其他到研究所工作的同學(xué),他們說都一樣,嗚呼,我們的國防科研開發(fā)呀)對于軟件的開發(fā),領(lǐng)導(dǎo)的意志和老掉牙的經(jīng)驗在新課題的技術(shù)采用和開發(fā)中起了決定性作用,沒有明確的需求,沒有明確的開發(fā)計劃和進度,大家在一天一天一周一周的浪費著寶貴的時間,最后開發(fā)出來的東西修來改去,直至它變成垃圾。 我越來越認識到一點,要么象那些廢人一樣廢掉,要么自己去努力尋求出路,反正別指望從工作中得到什么高明的經(jīng)驗了(教訓(xùn)倒也許有)。期間發(fā)生了一些感情上的糾紛,嚴重的影響了學(xué)習(xí)計劃和效果,直到現(xiàn)在浮躁的心仍然有些浮躁。期間,我讀了一些書,看了一些文章,編過一些小例

5、程,搞了一些沒有什么技術(shù)含量的開發(fā)工作,也和一些前輩和高手們談過聊過。 我一直在思考幾個問題;如何學(xué)習(xí)軟件開發(fā)?如何搞軟件開發(fā),國外的軟件開發(fā)到底其秘訣在何處?為何我們的軟件業(yè)一直在低水平徘徊?我們難道真的離了Microsoft就活不了?我們的程序員到底在浪費時間干些什么?軟件開發(fā)到底是如何分類的?我們?nèi)绾巫咦约旱拿褡遘浖??我想了很久,一些想通了,一些還在想。但我知道有一點是肯定的,那就是我們一定要靠我們自己走出自己的軟件之路!跟在別人屁股后面永遠受制于人!好了,關(guān)于經(jīng)歷和牢騷就先寫這些吧,該進入我們的正題了。(二) 你適合當(dāng)程序員嗎,你知道編程序是怎么回事嗎?1、 程序員意味著要編程序。

6、(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老板發(fā)薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這份工作不適合你)2、你是學(xué)文的還是學(xué)理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。(說坦白點就是,在你沒有找到樂趣以前,它很枯燥)3、你有對新技術(shù)追求的熱情嗎?你有刨根問底的探索精神嗎?(熱情絕對是最重要的!你仔細思考一下自己的性格適合當(dāng)程序員嗎?)4、當(dāng)程序員決不是什么好差事,時刻需要學(xué)習(xí),需要思考。(直到你成為那個可以引導(dǎo)別人去學(xué)習(xí)和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)5、程序員的未來很迷茫。(但我認為關(guān)鍵看你自己!我希望你是一個有追求的人,不僅僅是混碗飯吃。因為真

7、正的樂趣在于創(chuàng)造;如果你能改變軟件業(yè)的歷史,那才是英雄;不想成為Bill Gates,不想成為Dennis Ritchie和 BjarneStroustrup,我會說你沒有追求。有個關(guān)于程序員未來的笑話,也許你還沒聽過,你該聽一聽,摘抄如下:一個程序員對自己的未來很迷茫,于是去問上帝?!叭f能的上帝呀,請你告訴我,我的未來會怎樣?”上帝說“我的孩子,你去問Lippman,他現(xiàn)在領(lǐng)導(dǎo)的程序員的隊伍可能是地球上最大的”于是他去問Lippman。Lippman說“程序員的未來就是駕馭程序員”這個程序員對這個未來不滿意,于是他又去問上帝。“萬能的上帝呀,請你告訴我,我的未來會怎樣?”上帝說“我的孩子,你

8、去問Gates,他現(xiàn)在所擁有的財產(chǎn)可能是地球上最多的”于是他去問Gates。Gates說“程序員的未來就是榨取程序員”這個程序員對這個未來不滿意,于是他又去問上帝?!叭f能的上帝呀,請你告訴我,我的未來會怎樣?”上帝說“我的孩子,你去問侯捷,他寫的計算機書的讀者可能是地球上最多的”于是他去問侯捷。侯捷說“程序員的未來就是誘惑程序員”這個程序員對這個未來不滿意,于是他又去問上帝?!叭f能的上帝呀,請你告訴我,我的未來會怎樣?”上帝搖搖頭“唉,我的孩子,你還是別當(dāng)程序員了”)6、當(dāng)程序員還是很有樂趣的。(當(dāng)你學(xué)到新知識時,當(dāng)你有新的思想見解時,當(dāng)你有新的產(chǎn)品問世時,和知己探討你的成果時我問你,覺得這些

9、是樂趣嗎?)7、當(dāng)程序員不易也不難。(世間事有難易乎?為之;不為。你有決心和信心嗎?)8、你真的要當(dāng)程序員?是你自己的想法?9、你舍得花錢買書嗎?(讀好書絕對是學(xué)習(xí)編程的最佳捷徑。你一定會說,現(xiàn)在電腦書籍真T.M.D貴,沒法子,誰讓知識和技術(shù)在人家的腦袋,在人家的書里呢;等你寫書時可以把價格定低一點,記著還有好多沒錢但想買書的兄弟很困難呀。要舍得買書,買好書,不好的的書不如不讀,其害大于其益,關(guān)于買什么書,你可以問高手或看候捷的書評;準(zhǔn)備一個小本子記錄你想買的書的名字,逛書店時看看,如果好就買下,記住要讀,別光買不看。) 10、我告訴你,程序就是:任何有目的的、預(yù)想好的動作序列,它是一種軟件。

10、11、編程序就是編寫程序。12、你想好了嗎?(如果你想好了還是決定要當(dāng)程序員,可以繼續(xù)往下讀;否則,你可以繼續(xù)尋找別的出路了。)(三) 一個程序員應(yīng)該具備的基礎(chǔ)知識和概念1、計算機是有什么組成的,CPU是什么東西,其工作原理是什么。(對于這些以及下面將要提到的概念我不會告訴你什么答案,你可以看相應(yīng)的教材,關(guān)于教材我會在下一部分詳述,記住理解最重要!)2、機器語言和微指令集的概念。3、程序的概念。4、匯編語言是低級語言但不是機器語言。5、高級語言主要有那些?(C,C,Basic,Pascal,F(xiàn)ortran,C#,Java等等;如果你是中國軟件業(yè)的英雄,你也寫一門語言,最好不用英語) 6、編譯程

11、序和解釋程序的概念和其原理。(編譯器是高手和專家編寫的)7、HTML、XML等是標(biāo)識性語言。8、Prolog是人工智能語言。9、操作系統(tǒng)OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,還有一些實時OS,嵌入OS,編這些的絕對是高手)10、Windows編程說白了就是Windows API的調(diào)用。(中國的程序員很多只是會編windows程序,用的是VB,我的建議是這些程序員頂多只是低級編碼員,我稱其是coder)11、VC、VB、BC、BCB、Delphi、VF等都只是編程的工具和環(huán)境,不是編程語言。12、面向結(jié)構(gòu)的設(shè)計概

12、念。13、面向?qū)ο蟮母拍?。(好好理解,兄弟,這個東西還是很重要的)14、軟件工程的概念和原理。(如果你想當(dāng)老總就需要好好研究了,系統(tǒng)分析員比編碼員要高一個等級,薪水也高喲)15、數(shù)據(jù)庫的概念。(要熟悉一些著名的數(shù)據(jù)庫系統(tǒng)和語言的名字,如Orcle,SQL,DB2,DyBase等)16、了解網(wǎng)絡(luò)概念。17、了解多媒體概念。18、熟悉和掌握數(shù)據(jù)結(jié)構(gòu)和基本算法。19、是不是要求太高了,別著急慢慢來,進步在不知不覺之中。(一旦開始學(xué)習(xí),一個月以后你就會有一個基本的概念;兩個月以后你就會感覺自己有了全面的基礎(chǔ)知識;當(dāng)你知道編程序是怎么回事時,說明你已經(jīng)入門了。也有很多人編了很多年程序還沒有入門呢,你不會

13、希望自己步其后塵吧。要有信心和耐心。沉不住氣怎么能成大事??。ㄋ模?教材推薦DD 推薦的教材主要還是針對概念來的,最好選用名?nbsp;的教學(xué)用書。1、計算機組成原理(熟悉)2、數(shù)據(jù)結(jié)構(gòu)(掌握)3、操作系統(tǒng)(了解-熟悉)4、The C language(掌握)5、編譯原理(了解原理)6、匯編語言(了解)7、計算機網(wǎng)絡(luò)(了解)8、軟件工程(了解)9、關(guān)系數(shù)據(jù)庫(熟悉)10、The CLanguege (掌握)11、面向?qū)ο笤O(shè)計(掌握;結(jié)合C+學(xué)習(xí))(五)一些經(jīng)驗和體會1、真正的程序員用C+;(一位專家說的)2、動手去編程序;3、動腦去思考;4、要有良好的編程風(fēng)格;5、讀書,讀好書,盡量讀原版書

14、?。ㄎ曳磸?fù)強調(diào)這一點,讀書要有選擇,堅持讀好書,名家出的經(jīng)典書,不要浪費實踐在一些粗制濫造的書上面;堅持博覽群書)6、有自己的學(xué)習(xí)計劃;7、總結(jié)自己的經(jīng)驗教訓(xùn);(準(zhǔn)備一個筆記本,記錄錯誤和心得)8、不要怕學(xué)新東西;9、要有軟件工程的思想;10、善于發(fā)現(xiàn)問題,然后去尋找答案;11、向高手請教;(要虛心直到你成為高手)12、和同行交流;(不善于交流肯定不行)13、懂得軟件的實質(zhì),不要被千變?nèi)f化的表象所迷惑;14、真正要學(xué)習(xí)用的是編程語言和方法,不是什么庫,什么類,什么工具;(學(xué)用那些什么庫都比較簡單,但光會這些庫,我覺得還遠遠不夠)15、學(xué)習(xí)wiodows編程主要是學(xué)習(xí)windows OS和win

15、32 API;16、有空了解一下嵌入式開發(fā);17、有空了解一下PDA軟件開發(fā);18、了解一下.NET框架和C#語言,也許它是你新的衣食父母;19、要有耐心,不要作浮躁的人; 20、對程序加注釋,并保留你的老程序;21、學(xué)到的東西越多,了解的越多,你就越接近專家;22、有空去逛逛CSDN,那里有你很多知己;23、要有信心成為一個優(yōu)秀的程序;(六)一些好書的推薦1、The C Programming language (Keinighan & Dennis Ritchie 1988)2、The C+ Programming Languague(Bjarne Stroustrup 1997)3、In

16、side The C+ Object Model (lippmans)4、Effective C+ (同上)5、More Effective C+ (同上)6、Exceptional c+7、C+面向?qū)ο蟾咝Ь幊?、設(shè)計模式9、Thinking In C+10、The Standard C+ Bible(一般推薦)11、The Art of Computer Programming 12、Programming Windows (Charles Petzold)13、VC+5.0技術(shù)內(nèi)幕14、MFC 深入淺出15、軟件需求16、Advanced Windows17、C+ primer18、wi

17、n32程序員參考手冊19、用TCP/IP進行網(wǎng)際互連20、COM 本質(zhì)論(七)學(xué)習(xí)計劃 這個學(xué)習(xí)計劃是我個人定的,也共享給大家參考一下,共同進步吧。 1、 計算機組成原理 2、操作系統(tǒng) 3、數(shù)據(jù)結(jié)構(gòu) 4、匯編語言 5、 C 6、 C+ 7、VC 技術(shù)內(nèi)幕 8、Programming Windows 9、深入淺出MFC 10、Advanced Windows 11、Inside The C+ Object Model 12、Thinking in C+ 13、Effective C+ 14、數(shù)據(jù)庫 15、網(wǎng)絡(luò) 16、嵌入式OS和編程 17、硬件單片機 18、.NET和C# 19、軟件工程 20、UNIX和Linux (八)后記 一年來浪費了大量的時間去摸索,去思考,走了很多的彎路,直到現(xiàn)在我還覺得 自己是個編程的門外漢。我把我的一些體會和想法說出來(當(dāng)然,很多都不一定正確, 歡迎大家指正和討論),也許對一些想加入程序員行列的朋友有一些建議和幫助。希望 能幫助這些朋友順利走上編程之路,成為高手。 如果真能如此,我也就很高興了。歡迎有興趣的朋友給我發(fā)E_mail (sjp.);我這個人有兩大業(yè)余愛好,其一就是讀武俠小說,其二就是結(jié)交 英雄俠士。 后記:此文我用analyster的名字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論