版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Q:如何成為好的程序員?Krest:你們?cè)趯W(xué)校都學(xué)些什么課程?問(wèn)這個(gè)問(wèn)題的原因是,我認(rèn)為學(xué)校的計(jì)算機(jī)科學(xué)基礎(chǔ)課很重要。如果你所在學(xué)校的課程設(shè)置合理,那你應(yīng)該先把主要精力花在這些基礎(chǔ)課上。很多學(xué)生看到基礎(chǔ)理論就茫然,不知道這些圖表符號(hào),甚至硬件的知識(shí)對(duì)將來(lái)的軟件開(kāi)發(fā)有什么用。用處大得很哪。比如,操作系統(tǒng)課里講到的多線程的東西在系統(tǒng)編程里很有用。又比如,盡管你將來(lái)不會(huì)去涉及電腦的硬件,計(jì)算機(jī)架構(gòu)里的知識(shí)對(duì)分析算法的性能(快慢等等)很有用???/p>
2、以把計(jì)算機(jī)語(yǔ)言和開(kāi)發(fā)工具比作文字,而把計(jì)算機(jī)科學(xué)的知識(shí)比做思想。只有思想,不會(huì)行文,不行;但行文流暢,思想空洞,也不行。大學(xué)的階段正是打好基礎(chǔ),豐富思想的年代。成為一名好的程序員,不是簡(jiǎn)單地通過(guò)學(xué)幾門(mén)課程就能做到的。我個(gè)人認(rèn)為成為一名好的程序員的要素有:扎實(shí)的基礎(chǔ)知識(shí);很強(qiáng)的解決問(wèn)題的能力;熟練的編程調(diào)試能力;創(chuàng)新能力;團(tuán)隊(duì)合作能力;持續(xù)的自學(xué)能力;好奇心。這些能力和品質(zhì)(甚至可以說(shuō)是習(xí)慣)都應(yīng)該是從大學(xué)階段就著手培養(yǎng),并且從身邊的小事
3、開(kāi)始培養(yǎng)。比如,很多中國(guó)的大學(xué)畢業(yè)生都缺乏編程和調(diào)試經(jīng)驗(yàn)。學(xué)習(xí)C語(yǔ)言,考試過(guò)關(guān)就算學(xué)會(huì)了。課題項(xiàng)目中,只要程序能夠編譯,運(yùn)行,并且輸入輸出滿足要求就了事了。但是,寫(xiě)程序的時(shí)候是否想過(guò)如何把程序?qū)懙酶泳珶?,高效,高質(zhì)量?對(duì)程序調(diào)試中出現(xiàn)的問(wèn)題是否刨根問(wèn)底知道原因,還是不求甚解搪塞過(guò)去算數(shù)?還有,很多中國(guó)的大學(xué)畢業(yè)生對(duì)于知識(shí)的掌握膚淺,機(jī)械,沒(méi)有好奇心,不會(huì)刨根問(wèn)底。比如,學(xué)會(huì)了C,有沒(méi)有看過(guò)一個(gè)object在編譯后,在匯編代碼中是如何被
4、初始化的?這個(gè)object的各個(gè)成員在內(nèi)存中是如何放的?在一個(gè)成員函數(shù)被調(diào)用的時(shí)候編譯器在匯編代碼中加入了哪些額外的動(dòng)作?虛函數(shù)的調(diào)用是如何實(shí)現(xiàn)的這些東西恐怕在編程語(yǔ)言或編譯原理中都沒(méi)有詳細(xì)提到。但是,你是否有過(guò)好奇心去知道?最后,一些中國(guó)學(xué)生的大問(wèn)題就是死記硬背,沒(méi)有學(xué)到某種算法技術(shù)的根本原理,沒(méi)有應(yīng)變和創(chuàng)新的能力。比如,有個(gè)問(wèn)題是如何在不用額外內(nèi)存的情況下把一棵樹(shù)的同一層節(jié)點(diǎn)都連起來(lái)。很多學(xué)生都能夠回答這是一個(gè)廣度遍歷的問(wèn)題。但是,
5、課本上說(shuō)了廣度遍歷是一定要有額外數(shù)據(jù)結(jié)構(gòu)輔助的(隊(duì)列)。所以,不給額外內(nèi)存怎么行?請(qǐng)看,課本上說(shuō)的用隊(duì)列的方法記住了,但是就是不知道為什么要用隊(duì)列。如果深刻掌握了這個(gè)隊(duì)列的作用,那么這個(gè)問(wèn)題是很容易的。舉了這么多例子,我想說(shuō)明的事,想成為一位好程序員(其實(shí)從事任何一個(gè)行業(yè)都是如此),重要的是要養(yǎng)成一個(gè)鉆研,好奇,創(chuàng)新,動(dòng)手,合作,不滿足于填鴨,不滿足于考試交差,不滿足于表象的一種優(yōu)秀的習(xí)慣。這不是學(xué)幾門(mén)課能夠一蹴而就的。當(dāng)然,如果你的在
6、校課程不能使你滿足,我以及論壇上的朋友可能能夠給你推薦一些書(shū)或科目。我覺(jué)得要提高編程的能力,有一位良師很重要。這位良師可以是在編程方面比你走在前面的同學(xué),也可以是學(xué)校里你幫他做項(xiàng)目的老師,也可以是校外公司里的老師或老板。很多東西在實(shí)際的項(xiàng)目中,有一位良師察看你的程序,幫你指出不足,手把手地指導(dǎo)你調(diào)試,會(huì)對(duì)你很有幫助。所以,當(dāng)學(xué)會(huì)了書(shū)本上的基本知識(shí)以后,可以努力尋找一些有實(shí)用性的項(xiàng)目,借機(jī)在項(xiàng)目中找到高手指導(dǎo)。這個(gè)項(xiàng)目可以在學(xué)校找,也可以
7、到校外找。一開(kāi)始不要計(jì)較報(bào)酬,甚至如果能夠?qū)さ礁呤种更c(diǎn),白干也行。其次是讀好的源代碼。多讀好的源代碼就像多讀好的文章,會(huì)有利于自己寫(xiě)作。能夠讀懂別人的代碼也是一門(mén)硬功夫。將來(lái)很多項(xiàng)目中你不會(huì)重頭做,而是在半途加入(一般文檔又不很齊全),因此需要能夠很快讀懂別人代碼和想法的能力。再次是看一些編程方面的好書(shū)。WritingSolidCode是一本很經(jīng)典的書(shū)。最近出的WritingSecureCode也不錯(cuò)。在你熟練掌握C以后,可以學(xué)一下C并
8、熟悉面向?qū)ο蟮某绦蛟O(shè)計(jì)思路。在掌握C的基礎(chǔ)上可以看一下DesignPatterns。看你要把編程學(xué)到多么專(zhuān)業(yè)。到一定程度,你會(huì)發(fā)現(xiàn)如果沒(méi)有學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu),算法原理,編譯原理和操作系統(tǒng),可能在某些方面會(huì)遇到一些障礙。所以,如果有精力和條件的話,可以同時(shí)了解這些方面的知識(shí)。最后,我要提醒你不要因?yàn)榫幊踢@一業(yè)余愛(ài)好而影響了你本專(zhuān)業(yè)的課程,除非你決定轉(zhuǎn)行。對(duì)很多在校學(xué)生來(lái)說(shuō),本專(zhuān)業(yè)的成績(jī)很重要,因?yàn)檫@個(gè)成績(jī)可能會(huì)影響到將來(lái)找工作,申請(qǐng)研究生院等等
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何做一個(gè)優(yōu)秀程序員
- 做一個(gè)合格的程序員2008
- 怎樣做一個(gè)好營(yíng)業(yè)員
- 做一個(gè)優(yōu)秀的導(dǎo)購(gòu)員
- 怎樣做一個(gè)合格的服裝營(yíng)業(yè)員
- 如何成為一個(gè)好的程序員
- android一個(gè)程序員的入門(mén)書(shū)
- 怎樣做一個(gè)合格倉(cāng)庫(kù)管理員
- 一個(gè)老程序員的心里話
- 如何成為一個(gè)好的程序員84392
- 寫(xiě)給想當(dāng)程序員的朋友 -- 一個(gè)還不太老的程序員的體會(huì)
- 如何做一個(gè)優(yōu)秀的服務(wù)員
- 如何做一個(gè)優(yōu)秀的銷(xiāo)售員
- 怎樣做一個(gè)更有魅力的人
- 如何做一個(gè)優(yōu)秀的營(yíng)業(yè)員
- 怎樣做一個(gè)優(yōu)秀的系統(tǒng)分析師
- 一個(gè)程序員給初學(xué)編程人的建議
- 如何做一個(gè)優(yōu)秀的服務(wù)員46672
- 怎樣做一個(gè)優(yōu)秀的系統(tǒng)分析師16171
- 怎樣做一個(gè)合格的大學(xué)生
評(píng)論
0/150
提交評(píng)論