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