程序员的发展和境界
評論:在IT社區(qū)看到這篇文章,覺得挺有意思,挺激勵人的,所以引用來大家交流,只要能不斷付出和努力,總是有收獲的,這樣對自身和企業(yè)的持續(xù)發(fā)展都是很有利的!
原文:程序員的四個境界
http://bbs.chinaunix.net/viewthread.php?tid=149659
國學大師王國維先生認為古今成大事業(yè)、大學問者,必經(jīng)過三種境界,第一種境界:“昨夜西風凋碧樹。獨上高樓,望盡天涯路”;第二種境界:“衣帶漸寬終不悔,為伊消得人憔悴”,第三種境界:“眾里尋他千百度,驀然回首,那人卻在燈火闌珊處”。一代宗師真是體察入微,寥寥數(shù)語,道盡了求道者的心路歷程,將一個人由淺嘗、迷茫到徹悟的過程盡數(shù)概括,可謂入木三分。
IT行業(yè)可謂現(xiàn)在的熱門行業(yè),程序員也是很多人羨慕的工作。薪水高,不用東跑西顛,敲敲鍵盤,看看屏幕,一切工作全都搞定,輕松而方便。(入行以前我也是這么想的)果真如此嗎?不盡然,實際上,程序員的職業(yè)生涯也是一個求道的過程,需要不斷的提高和學習,IT行業(yè)知識更新之快,常讓程序員們有隨時掉隊的危險,無一日不戰(zhàn)戰(zhàn)兢兢,不敢稍有懈怠。
程序員的職業(yè)生涯也可分為四個階段,初級程序員(菜鳥)(呵呵,我給自己的定位就是菜鳥)、高級程序員(熟練工)、系統(tǒng)程序員(高手)、軟件大師(大師),其作品也經(jīng)歷四種境界:
· 可以運行的程序
· 健壯、高效的程序
· 結(jié)構(gòu)優(yōu)美的程序
· 思想深邃的程序
程序員的必經(jīng)第一個階段都是編寫可以運行的程序。很多人的編程生涯是從“Hello World”開始,當?shù)谝淮伟凑战炭茣系牟襟E,將源文件編輯完后,編譯、連接、運行,在屏幕上顯示出“Hello World”時,心中的激動一點也不亞于阿里巴巴打開了寶庫的大門。初級程序員的目標一般是讓程序能運行起來,他們迷惑于庫函數(shù)的眾多,不知道該用那一個,他們還要學習基本的語法,以使程序編譯通過。初級程序員一般不會考慮設(shè)計模式、軟件結(jié)構(gòu)等問題。
第二階段的程序員已積累了不少的編程經(jīng)驗,語法和庫函數(shù)不再是障礙,他們已不再滿足于程序正確運行、功能實現(xiàn)無誤。他們需要了解程序背后發(fā)生的事情,需要了解操作系統(tǒng)的原理和調(diào)度機制,內(nèi)存管理,文件系統(tǒng)組織等;了解開發(fā)工具的細節(jié),如C的函數(shù)調(diào)用機制,參數(shù)的傳送機制、堆棧的建立過程等;了解C++的封裝、繼承和多態(tài)性背后的機制,虛函數(shù)實現(xiàn)機理等。他們不僅知道程序應該如何運行,還知道它為什么這樣運行,能編寫高效、魯棒的程序。
第三階段的程序員能構(gòu)建結(jié)構(gòu)優(yōu)美的軟件系統(tǒng),軟件系統(tǒng)結(jié)構(gòu)的合理性、可擴展性、可維護性、可測試性是系統(tǒng)程序員考慮的重點,結(jié)構(gòu)優(yōu)美的軟件系統(tǒng)同一棟完美的建筑群一樣,每個部分各司其職,搭配合理。本人一直認為,一個好的軟件系統(tǒng)應當具有美學特征,如簡潔、和諧、層次感等,一個好的軟件系統(tǒng)應當是簡潔的,易于理解的;應當是和諧的,每個部分高內(nèi)聚、低耦合,既分工又合作;應當是層次分明,易于維護和移植。所以,本人建議那些進行軟件系統(tǒng)設(shè)計的程序員,當你設(shè)計完一個系統(tǒng)后,需要問問自己:"它美嗎?",如果答案是否定的,那么我建議你需要重新考慮系統(tǒng)的設(shè)計,如果答案是肯定的,那么,恭喜你,你已經(jīng)達到一個相當高的水平。
最后一級也許是每個程序員夢想達到的頂峰,程序設(shè)計不再是簡單的工具,而是大師們改變世界的魔杖,從C到C++,再到COM和COBRA,再到XML和 WEB SERVICES,每次改變,不是軟件語法和開發(fā)工具的升級,而是用軟件構(gòu)建現(xiàn)實世界模型的改變,是一種軟件思想的革命,軟件具有了靈魂和智能。如果沒有理解這一點,認為C++只是更好的C,COM只是更好的C++話,你就沒有了解它們的精髓和思想性。
“程序員之路漫漫兮,吾將上下而求索”,希望與所有的程序員共勉。
轉(zhuǎn)載于:https://www.cnblogs.com/grandydong/archive/2007/08/12/852758.html
總結(jié)
- 上一篇: 定理2.5
- 下一篇: gbase数据库锁表解决办法