小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Think in Code,用代碼思考-袁紅崗編程思想

 達能牛牛 2006-09-14

"我自己知道,近幾年也一直在用,但就是說不出來,直到最近幾天才能夠表達"--叫作Think in Code,也就是用代碼思考,同時也把代碼當成自己思想表達的方式。正如哲學家用文字設計、詮釋思想,程序員‘說話‘用的是代碼,這就是一個程序員的境界,也只有代碼是無歧義的"。

--究竟要怎樣的努力才能做到像你一樣?

--就是時間,我覺得任何人寫十幾年的程序,估計都能和我差不多。做程序員,很多人會覺得是吃青春飯的,但我要說,如果大家能靜下心來做到三十幾歲,一定會發(fā)覺這是十分愜意的一件事情。

袁紅崗話不多,和其他同事站在一起,穿著簡直可以用隨便來形容。不經(jīng)介紹,你一定不會想到面前這個"老袁"就是中國Java及J2EE核心技術領域公認的技術權威,金蝶中間件的首席科學家。

"那些都只是虛名而已",老袁平靜地說。

36歲的老袁其實并不老,但十幾年的程序員生涯卻足夠資深。他的"作品"包括:行業(yè)內最早基于Windows平臺的財務軟件;國內最早的基于三層結構技術的應用軟件系統(tǒng);國內首家擁有完全自主知識產(chǎn)權并通過國際J2EE認證的應用服務器……

"編而優(yōu)則不仕",老袁的想法仍是程序員本色:"回過頭來看,所做產(chǎn)品賣了很多,說明中國有那么多人在用我們寫的程序,這才是最有成就感的。如果我做管理工作,那就默默無聞了,就算做到比較高的管理位置又能怎樣?"

"那究竟要怎樣的努力才能做到像你一樣?""就是時間,我覺得任何人寫十幾年的程序,估計都能和我差不多。做程序員,很多人會覺得是吃青春飯的,但我要說,如果大家能靜下心來做到三十幾歲,一定會發(fā)覺這是十分愜意的一件事情"。

沒有捷徑,但有方法

做一個程序員,老袁不愛談技術,而以講究方法著稱。幾年前,老袁曾在網(wǎng)上發(fā)了個貼子,談《做程序員的基本原則》,結果短時間內的訪問量居然達到了數(shù)十萬次之多,成為名副其實的精華貼。方法對于程序員的重要性,用那里頭的一句話來說,就是"世界上并沒有成為高手的捷徑,但一些基本原則是可以遵循的"。

最近見到老袁,他最得意的卻是自己才總結出來的"編程思想"---"我自己知道,近幾年也一直在用,但就是說不出來,直到最近幾天才能夠表達"---叫作Think in Code。

所謂的Think in Code,也就是用代碼思考,同時也把代碼當成自己思想表達的方式。在老袁看來,正如哲學家用文字設計、詮釋思想,程序員"說話"用的是代碼,這就是一個程序員的境界。"也只有代碼是無歧義的"。

如今的老袁寫起程序,一來"在設計的時候,不需要任何其他的開發(fā)工具,只需要代碼,對象設計、功能設計都可以直接定義,用代碼方式表達出來",二來"寫到后來不再需要另外的文檔了,寫的東西已經(jīng)表達了我的思想"。設計或是編碼,可以自頂向下,自底向上,或者兩者融合,都可以自由選擇。很有點隨心所欲的境界。

如果選擇了自頂向下的設計路徑,老袁就會把最高層的這些接口設計好,下面的細節(jié)就暫時放著,留待日后細化,反之亦然。等程序的代碼結構有了,再將這尚不可交付的代碼結構做一個測試、重構,找出里面的缺陷,優(yōu)化里頭的細節(jié),使代碼更加合理簡潔,變成一個可交付的版本。每天大家都下班后,老袁啟動一個自動編譯和測試的程序,第二天一來,就知道自己前一天的工作里面有沒有什么錯誤。

同樣,老袁也對一些標準化的軟件開發(fā)模型很不感冒,比如CMM認證之類。在老袁看來,過于規(guī)劃化的流程把軟件開發(fā)變成了一種很不自然的事情。老袁更喜歡一種循環(huán)開發(fā)的模式,寫程序的時候,軟件的設計、編碼、測試都融合在一起進行,而不是像傳統(tǒng)的軟件工程方法那樣分階段,一定要概要設計→詳細設計→編碼→測試,完全完成前一階段才能進行下一個階段。"設計、編碼、測試,不是階段,而是過程,設計的時候也可以編碼,編碼完了就可以測試,為什么一定要所有編碼完了才能測試或是所有設計完成才可以編碼呢?"

找到合適自己的方法

同事說,"老袁在創(chuàng)新上一直是我們追趕的對象,程序員是很講究創(chuàng)新的,很多程序員一開始是跟著人家走,學一些工具并滿足于此,但是老袁能自創(chuàng)一派。"

