新手怎麼練習寫程式

學習動力來自於熱情

今天來談談我入門時候的心得,我大概是18歲左右開始學程式吧,當時其實沒什麼太大的壓力,也就是沒人逼著我學,也沒有什麼外在環境的壓力(比如說因為要完成工作所以要學),當時就只是因為很愛玩遊戲,覺得寫程式可以自己創造些什麼很有趣,抱著很大的熱情去想辦法學會。

所以說起來很廢話,但卻很實際,支撐著我度過學寫程式路上的一些關卡的就是熱情-跟世界上大多數的學習一樣;當你想打籃球跟流川楓一樣厲害,你就會不停的練習,連晚上睡覺都在想那些動作;少年時的無畏無懼(就是不相信自己其實沒有那個天分變成流川楓),剛好被我用在了學寫程式上面,當年的自己也認為自己認真學習應該可以成為天下第一人吧??

好,姑且不論讀者本人有沒有方法可以燃起這樣的熱情,所幸寫程式其實基本的功力並不難培養,不需要你是數學高手或是什麼什麼高手,我認為智力程度有中間以上水準的人,其實都能掌握到基本的功力;具體的方法也很簡單,就是大量練習,對新手來講最簡單快速的練習方法不是去解題,也不是一直去寫程式,阿你就不熟,看著空白的螢幕打不出東西來是能練習到什麼,這樣我認為只會體會到挫折,挫折正好是扼殺你熱情的最好材料。

眼睛是最好的學習利器

所以最簡單的方法就是:不斷去看別人寫的程式,找自己能看懂的程度一行一行看懂,搞清楚他在寫什麼以及他為什麼要這樣寫;比較好的材料其實是適合你程度的書,因為書上的範例大多是經過整理,是比較精練的,你如果自己去網路上面亂找,不一定會找到適合你的程式看。

當然,這招是使用在你最起碼已經能看懂基本的語法了,這個練習才有意義,如果你連語法都還沒懂,那麼應該先去熟悉語法哦。

早年我在練習的時候很瘋狂,當時網路不發達,也沒有可以上網的手機,我就把bbs的soruce code全部印出來,在通勤的時候一行一行看(但這時候其實我已經有相當程度了,不然也看不懂),我心裡想著,bbs能處理這麼多人同時上線,應該有蠻多很不錯的寫法,所以就想把他看完,但這個不鼓勵太新手的人直接挑戰,你應該找你能看的懂的程式優先。

另一個印象很深的就是學程式的第一年,被指標(C語言的pointer)卡住,並不是不會用,也沒有說完全不懂,但就是卡卡的,到底為什麼要創造這麼奇怪的用法呢?好好的直接使用變數不行嗎?非得再弄個指標來操作,搞什麼呢?以我的經驗,有蠻多人都卡死在指標這一關,最後就囫圇吞棗硬記用法,甚至把他的特點記起來,但其實你還是沒有弄懂為什麼要有指標這個東西。

當年我也是一樣,但我就是不服氣想要解決,那個時候網路並不發達,要在網路上找到技術文件跟教學是不太容易的,從書本找答案還是主流,為了解決這個問題,當時我天天跑圖書館,幾乎每本講程式、講C或C++的書我都翻過或借過,不一定所有章節都看但卡住我的指標一定會看,透過看遍不同作者的說法以及範例程式,我終於弄懂了,也在後續的各種演算法的難題裡面將指標用的還可以,其實很有成就感。

現在的新手資源就比我們當年多太多了,所以只要你找到屬於你的熱情,記得不斷練習,一定可以在程式這條路走的更遠。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Scroll to top