距離元旦也就十幾天了,2010就要過(guò)去了。從第一行Hello World到現(xiàn)在,已經(jīng)有10年了,所幸從未中斷,因此從某種意義上來(lái)講,我已經(jīng)寫了10年的程序了。每個(gè)人回顧以往走過(guò)的路的時(shí)候,往往會(huì)發(fā)現(xiàn)今天的結(jié)果來(lái)源于之前的一些“關(guān)鍵步驟”。顯然我也是一樣的,所以這次的總結(jié)跟以往不同,就不列出之前做過(guò)的種種程序,而是聊一聊這些關(guān)鍵步驟和影響我的人給我?guī)?lái)的影響。當(dāng)然算得上關(guān)鍵步驟的,只能是那些能夠左右人生軌跡的事情。
老爸、外婆和爺爺
這倒不是說(shuō)老爸老媽把我生下來(lái)了怎么樣怎么樣。老爸在我幼小的時(shí)候教我一些簡(jiǎn)單的數(shù)學(xué),給了我很多書,還有外婆教我識(shí)字,結(jié)果就是我從大概二年級(jí)開(kāi)始就能夠閱讀老爸留給我的一些科普讀物了。這些科普讀物是他小的時(shí)候看的,上面還有語(yǔ)錄,每一篇的幾位都是偉大的思想指引我們前進(jìn)云云。當(dāng)然這并不妨礙書本的內(nèi)容的質(zhì)量。老爸的書也都一直保存得很好,后來(lái)我爺爺也給我弄了一套科普的啟蒙讀物,現(xiàn)在還保留著,只不過(guò)很多翻爛了。這套書是翻譯的,小日本寫的,不過(guò)內(nèi)容卻十分豐富。里面包含了數(shù)學(xué)、物理、生物、手工和一些其他的很多東西,甚至連汽車和飛機(jī)的結(jié)構(gòu)都有。加上外婆也十分贊成并且指引我看這些書,其結(jié)果就是從小就對(duì)一些科學(xué)的事情感興趣——當(dāng)然也包括數(shù)學(xué)。從三年級(jí)開(kāi)始到中學(xué),老爸就給我買一些數(shù)學(xué)奧林匹克的書。當(dāng)然這并不是讓我去參加競(jìng)賽用的,只是他覺(jué)得既然他小時(shí)候也喜歡搞數(shù)學(xué)那我也應(yīng)該繼承這個(gè)優(yōu)點(diǎn),從而就讓我去弄那些東西了。在五年級(jí)的時(shí)候,那次全市的數(shù)學(xué)競(jìng)賽老爸也幫了我很多,我也拿了很好的成績(jī)。維持了那么多年從不間斷的強(qiáng)大的自信心和信念就是從這個(gè)時(shí)候開(kāi)始的。人喜歡搞一些事情很大程度上都是因?yàn)槟切┦虑樵?jīng)被搞得很好,因此我也就喜歡上數(shù)學(xué)了,后來(lái)有機(jī)會(huì)體驗(yàn)到了數(shù)學(xué)的定理和公式的美妙之處,讓我一發(fā)不可收拾。
汕頭市華僑中學(xué)的領(lǐng)導(dǎo)們
這是個(gè)好學(xué)校。我整個(gè)讀書的生涯,唯一一次體驗(yàn)到什么是素質(zhì)教育就是在這里。可是后來(lái)由于各種微妙的問(wèn)題導(dǎo)致這所學(xué)校的競(jìng)爭(zhēng)力下降,這從某種程度上來(lái)說(shuō)算是悲哀吧。我第一次接觸到編程就是在這里。初中二年級(jí)的時(shí)候,學(xué)校開(kāi)Basic的課,但是并沒(méi)有試圖讓我們參加競(jìng)賽——其實(shí)連提都沒(méi)提,只是就這么當(dāng)成正常的課來(lái)上。把編程學(xué)得好,滿足下面兩個(gè)條件的話基本上可以說(shuō)就是在走捷徑,第一個(gè)是會(huì)從心底里對(duì)公式和定理產(chǎn)生美的感覺(jué),第二個(gè)就是要持續(xù)不斷地在編程上體會(huì)到成就感。這也是我為什么在一篇寫給師弟師妹的文章里面提到剛開(kāi)始的時(shí)候?qū)W習(xí)制作軟件界面也是十分重要的,因?yàn)檫@會(huì)讓你產(chǎn)生源源不斷的動(dòng)力,好讓你給以后學(xué)習(xí)算法打下精神基礎(chǔ)。QBasic教完自然就教Visual Basic了,當(dāng)然都是很淺的內(nèi)容。不過(guò)我由于受到吸引,從那以后就一直往書店里面跑,去掃蕩各種跟Visual Basic有關(guān)的書,后來(lái)學(xué)到了不少。我初二在新華書店很偶然的發(fā)現(xiàn)了那本《Visual Basic高級(jí)圖形程序設(shè)計(jì)教程》,不過(guò)坦白說(shuō)我其實(shí)是被插圖吸引的。那個(gè)時(shí)候發(fā)現(xiàn)Visual Basic竟然可以僅憑代碼繪制出那么漂亮的圖形,從而興趣提高了不少。不過(guò)學(xué)習(xí)這個(gè)也是很辛苦的,這導(dǎo)致我不得不在初三的時(shí)候就去尋找并學(xué)習(xí)立體解析幾何,高中的時(shí)候提前學(xué)習(xí)數(shù)學(xué)分析,都是為了看懂這本書啊。這本書我從初二一直看到上了大學(xué),還帶去宿舍看,看了好多年才把它每一頁(yè)都琢磨透。這從某種程度上來(lái)說(shuō)也算是緣分吧。
英語(yǔ)補(bǔ)習(xí)老師李培濤
初中的英語(yǔ)被我一不小心搞的一塌糊涂,甚至到了快不及格的地步了,所幸當(dāng)時(shí)我媽(特別感謝)非得讓我找一個(gè)英語(yǔ)的補(bǔ)習(xí)老師,所以就遇到了李老師了。雖然說(shuō)補(bǔ)習(xí)課是要交錢的,不過(guò)李老師人倒是很好,不是為了收錢而收錢,還是花了很大精力實(shí)踐了因材施教的。我的英語(yǔ)就被他給搞好了。我們知道英語(yǔ)對(duì)于編程來(lái)說(shuō)是不可或缺的一個(gè)重要條件,因?yàn)橹形牡馁Y料從數(shù)量或者質(zhì)量上來(lái)說(shuō),都遠(yuǎn)遠(yuǎn)比不上英文的資料。如果英語(yǔ)不好,這除了阻止知識(shí)到達(dá)你的大腦里面以外,沒(méi)有好處。
汕頭市第一中學(xué)的張朝陽(yáng)老師
高一的時(shí)候是張老師給我們上的計(jì)算機(jī)課,這個(gè)時(shí)候他告訴我們有NOI這種東西,不過(guò)我著實(shí)對(duì)算法沒(méi)什么興趣,因?yàn)槟莻€(gè)時(shí)候我對(duì)圖形更感興趣,而且絕大多數(shù)圖形的算法都不是搜索算法,而是跟數(shù)學(xué)知識(shí)有著更直接的聯(lián)系。因此我就沒(méi)有花多少時(shí)間在算法上面了。不過(guò)其實(shí)什么時(shí)候?qū)W習(xí)算法并不重要,只要你在工作之前學(xué)了就好了。原本那個(gè)時(shí)候也想靠NOI看看能不能混個(gè)保送什么的,由于我其實(shí)也不太認(rèn)真做這個(gè),因此只好親自高考了。但是在這里我并不是說(shuō)張老師教給了我什么知識(shí),其實(shí)那段時(shí)間我都是靠自學(xué)。只不過(guò)因?yàn)槲以诜荖OI的編程競(jìng)賽里面的成績(jī)很好,所以他給我大開(kāi)方便之門,讓我可以利用學(xué)校的各種資源。我們都知道萬(wàn)惡的學(xué)校經(jīng)常會(huì)不知不覺(jué)做出一些扼制青少年素質(zhì)全面發(fā)展的事情,因此張老師給我的方便是十分重要的,包括我可以擁有機(jī)房的鑰匙以便我在任何時(shí)候可以進(jìn)去使用計(jì)算機(jī)寫程序。課還是要上的,但是由于我每一年都參加NOI,所以自習(xí)課我就可以跑去機(jī)房了,寫代碼的時(shí)間也就大大增加了,這著實(shí)是十分有好處。
CSTC的同僚們
CSTC我現(xiàn)在也搞不清楚究竟他們的使命是干啥,不過(guò)印象里面就是北京工業(yè)大學(xué)的幾個(gè)寫代碼比較厲害的人搞起來(lái)的。我有幸在上高中的時(shí)候接觸到了他們,其中曾毅和唐良兩個(gè)人對(duì)我的幫助很大。曾毅告訴我為了將來(lái)的前途也好,為了自己編程能力的發(fā)展也好,搞一個(gè)好學(xué)校總是必須的。唐良是在我上了大學(xué)之后告訴我這個(gè)世界上還有《算法導(dǎo)論》這本書,讓我的數(shù)據(jù)結(jié)構(gòu)和算法知識(shí)有了十分穩(wěn)固的基礎(chǔ)。當(dāng)然其實(shí)不會(huì)數(shù)據(jù)結(jié)構(gòu)和算法并不是說(shuō)你就寫不了什么復(fù)雜的程序,而只是導(dǎo)致你寫出來(lái)的復(fù)雜的程序質(zhì)量很差性能比較低而已。在高中的時(shí)候我已經(jīng)做出了一個(gè)pascal的無(wú)指針版本的解釋程序了,不過(guò)在這個(gè)時(shí)候我說(shuō)實(shí)話除了鏈表以外,什么都不知道,編譯原理也不知道,所有的東西都是硬湊出來(lái)的。當(dāng)然程序還是能運(yùn)行的,就是寫好之后就無(wú)法再修改了,實(shí)在改不下去。
華南理工大學(xué)的陳健老師
高三的時(shí)候?qū)懗鰜?lái)的pascal解釋器實(shí)在是讓我十分興奮,所以在剛?cè)雽W(xué)不久聽(tīng)說(shuō)我們的班主任陳建老師教編譯原理的,我就跟她說(shuō)我對(duì)這方面有興趣了,而且當(dāng)時(shí)還為我的下一個(gè)解釋器寫了一個(gè)很長(zhǎng)的設(shè)計(jì)文檔。這份文檔一開(kāi)始只是寫給我自己的,后來(lái)順便就給她看了。陳老師倒是沒(méi)說(shuō)什么,過(guò)了許久,給了我一本《編譯原理》。當(dāng)然這不是龍書,說(shuō)實(shí)話那本課本也非常糟糕,只是這讓我知道這個(gè)世界上還有這種東西,也就足夠了。大一的時(shí)候迅速看完了這本書,覺(jué)得很不爽,就把龍書搞到手,然后看了一部分。大一結(jié)束的時(shí)候就做出一個(gè)面向?qū)ο髱0搴屠占撵o態(tài)類型腳本語(yǔ)言了,陳老師實(shí)在是功不可沒(méi)。作為老師,能教你什么是不重要的,告訴你你還有什么不會(huì)才是最重要而且最有用的。
華南理工大學(xué)的陳天老師
這位老師給我們上了大一的C++課,不僅功底扎實(shí),而且可以課也講得很好,無(wú)奈在我大三的時(shí)候說(shuō)是實(shí)在不行了,跑去做程序員了。我就不對(duì)這件事情作評(píng)論了。陳天老師不僅告訴了我《設(shè)計(jì)模式》是十分重要的,而且也經(jīng)常鼓勵(lì)我進(jìn)行更加深入的學(xué)習(xí),對(duì)我?guī)椭艽蟆?/p>
g9yuayon
這是個(gè)人才啊,而且編程水平也十分地令人嘆為觀止。不過(guò)他對(duì)我?guī)椭畲蟮哪^(guò)于告訴我這個(gè)世界上還存在著《Parsing Techniques》了。這是世界上最好的描述語(yǔ)法分析的書,連龍書的前幾個(gè)章節(jié)都不如這本書講得好。當(dāng)然龍書還是包含了后端的,而《Parsing Techniques》是只有前端的。不僅如此,他還給了我不少論文看。其實(shí)如果看得下去的話,論文帶來(lái)的幫助遠(yuǎn)比算法要大得多。因?yàn)閿?shù)據(jù)結(jié)構(gòu)和算法真正普遍實(shí)用的也就那么幾種,其實(shí)知識(shí)量是十分少的,還比不上數(shù)學(xué)分析。既然數(shù)學(xué)分析一年就可以上完,那實(shí)用數(shù)據(jù)結(jié)構(gòu)和算法其實(shí)是不需要花那么久的。不過(guò)那些更加深刻的數(shù)據(jù)結(jié)構(gòu)和算法當(dāng)然不在此列了——還是很多的。但是論文,是方向性十分強(qiáng),而且解決的問(wèn)題其實(shí)范圍更狹窄的東西。只不過(guò)如果認(rèn)真研讀論文的話,可以學(xué)到很多知識(shí)以外的東西,譬如說(shuō)作者是如何整理他們的結(jié)果的。遇到好心的作者的話你連他們?cè)趺窗l(fā)現(xiàn)這個(gè)事情都可以知道。由于從小就喜歡數(shù)學(xué),所以看論文的時(shí)候看得十分入迷,也就看得更加認(rèn)真仔細(xì)了。g9yuayon介紹給我的論文的確都是十分漂亮的,在我掌握了知識(shí)的同時(shí),又讓我的基礎(chǔ)變得更扎實(shí),并且對(duì)編程也更加喜愛(ài)了。
龔敏敏一伙
這倒是一個(gè)共同作用的結(jié)果,也是我第一個(gè)聯(lián)系比較緊密的圈子。群里面的人都分布在各大公司,而且水平都不錯(cuò),并且都是在研究圖形學(xué)的。至于說(shuō)為什么會(huì)跟他們接觸,當(dāng)然是因?yàn)楦咧械臅r(shí)候?qū)D形學(xué)特別熱衷的關(guān)系了。雖然后來(lái)轉(zhuǎn)去做編譯器了,不過(guò)學(xué)習(xí)圖形學(xué)并不是一個(gè)浪費(fèi),因?yàn)檫@個(gè)漫長(zhǎng)的過(guò)程讓我的數(shù)學(xué)知識(shí)變的扎實(shí),而且也產(chǎn)生了很多題目讓我練習(xí)編寫一些至少有點(diǎn)小規(guī)模的程序。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),這話是不錯(cuò)的。
我還要提一下LYT同學(xué)。LYT并沒(méi)有在編程上幫助我,其實(shí)是我在教LYT寫代碼,只是LYT肯讓我教那么久著實(shí)也不容易。為了教LYT學(xué)會(huì)寫簡(jiǎn)單的編譯器,讓我不得不將我學(xué)過(guò)的知識(shí)從頭到尾整理了一遍,而且還讓我思考如何使得一個(gè)人在學(xué)會(huì)編程的同時(shí)可以保持樂(lè)趣、自信心和良好的習(xí)慣。這個(gè)過(guò)程十分有意義,不僅讓我有一個(gè)機(jī)會(huì)可以從頭整理我學(xué)會(huì)的知識(shí),思考一些更加深刻的東西,讓自己對(duì)知識(shí)的掌握更加深刻和牢固,而且其實(shí)對(duì)被教也是有幫助的。利己利人,何樂(lè)不為。LYT經(jīng)過(guò)了我三年的精心指導(dǎo),從對(duì)編程什么都不知道開(kāi)始,最終順利拿到了網(wǎng)易的offer,而且工資也沒(méi)比我低多少,實(shí)在是讓我感到十分高興。
在我2009年7月份畢業(yè)之后就去了Microsoft而且尚未跳槽。從畢業(yè)后開(kāi)始到現(xiàn)在這段時(shí)間現(xiàn)任女朋友2A同學(xué)給了我很大的支持,并沒(méi)有覺(jué)得整天宅在電腦前寫代碼看動(dòng)畫片很沒(méi)前途,而且還幫忙尋找各種書帶我去書店鼓勵(lì)我等等,對(duì)此十分感謝。
當(dāng)然這并不是說(shuō)其他人就對(duì)我沒(méi)有幫助,而只是沒(méi)有滿足文章一開(kāi)始提出來(lái)的“左右人生軌跡”的條件而已。因?yàn)閷?duì)我有幫助的人其實(shí)非常多,志同道合的朋友也不少,在這里我就不一一列舉了。
祝各位讀者們也能夠?qū)幊谈信d趣而且在這個(gè)道路上不斷堅(jiān)持越走越遠(yuǎn)。
<><><><><><><><><><>
后記。突然想起來(lái)我忘記寫上,其實(shí)小日本的動(dòng)畫片都是一些非常具有教育意義的東西,這讓我學(xué)會(huì)了很多黑暗的社會(huì)沒(méi)有任何機(jī)會(huì)讓我知道的人生的道理。大家一定要看啊。
<><><><><><><><><><>
后記2。今天空明流產(chǎn)說(shuō)他是搞圖形那一群人里面為數(shù)不多的還做做shader前端的,所以我再提一下,啊哈哈哈。
posted on 2010-12-18 09:17
陳梓瀚(vczh) 閱讀(10612)
評(píng)論(33) 編輯 收藏 引用 所屬分類:
啟示