老袁說,"其實我以前也學過很多的方法,比如UMT,CMM學了很久,但是始終用不起來,感覺這些方法還是不適合我,所以每個人都應該找到自己適合的方法。"

那怎么來找自己的方法?"不要輕易相信別人的方法。經(jīng)常說如何好,我就懷疑,是不是真的用了這套東西之后開發(fā)能力就提高了呢?"

說起來輕松,但真正的尋找過程注定充滿了艱辛。找到了,成為"開宗立派"的大師,找不到,則只能在模仿小空間里繞圈子。

老袁在學校里就開始編程了,"那已經(jīng)是真正的項目"。這也讓老袁早早地在同齡人中間開始拔尖。從那之后到1994年,在老袁看來是自己學習、摸索,模仿的階段,看了很多書,讀了很多程序,自己也寫,"但現(xiàn)在看起來確實是非常粗淺的"。

1994年,優(yōu)秀程序員老袁進入金蝶公司,推出了不少大名鼎鼎的"作品",比如金蝶財務軟件等。"在外人看來,這是一個非常輝煌的時代"。但是老袁卻開始越來越郁悶---不是因為別的原因,"東西在別人看來寫得非常好,但是自己卻總是覺得再也無法提高了"。

曾經(jīng)有一年多的時間,老袁說自己一點東西也寫不出來,就是感覺跨不過去了。"當時也動過這樣的念頭:算了,不寫程序了,不寫程序就搞搞管理,日子也會很好過。"

那段時間,老袁率領當時的金蝶中央研究院開始了J2EE架構的核心---J2EE應用服務器的研究和開發(fā),成功開發(fā)出了國內首家擁有完全自主知識產(chǎn)權、通過國際J2EE認證的應用服務器,并成為國際JCP組織中國代表。2000年,金蝶中間件公司成立,發(fā)布了金蝶Apusic應用服務器1.0版本,2001年,老袁又把所有的架構體系推倒重來了一遍,這就是2001發(fā)布的2.0版。

這個2.0版的重構成了老袁程序員生涯的一個重要轉折,可謂從優(yōu)秀到卓越。"這個時候就開始意識到做軟件是要有思想的,要有思想來指導你。之前之所以遇到很大障礙,就是沒有一套思想、方法論。憑借著對技術的掌握自己還是寫了一些軟件,但是技術掌握得再多,沒有好的方法,你仍然沒法寫出好的程序。"

就象是捅破了一層窗戶紙。從那時候起,老袁的編程工作就有了游刃有余的感覺。去年老袁在美國遇到一位敏捷編程方法的倡導者,被外界稱為“軟件開發(fā)教父”的Martin .Fowler,幾句一聊,讓老袁立刻有了知己之感。"這才發(fā)現(xiàn)世界上還有這么多程序員有和我一樣的想法"。

這讓老袁有了進一步總結自己的編程理念的想法。"我的編程思想和敏捷編程很像,但又不完全是敏捷編程"。老袁希望自己在40歲之前,把Thinking in code說得更清楚些,更具可操作性,比如:如何用代碼而不是用建模工具來設計,如何在設計的時候讓代碼來表現(xiàn)流程。如今老袁平時也帶學生,但是只教方法,不教技術,"有很多技術,他們比我還懂得多"。

名詞解釋

敏捷編程

一種以人為核心、迭代、循序漸進的開發(fā)方法。在敏捷開發(fā)中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經(jīng)過測試,具備集成和可運行的特征。簡言之,就是把一個大項目分為多個相互聯(lián)系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。

相關鏈接:“影響中國軟件開發(fā)的20人”-袁紅崗(http://news./334/1760834_3.shtml
“人物:袁紅崗,所屬公司:金蝶中間件公司
入選理由:最早開發(fā)Windows上的企業(yè)應用軟件,打造獨立知識產(chǎn)權的EJB服務器
很多JAVA程序員對袁紅崗極其佩服,源于他做了很多人不敢想更不敢做的事情,這就是他打造了國產(chǎn)的EJB服務器,很快,金蝶將在國內推出自主產(chǎn)權EJB服務器的3.0版本。
同時,袁紅崗還是在Windows平臺上開發(fā)企業(yè)應用軟件的最早的一批程序員,當時寫出的適合小型企業(yè)使用的財務購銷存一體化軟件KINGDEE 2.7,令IT行業(yè)對金蝶刮目相看,使金蝶一舉成名,正是這些人才奠定了中國的管理軟件的基礎。
袁紅崗將自己多年的經(jīng)驗以一種樸實的風格寫出來,這些帖子在網(wǎng)上也影響深遠。”

更多相關資訊請瀏覽袁紅崗視點專區(qū):http://www./market/javaclub/yuan/

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多