最近一直在寫代碼,代碼寫到一定程度就感覺沒有代碼我寫不出來,想想感覺很搞笑,當自己真的去設計一個程序的話那是多么可怕的事情---真實的情況是我做不來。我還是一個低級的程序員,不能設計出一些很強大的東西出來,感覺自己走到了一個不知道是什么地方的境界,太多的東西自己不懂。
說實話,現在讓我去寫一個在線聊天工具也不是太大的問題,問題是寫出來又怎么樣,而且要花很多的時間跟精力,還要做很多的嘗試,大概算下時間起碼要一年,這還是保守估計,如果只是通訊一下那簡單很多,但是要考慮很多的情況,那就復雜了。
來到學校后一直在實驗室里面呆著,天天coding,感覺很好,每天都作出一點點成績,但是最近一直在做其他的事情,其實也跟我的光線跟蹤有關,但是換了一個平臺---GPU,也就是顯卡自己都感覺自己牛人一樣,實際的情況是我根本不懂,就連我寫進去的程序是否能達到所預期的速度----100倍的提速,或著更高倍數的速度,我都不敢去想象。
現在我在做的是矩陣的乘法,當矩陣比較小時,速度還不如CPU,當矩陣大了,速度當然是提高了很多,具體多少,不好說。不過感覺沒有什么計算是要這么大的矩陣,所以這個提速跟沒提是一樣的,再加上當矩陣大了的時候,莫名其妙地計算的精度跟CPU是不一樣的,很無語。
現在我的工作是把GPU的光線跟蹤實現了,然后準備考研,但是我心里沒有時間表,什么時候才能把GPU的光線跟蹤算法給弄出來?我現在完成的算法用了半年的時間,天天coding,有時工作到晚上2點才睡,其實沒有睡下,還在想光線是怎么打在物體上的,物體是怎么個眼色很效果的,一直在腦海里打轉,感覺自己跟臺計算機一樣了。
我感覺我現在進入了一個迷宮,總在迷宮里轉。
我還在私底下做一些其他的程序,這些都還沒有做出來,給我一個安靜的環境我想我還是可以很快地作出來,我現在缺乏的是耐性和一個環境,我記得我寫程序最瘋狂的時候是大二的時候,那時候寫程序從晚上12點開始,一直到早上5、6點,寫完才睡。那段時間是我的水平迅速提高的時候,從基本開始學習,慢慢地才會編一點程序,后來就慢慢變成了比較懂程序的框架。
回憶大一,感覺自己走了很多冤枉路,上課基本學不來任何東西,老師講的我一點都聽不進去,還是自己一點一點弄出來,老師要做的實習還是其他,我感覺那都是狗屁,還不如自己踏踏實實地寫程序。其實寫代碼是一件很開心的事情,當你把一個難題解決了,比高中作出一道很難的還要有成就感。
現在看別人的代碼、聽老師講課,感覺很凄苦,那些代碼連他本人都不知道是干什么用的,為什么要這樣寫,他也不知到,老師講課,要是水一點的老師,根本教不了什么很高深的學問,感覺還不如看書然后自己寫一點程序,然后就懂了。不過要找到好的程序去寫,你自己抄書上的代碼可行是可行,不過因為書上的代碼太小,根本不能教你什么實用的技能。
我現在經常在MIT的開放課程和Berkeley的計算機系的課程網站上找一些自己感覺喜歡的課程,然后跟著里面的作業做---就是寫代碼了。提高很快。比老師教得快很多。Stanford的網站上也有很多很好的東西,有時也會看一下,具體的沒有去做,不過有時間一定會跟著做。
看了很多的書之后覺得看書是沒有用的,最重要是要自己動手去做點:紙上得來終歸淺,方知每事要躬行。
我是一位大二學生,在武漢的中國地質大學讀軟件工程。
在大一的時候開始就學習語言。開始是計算機導論,主要是Java語言,當時聽得很起勁,但Java是什麼、計算機我自己都不知道,我那是侯連電腦都不太會用。我們就沒寫過程式。講了一大堆,沒懂什麼。雖然老師有演示,但基本的操作沒有教想自己寫寫代碼都不知道怎么寫。
接著我們又開始學C++(注意我們沒有學C !)。教c++的老師是一位老程序員了。開發了20幾年了,是做GIS的,是我們學院院長開的公司的副總,也是我們軟件工程系的主任。能力和技術都是沒的說的。講語法講編程,但是我就是不懂,他給我們講程序設計,你說我們連int、long、float都不懂的人連程序是什麼都不知道你說程序設計有用不?我們c++講了10節課20個學時,到期末課程設計的時候盯著電腦發呆。什麼也沒做出來。
平時這門課是有上機操作的,但是一上來就是一個win32的程序,VisualStudio是強大啊,框架都出來了,我就不知道那些自動生成的是什麼意思。每次上機操作我都是把工程建好了,然後就盯著電腦屏幕開始發呆,慢慢發呆,直到兩個小時后。
老程序員是不同啊,程序設計、調試、測試等等一大套來了,我懂嗎?我不懂,我就連VisualStudio的那些menu都不知道是什麼意思,跟別提它強大的功能了。學期末的課程設計是用MFC做畫圖程序。MFC那就更強大了,那就更不懂了,最後別說程序設計,就連代碼都不會寫,所以我到現在c++都只是會在VisualStudio上點鍵鼠。
接著在大一的下半學期開接著學c++,還是那位老程序員,可以用高深莫測來形容他,MapGIS底層開發是他做的,拿過很多國家的獎。神州6號神州7號用的GIS軟件就是他開發的MapGIS,強大吧。但是他是第一次教本科生,我們也算幸運的了,人家第一次教本科生就是我們,他一直都只教研究生。還是10節課共20個學時,他也很認真,經常給我們答疑。但是真的太高深了,還是Win32,MFC。講什麼封裝、繼承、多態,不怕說實話我懂的那些道理(吹牛的說一句:我還是比較聰明的,什麼物理競賽化學競賽數學競賽我還是比較強的,不過現在都忘光光了),
但是試想想一個代碼不超過300行的程序要用到這些嗎?我現在還沒寫到超過300行的程序呢。還有什麼模板、操作符重載,please kill me。我不懂,我相信很多人都不懂,就算開發了幾年的了,不過我現在懂了,懂了不代表會用啊,是,我不會用,基本上我就用不到。沒做過項目我用它幹嘛?不過老實說我還是受益匪淺的。畢竟人家是位很好的教師,很好的程序員,只是我的操作能力不行,還不太懂。
在大二的上學期,那就豐富了,數據結構與算法、數據庫、軟件工程導論等等。老實說我沒好好學,沒學好。希望我的後輩要好好努力,把C/c++學好,把數據結構、算法、數據庫學好,老師講的不好,你就去問他,問到你懂為止,不要害羞,不然以後像我這樣你就知道死字怎么寫。老實說大二上還是學到很多東西的,最起碼知道然來程序是這么一回事。還會調試了。但是希望教書了不要只教書上的,多手把手教。記得課程設計的時候有位研究生輔導過我,我到現在還感激他呢,他教會了我什麼叫調試,手把手的教我寫代碼,調試。我才懂那些道理。
現在是大二下了,也過了一半了,學了Java,重新開始學一樣,不過我還是很感興趣的,Java可以做很多事,也方便多了,我現在基本是用記事本寫Java的,可以更直觀的理解算法和程式。到以後就可能不會因為人是要進步的,要做點大一點的程式。不能停留在黑屏的時代。不然就回到DOS那個年代吧?,F在發現程式是那么好玩的東西,裡面有很多很好玩的、很有意思的、很先進的東西在。
努力學習。應該是好好學習天天向上。
總結:
1。c++沒學好,以後努力點好好補一下。有建議的提提,無論高手菜鳥都行,因為我是菜菜鳥。
2。程序寫不好,以後多寫點,有好玩的小項目比如開源的介紹介紹,或者有什麼純粹玩玩的項
目想找個免費勞動力可以找我。
3。對界面不太喜歡,可能是不會的緣故,在努力努力,看看會不會喜歡上,介紹點資源給小弟,
小弟不甚感激。
4。好像比較喜歡Java,可能會向Java里高級的方向去走,各位前輩指點一下,我還是比較迷茫,
介紹點好的方向,給點好的資料給小弟,小弟就此謝過各位了。
5。C、C++還是比較基本的,更能接近底層,還要好好提高,給點意見,有什麼方向去學去做,
指條路給小弟走。
最後感謝各位能看看我的屁話。留不留言沒關係,對你有幫助的話心裡感激過就行了(臭美了一次)。前輩就請你多多指點了,都說過是菜菜鳥了,別不好意思給你寶貴的意見。