對於非英語系國家的人來說,在英文環境下寫程式同時也變成一種障礙。
你看出來了嗎?有時候固有滿腔熱血很重要,但是一股腦兒地往前衝只會讓自己跌個狗吃屎。
我之前寫程式就是一直往前衝,我看到什麼文章就看,別人推薦的也看。雖然說多多益善,但是卻沒有深刻理解,就像過往雲煙一下子消散而去。我一直以為多看、多寫、多想就可把程式學好,但是顯然地我想得不夠深。而且我看來,學習能力也是很重要的一環,孔子說:「學而不思則殆。」真有他幾分道理。好比說學習函數我就會注意:
- What(追本溯源):函數的作用是什麼?語法是什麼?為什麼要有這個函數?設計理念是?如果有類似函數,他可帶來哪些效益?如果不使用它我還有哪些函數可用?
- How(運籌帷幄):這函數要怎麼用?放在哪個區塊?他有哪些parameters?他和其他元件可以怎麼互動?我怎麼發揮它的最大效益?
- When(抓住時機):什麼時候要用這個函數?為什麼有些programmer在這裡要用這個,原因是?
只要想要把這三個東西抓住,我就會一直查很多資料,同時間我也學會了。而這也是為何給同一份程式作業,有些人會腦袋一片空白,有些人很快就知道如何下手。差別很可能就在這裡。
整體來說熱情是幫助自己在遇到障礙時不會退縮,但是寫得好不好就很攸關學習能力和思考能力了。以學習能力來說,一定要不斷地問自己為什麼,讓你的思考得到極大化。
而在學習一個新語言時,因為程式語言的基礎理念大同小異,有先學過c其實就很夠用。使用高中的讀書技巧也很有用:
- 掌握程式整體脈絡、語法特色、函數寫法、資料型態等
- 把握來龍去脈:寫程式就像蓋房子,基底(使用何種程式)怎麼建?建材(資料型態、函數)選擇?
- 上機實作、多看別人的程式碼,還有Don't reinvent the wheels!
相關自學能力可看這篇:自學能力 - MBAlib
最後著看到這篇文章的人都能變得愈來愈強!
沒有留言:
張貼留言