紙上得來終歸淺
最近一直在寫代碼,代碼寫到一定程度就感覺沒有代碼我寫不出來,想想感覺很搞笑,當自己真的去設計一個程序的話那是多么可怕的事情---真實的情況是我做不來。我還是一個低級的程序員,不能設計出一些很強大的東西出來,感覺自己走到了一個不知道是什么地方的境界,太多的東西自己不懂。
說實話,現在讓我去寫一個在線聊天工具也不是太大的問題,問題是寫出來又怎么樣,而且要花很多的時間跟精力,還要做很多的嘗試,大概算下時間起碼要一年,這還是保守估計,如果只是通訊一下那簡單很多,但是要考慮很多的情況,那就復雜了。
來到學校后一直在實驗室里面呆著,天天coding,感覺很好,每天都作出一點點成績,但是最近一直在做其他的事情,其實也跟我的光線跟蹤有關,但是換了一個平臺---GPU,也就是顯卡自己都感覺自己牛人一樣,實際的情況是我根本不懂,就連我寫進去的程序是否能達到所預期的速度----100倍的提速,或著更高倍數的速度,我都不敢去想象。
現在我在做的是矩陣的乘法,當矩陣比較小時,速度還不如CPU,當矩陣大了,速度當然是提高了很多,具體多少,不好說。不過感覺沒有什么計算是要這么大的矩陣,所以這個提速跟沒提是一樣的,再加上當矩陣大了的時候,莫名其妙地計算的精度跟CPU是不一樣的,很無語。
現在我的工作是把GPU的光線跟蹤實現了,然后準備考研,但是我心里沒有時間表,什么時候才能把GPU的光線跟蹤算法給弄出來?我現在完成的算法用了半年的時間,天天coding,有時工作到晚上2點才睡,其實沒有睡下,還在想光線是怎么打在物體上的,物體是怎么個眼色很效果的,一直在腦海里打轉,感覺自己跟臺計算機一樣了。
我感覺我現在進入了一個迷宮,總在迷宮里轉。
我還在私底下做一些其他的程序,這些都還沒有做出來,給我一個安靜的環境我想我還是可以很快地作出來,我現在缺乏的是耐性和一個環境,我記得我寫程序最瘋狂的時候是大二的時候,那時候寫程序從晚上12點開始,一直到早上5、6點,寫完才睡。那段時間是我的水平迅速提高的時候,從基本開始學習,慢慢地才會編一點程序,后來就慢慢變成了比較懂程序的框架。
回憶大一,感覺自己走了很多冤枉路,上課基本學不來任何東西,老師講的我一點都聽不進去,還是自己一點一點弄出來,老師要做的實習還是其他,我感覺那都是狗屁,還不如自己踏踏實實地寫程序。其實寫代碼是一件很開心的事情,當你把一個難題解決了,比高中作出一道很難的還要有成就感。
現在看別人的代碼、聽老師講課,感覺很凄苦,那些代碼連他本人都不知道是干什么用的,為什么要這樣寫,他也不知到,老師講課,要是水一點的老師,根本教不了什么很高深的學問,感覺還不如看書然后自己寫一點程序,然后就懂了。不過要找到好的程序去寫,你自己抄書上的代碼可行是可行,不過因為書上的代碼太小,根本不能教你什么實用的技能。
我現在經常在MIT的開放課程和Berkeley的計算機系的課程網站上找一些自己感覺喜歡的課程,然后跟著里面的作業做---就是寫代碼了。提高很快。比老師教得快很多。Stanford的網站上也有很多很好的東西,有時也會看一下,具體的沒有去做,不過有時間一定會跟著做。
看了很多的書之后覺得看書是沒有用的,最重要是要自己動手去做點:紙上得來終歸淺,方知每事要躬行。