最近,和ucweb同事討論,怎么才能把我們的ucweb做到極致。我說(shuō),“手機(jī)上的平臺(tái)非常多,如果想做好,需要足夠多、足夠優(yōu)秀的程序員。優(yōu)秀的程序員如何定義呢?首先必須熱愛(ài)寫程序,其次必須是一個(gè)完美主義者。只有這樣的人,才能把事情做得極致!
說(shuō)著說(shuō)著,我懷念起我過(guò)去寫程序的日子,從1987年到1996年,那是一段陽(yáng)光燦爛的日子。幾年前我無(wú)意中從網(wǎng)上找到了1996年在金山西點(diǎn)bbs上寫幾篇帖子,現(xiàn)在讀來(lái)感慨萬(wàn)千。謝謝當(dāng)年的網(wǎng)管tony low,他收藏了我的文章,使當(dāng)年的文章能保留至今。
重貼此文,紀(jì)念我已經(jīng)遠(yuǎn)去的長(zhǎng)達(dá)十年的程序員生涯!
我的程序人生路
1996年5月寫于金山西點(diǎn)bbs
【題記】 如果程序人生的話,這條路太漫長(zhǎng)
我并非天生喜歡寫程序,上高中時(shí)也沒(méi)有想過(guò)程序員的生活。我學(xué)電腦非常偶然,小時(shí)好友上大學(xué)時(shí)選擇了計(jì)算機(jī)系,為了和這個(gè)朋友有更多的共同語(yǔ)言,我也選擇了計(jì)算機(jī)系,開(kāi)始步入程序人生的道路。
當(dāng)我學(xué)會(huì)一些后,發(fā)現(xiàn)自己特別喜歡寫程序。我是八七年上的武漢大學(xué)計(jì)算機(jī)系,大一下學(xué)期才有專業(yè)課。當(dāng)我有資格上機(jī)的時(shí)候,發(fā)現(xiàn)電腦世界太美妙,就一頭扎進(jìn)去。當(dāng)時(shí)用的是 motorola 68000 (相當(dāng) 于 intel 8088), 540k 的內(nèi)存,運(yùn)行的 unix 操作系統(tǒng),八個(gè)人一起用。大二學(xué)pc,又過(guò)了一學(xué)期,開(kāi)始出現(xiàn)在老師的實(shí)驗(yàn)室,幫忙干活,當(dāng)時(shí)就寫了現(xiàn)在很多人用的 ri (raminit, 清內(nèi)存的小工具, 看來(lái)我還是最早一批寫 shareware 的人)。又過(guò)了一個(gè)學(xué)期,開(kāi)始和校外的公司接觸。大二暑假,也就是1989年8月,和一個(gè)朋友組建了 yellow rose 軟件小組,寫了我第一個(gè)商品軟件 bitlok 0.99。后來(lái)自己創(chuàng)業(yè)辦過(guò)公司,也寫過(guò)一些其他的軟件。
大學(xué)畢業(yè)后,分到研究所,不太適應(yīng)那里的氣氛,就在1992年初加入金山軟件,開(kāi)始了職業(yè)程序員的生涯。后來(lái)成了金山軟件研發(fā)部門的主管,但我一直都是一線的程序員。
編程的感受
程序員活在自己想象的王國(guó)里
我剛接觸電腦就發(fā)現(xiàn)電腦的妙處,電腦遠(yuǎn)沒(méi)有人那么復(fù)雜。如果你的程序?qū)懙煤,你就可以和電腦處好關(guān)系,就可以指揮電腦干你想干的事。這個(gè)時(shí)候你是十足的主宰。每每你坐在電腦面前,你就是在你的王國(guó)里巡行,這樣的日子簡(jiǎn)直就是天堂般的日子。電腦里的世界很大,編程人是活在自己想象的王國(guó)里。你可以想象到電腦里細(xì)微到每一個(gè)字節(jié)、每一個(gè)比特的東西。
我愛(ài)編程這個(gè)工作,可以肯定我會(huì)干上一輩子
不少人認(rèn)為程序員最多干到三十五歲就可以收山換環(huán)境了,腦子也差不多該歇歇了,體力也不支了。并認(rèn)為寫程序是年輕人的事情,到了一定歲數(shù),估計(jì)沒(méi)什么人再當(dāng)程序員了。
當(dāng)我剛有一點(diǎn)本事的時(shí)候,我也和大家一樣覺(jué)得編程辛苦,也想三十歲后干別的。當(dāng)我年長(zhǎng)一點(diǎn)后就發(fā)現(xiàn)了自己的無(wú)知。一個(gè)人大學(xué)畢業(yè)就二十一二歲,有點(diǎn)水平的時(shí)候可能二十五,接著就是過(guò)日子諸多事情。一切搞掂的時(shí)候,也許就是三十五歲。如果這樣的話,我們就不用選擇程序人生的道路。電腦進(jìn)入中國(guó)時(shí)間并不短,但真正大規(guī)模開(kāi)始用,還是八五年 pc 開(kāi)始的,因此國(guó)內(nèi)真正寫電腦程序的人最長(zhǎng)也就寫了十幾年(不知道是否還有這樣的人)。由于電腦應(yīng)用在國(guó)內(nèi)時(shí)間比較短,國(guó)內(nèi)開(kāi)發(fā)的主力是三十五歲以下的年輕人為主。但這不表示程序員如同紅粉佳人般的容易衰老。美國(guó)主力工程師以三十四十多歲的人為主。
開(kāi)始的時(shí)候,我們覺(jué)得我們沒(méi)有什么不能做的(現(xiàn)在還能聽(tīng)到這樣的豪言壯語(yǔ)),而且更要命的是好象我們特別聰明,特別適合開(kāi)發(fā)軟件,比老外強(qiáng)得多。當(dāng)我們真正接觸那些杰出的開(kāi)發(fā)人員的時(shí)候,發(fā)現(xiàn)他們太厲害了,都有十多年的開(kāi)發(fā)經(jīng)驗(yàn)。雖然也有很多年輕人做了很多好東西,但絕大多數(shù)的產(chǎn)品出自這些有豐富開(kāi)發(fā)經(jīng)驗(yàn)的程序員的手。剛畢業(yè)的時(shí)候,編程不僅僅是愛(ài)好,而且也成了一輩子的工作。整天不知道寫些什么東西,覺(jué)得特別沒(méi)勁,找不到感覺(jué),特別灰心。后來(lái),才明白,只有全身心地投入,程序才會(huì)有感覺(jué)。
寫程序的活特別費(fèi)腦子,也特別累,但我喜歡,可以肯定我會(huì)干上一輩子,雖然我沒(méi)有打算一生只干這一件事。用一生來(lái)編程序是一件既容易又困難的事。如果碌碌無(wú)為,為交差寫點(diǎn)程序,這樣的日子太好混了。但如果想全身心地寫程序,寫十年就不是一件容易的事,F(xiàn)在我不少朋友都洗手了,有時(shí)我也想“用什么電腦呀,windows 外的世界不是也很大嗎?”。面對(duì)電腦的時(shí)候,立刻頓悟:寫程序還是自己最擅長(zhǎng)的事,也是最喜歡的事。
高級(jí)程序員不是追求的目標(biāo)
有的人學(xué)習(xí)編程技術(shù),是把高級(jí)程序員做為追求的目標(biāo),甚至是終身的奮斗目標(biāo)。后來(lái)參與了真正的商品化軟件開(kāi)發(fā)后,反而困惑了,茫然了。
一個(gè)人只要有韌性和靈性,有機(jī)會(huì)接觸并學(xué)習(xí)電腦的編程技術(shù),就會(huì)成為一個(gè)不錯(cuò)的程序員。剛開(kāi)始寫程序,這時(shí)候?qū)W得多的人寫的好,到了后來(lái),大家都上了一個(gè)層次,誰(shuí)寫的好只取決于這個(gè)人是否細(xì)心、有韌性、有靈性。掌握多一點(diǎn)或少一點(diǎn),很快就能補(bǔ)上。成為一個(gè)高級(jí)程序員并不是件困難的事。
當(dāng)我上學(xué)的時(shí)候,高級(jí)程序員也曾是我的目標(biāo),我希望我的技術(shù)能得到別人的承認(rèn)。后來(lái)發(fā)現(xiàn)無(wú)論多么高級(jí)的程序員都沒(méi)用,關(guān)鍵是你是否能夠出想法出產(chǎn)品,你的勞動(dòng)是否能被社會(huì)承認(rèn),能為社會(huì)創(chuàng)造財(cái)富。成為高級(jí)程序員絕對(duì)不是追求的目標(biāo)。
編程不僅僅是技術(shù),還是藝術(shù)
有人認(rèn)為編程是一種熟練工種,也有人把編程說(shuō)成是藝術(shù)創(chuàng)作。這兩種意見(jiàn)爭(zhēng)論比較激烈。
我們換個(gè)工種來(lái)看,石匠應(yīng)該是熟練工種,屬于工人,更和藝術(shù)似乎沾不上邊。但正是這些石匠,給我們留下多少文物古跡,如樂(lè)山大佛、莫高窟等等。應(yīng)該說(shuō)這些石匠給我們留下了無(wú)窮的文化財(cái)產(chǎn),F(xiàn)代軟件工業(yè)已具相當(dāng)規(guī)模,很多軟件的完成需要的是大兵團(tuán)作戰(zhàn)。一名普通程序員接受編寫某一模塊的任務(wù)后,往往只是寫代碼,發(fā)揮的余地很小。在大項(xiàng)目中,很多程序員只能了解到和自己所編模塊相關(guān)的很局部的細(xì)節(jié),另外還受到開(kāi)發(fā)環(huán)境的限制,真的很難體會(huì)到自己在從事藝術(shù)創(chuàng)造,更多的時(shí)候是感到自己在從事重體力勞動(dòng)。有的時(shí)候還擔(dān)心自己苦苦參與的這個(gè)項(xiàng)目究竟有沒(méi)有意義,是不是在同類產(chǎn)品中有競(jìng)爭(zhēng)力,會(huì)不會(huì)開(kāi)發(fā)出來(lái)以后就因?yàn)橛布陌l(fā)展,操作系統(tǒng)的換代而過(guò)時(shí)……
我認(rèn)為編程的工作和石匠比較相似,有技術(shù)活,更多的是體力活。不管怎么說(shuō),寫出一個(gè)好軟件不是一件容易的事。
這兩種想法都有片面性,編程應(yīng)該說(shuō)兩種屬性都有。編程不僅僅是技術(shù),也還是藝術(shù)。編程是技術(shù)活,才有可能大規(guī)模進(jìn)行,才會(huì)有軟件工程和軟件工廠。也正是編程是藝術(shù),才會(huì)有如此多的好產(chǎn)品,讓大家如癡如醉。
更多>>熱門排行
更多>>長(zhǎng)沙常用電話
長(zhǎng)沙社區(qū)排行
·請(qǐng)注意語(yǔ)言文明,尊重網(wǎng)絡(luò)道德,并承擔(dān)一切因您的行為而直接或間接引起的法律責(zé)任。
·長(zhǎng)沙社區(qū)通管理員有權(quán)保留或刪除其管轄留言中的任意非法內(nèi)容。