版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、程序員的十樓層2264556(樓主)發(fā)表于2011110609:16來自網(wǎng)頁瀏覽:131自西方文藝復興以來,中國在自然科學方面落后西方很多,軟件領(lǐng)域也不例外。當然現(xiàn)在中國的許多程序員們對此可能有許多不同的意見,有些人認為中國的程序員水平遠落后于西方,有些則認為中國的程序員個人能力并不比西方的程序員差,只是整個軟件產(chǎn)業(yè)落后而已。那么,到底中國的程序員水平比西方程序員水平差,還是中國有許多優(yōu)秀的程序員達到或超過了西方程序員同等水平呢?要解決
2、這個問題,必須先知道程序員有多少種技術(shù)層級,每個層級需要什么樣的技術(shù)水平,然后再比較中國和西方在各個技術(shù)層級的人數(shù),就可以知道到底有沒有差距,差距有多大。當然,對于如何劃分程序員的技術(shù)層級,不同公司或不同人會有不同的劃分標準,下面的劃分僅代表個人的觀點,如有不當之處,還請砸板磚予以糾正。第1層菜鳥第1層樓屬于地板層,邁進這層樓的門檻是很低的?;旧隙嬎銠C的基本操作,了解計算機專業(yè)的一些基礎(chǔ)知識,掌握一門基本的編程語言如CC,或者Jav
3、a,或者Javript,...,均可入門邁進這層。在這層上,中國有著絕對的優(yōu)勢,除了從計算機專業(yè)畢業(yè)的眾多人數(shù)外,還有大量的通信、自動化、數(shù)學等相關(guān)專業(yè)的人士進入這一行,此外還有眾多的其他專業(yè)轉(zhuǎn)行的人士,人數(shù)絕對比西方多出甚多。并且還有一個優(yōu)勢就是我們這層人員的平均智商比西方肯定高。沒有多少人愿意一輩子做菜鳥,因為做“菜鳥“的滋味實在是不咋的,整天被老大們吆喝著去裝裝機器,搭建一下測試環(huán)境,或者對照著別人寫好的測試用例做一些黑盒測試,好
4、一點的可以被安排去寫一點測試代碼。當然如果運氣“好“的話,碰到了國內(nèi)的一些作坊式的公司,也有機會去寫一些正式的代碼。所以,菜鳥們總是在努力學習,希望爬更高的一層樓去。第2層大蝦從第1層爬到第2層相對容易一些,以CC程序員為例,只要熟練掌握CC編程語言,掌握C標準庫和常用的各種數(shù)據(jù)結(jié)構(gòu)算法,掌握STL的基本實現(xiàn)和使用方法,掌握多線程編程基礎(chǔ)知識,掌握一種開發(fā)環(huán)境,再對各種操作系統(tǒng)的API都去使用一下,搞網(wǎng)絡(luò)編程的當然對socket編程要好
5、好掌握一下,然后再學習一些面向?qū)ο蟮脑O(shè)計知識和設(shè)計模式等,學習一些測試、軟件工程和質(zhì)量控制的基本知識,大部分人經(jīng)過2~3年的努力,都可以爬到第2層,晉升為“大蝦“。中國的“大蝦“數(shù)量和“菜鳥“數(shù)量估計不會少多少,所以這層上仍然遠領(lǐng)先于西方。大蝦們通常還是有些自知之明,知道自己只能實現(xiàn)一些簡單的功能,做不了大的東西,有時候還會遇到一些疑難問題給卡住,所以他們對那些大牛級的人物通常是非常崇拜的,國外的如RobertC.Martin、Linu
6、sTvalds,國內(nèi)的如求伯君、王志東等通常是他們崇拜的對象。其中的有些人希望有一天也能達到這些大牛級人物的水平,所以他們繼續(xù)往樓上爬去。第3層牛人由于“大蝦“們經(jīng)常被一些疑難問題給卡住,所以有了“大蝦“們只好繼續(xù)學習,他們需要將原來所學的知識進一步熟練掌握,比如以熟練掌握C編程語言為例,除了學一些基礎(chǔ)性的C書籍如《CPrimer》,《EffectiveC》,《ThinkinC》,《ExceptionC》等之外,更重要的是需要了解C編譯
7、器的原理和實現(xiàn)機制,了解操作系統(tǒng)中的內(nèi)部機制如內(nèi)存管理、進程和線程的管理機制,了解處理器的基礎(chǔ)知識和代碼優(yōu)化的方法,此外還需要更深入地學習更多的數(shù)據(jù)結(jié)構(gòu)與算法,掌握更深入的測試和調(diào)試知識以及質(zhì)量管理和控制方法,對各種設(shè)計方法有更好的理解等。學習上面說的這些知識不是一揮而就的,不看個三五十本書并掌握它是做不到的。以數(shù)據(jù)結(jié)構(gòu)算法來說,至少要看個5~10本這方面的著作;以軟件設(shè)計來說,光懂結(jié)構(gòu)化設(shè)計、面向?qū)ο笤O(shè)計和一些設(shè)計模式是不夠的,還要了
8、解軟件架構(gòu)設(shè)計、交互設(shè)計、面向方面的設(shè)計、面向使用的設(shè)計、面向數(shù)據(jù)結(jié)構(gòu)算法的設(shè)計、情感化設(shè)計等,否則是很難進到這個樓層的。當然除了上面說的知識外,大蝦們還需要去學習各種經(jīng)驗和技巧。當然這點難不倒他們,現(xiàn)在出版的德納)一同參加一個會議。Linus說:“上帝說我創(chuàng)造了世界上最優(yōu)秀的操作系統(tǒng)。“RidStallman自然不甘示弱地說:“上帝說我創(chuàng)造了世界上最好用的編譯器?!癉onKnuth一臉疑惑的說:“等等,等等,我什么時候說過這些話?“由
9、此可以看出,LinusTvalds的技術(shù)水平并不像想像中那么高,只是“牛人“和“大蝦“覺得“大?!氨人麄兏0闪?。在我國,有一些當時還處于“大蝦“層的人物,也能寫出介紹如何寫操作系統(tǒng)的書,并且書寫得非常出色,而且寫出了一個有那么一點點象模象樣的操作系統(tǒng)來。我想中國的“大?!皞兪遣粫任鞣讲畹?,之所以沒有人寫出類似的商業(yè)產(chǎn)品來,完全是社會環(huán)境的原因,并不是技術(shù)能力達不到的原因?!按笈!皞冎猿蔀榇笈?,主要的原因是因為把“牛人“給蓋了下去
10、,并不是他們自己覺得如何牛。也許有很多菜鳥、大蝦甚至牛人覺得“大?!斑@層已經(jīng)到頂了,但大多數(shù)“大?!肮烙嫅?yīng)該是有自知之明的,他們知道自己現(xiàn)在還沒有爬到半山腰,也就勉強能算個半桶水的水平,其中有些爬到這層沒有累趴下,仍然能量充沛,并且又有志者,還是會繼續(xù)往更上一層樓爬的。看到這里,也許有些菜鳥、大蝦、牛人想不明白了,還有比“大牛“們更高的樓層,那會是什么樣的樓層?下面就來看看第5層樓的奧妙。第5層專家當大牛們真正動手做一個操作系統(tǒng)或者類似
11、的其他軟件時,他們就會發(fā)現(xiàn)自己的基本功仍然有很多的不足。以內(nèi)存管理為例,如果直接抄襲Linux或者其他開源操作系統(tǒng)的內(nèi)存管理算法,會被人看不起的,如果自動動手實現(xiàn)一個內(nèi)存管理算法,他會發(fā)現(xiàn)現(xiàn)在有關(guān)內(nèi)存管理方法的算法數(shù)量眾多,自己并沒有全部學過和實踐過,不知道到底該用那種內(nèi)存管理算法??吹竭@里,可能有些人已經(jīng)明白第5層樓的奧妙了,那就是需要做基礎(chǔ)研究,當然在計算機里,最重要的就是“計算“二字,程序員要做基礎(chǔ)研究,主要的內(nèi)容就是研究非數(shù)值“
12、計算“。非數(shù)值計算可是一個非常龐大的領(lǐng)域,不僅時下熱門的“多核計算“與“云計算“屬于非數(shù)值計算范疇,就是軟件需求、設(shè)計、測試、調(diào)試、評估、質(zhì)量控制、軟件工程等本質(zhì)上也屬于非數(shù)值計算的范疇,甚至芯片硬件設(shè)計也同樣牽涉到非數(shù)值計算。如果你還沒有真正領(lǐng)悟“計算“二字的含義,那么你就沒有機會進到這層樓來??赡苡腥巳匀粵]有明白為什么比爾蓋茨被劃在了大牛層,沒有進到這層來。雖然比爾蓋茨大學未畢業(yè),學歷不夠,但是家有藏書2萬余冊,進入軟件這個行業(yè)比絕
13、大部分人都早,撇開他的商業(yè)才能不談,即使只看他的技術(shù)水平,也可以算得上是學富五車,頂上幾個普通的計算機軟件博士之和是沒有問題的,比起LinusTvalds之類的“大?!皞儜?yīng)該技高一籌才對,怎么還進不了這層樓呢?非常遺憾的是,從Windows操作系統(tǒng)的實現(xiàn)來看,其對計算的理解是很膚淺的,如果把Google對計算方面的理解比做大學生,比爾蓋茨只能算做一個初中生,所以比爾蓋茨永遠只能做個大牛人,成不了“專家“??吹竭@里,也許國內(nèi)的大牛們要高興
14、起來了,原來比爾蓋茨也只和我等在同一個層次,只要再升一層就可以超越比爾蓋茨了。不過爬到這層可沒有從“牛人“升為“大?!澳敲春唵危思冶葼柹w茨都家有2萬多冊書,讓你看個500~1000本以上的專業(yè)書籍并掌握好它應(yīng)該要求不高吧。當然,這并不是主要的條件,更重要的是,需要到專業(yè)的學術(shù)站點去學習了,到ACM,IEEE,Elsevier,SpringerLink,SIAM等地方去下載論文應(yīng)該成為你的定期功課,使用Google搜索引擎中的學術(shù)搜索更
15、是應(yīng)該成為你的日常必修課。此外,你還得經(jīng)常關(guān)注是否有與你研究相關(guān)的開源項目冒出來,例如當聽到有TBB這樣針對多核的開源項目時,你應(yīng)該第一時間到Google里輸入“TBB“搜索一下,將其源代碼下載下來好好研究一番,這樣也許你的一只腳已經(jīng)快邁進了這層樓的門檻。當你象我上面說的那樣去做了以后,隨著時間的推移,總會有某天,你發(fā)現(xiàn),在很多小的領(lǐng)域里,你已經(jīng)學不到什么新東西了,所有最新出來的研究成果你幾乎都知道。此時你會發(fā)現(xiàn)你比在做“牛人“和“大牛
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論