3月 13, 2008

【雜記】漫談程式設計

@
  在我的經驗中,許多人聽到程式設計,臉上總會閃過一瞬驚恐的表情,彷彿聽到世界末日的宣言。有的人相反,臉上掛著興致勃勃的表情,卻絲毫不懂什麼叫做「寫程式」。在這裡,我想隨意的(或者說,主觀的)談一談「程式設計」。

  首先,什麼是程式設計?現實中,我們會碰到許許多多的問題。例如:想要方便的保存資料,並且能夠快速的取用與管理。我們或許可以使用電腦來這個問題(例如建立一個近端的資料系統),而所謂的程式設計(programming)就是實現這些解決方法的過程。

  所以,為了要快速找到資料,而有搜尋程式;為了方便文字編輯工作,而有文本編輯器;為了能夠電子繪圖,而有繪圖軟體;(或許)為了要打發無聊時間,而有遊戲軟體。或許這樣定義過於草率,不過簡單說來,程式設計也就是這麼回事。

  至於要如何學好程式設計?我認為,應該要先學會以下幾點:

【怕它,不如瞭解它】

  「這個好難,我學不會」,有時不經意跟別人講起程式設計,時常會聽到這樣的話(不光是程式設計,各個學科領域其實都有這種情況)。在真正瞭解什麼是程式設計之前,許多人就先入為主的認為難度過高,學不會。

  當然,程式設計有它的難度。但是再怎麼說,它也不過是一種技術,學習技術是可以靠練習達成的。與其在學習之前就直接放棄,不如先試著接受它,是吧?

【從基礎學起,別妄想一步登天】

  除了「把程式當天敵」的人之外,也有人是對程式有著強烈興趣,卻只停留在表象的。舉例來說,我相信,製作遊戲應該是引發許多人想學程式設計的動機之一。製作遊戲並沒什麼不好,但是我看過的許多人,是連程式都沒寫過幾行(更甚者,是連程式都不想學),就妄想能夠立刻"蹦"出一個遊戲來。

  這邊一定要提醒各位,程式設計是循序漸進、一步一腳印的知識累積。假如你還抱著什麼都不學,或是隨便學幾招皮毛,就能夠寫出驚人的程式(或遊戲)的想法,還是趁早放棄吧!

【多查資料,少發問】

  另一種很常見的情況,總會有許多人在奇摩知識+或是各大論壇的程式設計版提出許許多多的問題。我不是要批評發問是個不好的行為,相反的,發問還有助於每個人的意見交流。但是,有多少人是自己查過資料,發現仍有不解之處,或是查到的資料不符所需才提出的疑問?根據我的觀察,比較常見的應該是什麼都不查,就直接提出疑問的吧(其中不乏一些現有資料已經相當多的基礎問題)。

  學習的過程當中,當然需要不斷的發問。但是,我相信假如碰到問題能夠學著自己去搜尋、整理資料來解決,比起一碰到問題,就只會一味的請求別人解惑的作法收穫更多吧。

【會寫程式,也要會讀程式】

  就我自己的經驗而言,與其叫我去解讀別人的程式,我還寧願自己去寫一個出來。這是難免的,畢竟程式是別人寫的,要花費時間解讀,有時還不如自己寫一個還比較輕鬆。

  不過再仔細想想,以文學的角度來看,多看別人的文章,對自己的文筆能有所提升;以藝術的角度來看,多觀摩他人的作品,也有利於增進自己的畫技。程式設計也是一樣的道理。當你限在正在解讀他人的程式時,也就是在吸收別人的菁華,儘管剛開始會有些困難,不過久而久之,對於自己的能力也會有一定提升。

【持之以恆,廣博學習】

  雖然這兩句話看來都陳腔濫調了。不過首先,持之以恆確實是重要的。當然你不用到「廢寢忘食」,每日三餐下午茶加宵夜都在研究程式設計(不過狂熱者真的可以做到這樣)。不過,時常回顧寫程式的感覺,偶爾花點時間練習。哪怕只是想寫什麼就寫什麼,也是很有幫助的。

  至於廣博學習,就是時常翻閱書籍、查詢網路了。也不需要抱著「有新資訊我一定要知道」的想法,想知道什麼,就去看什麼。一切出於自發,就能夠學到很多了!

  註.以上皆為個人淺見。假如有人認為有該補充的地方,歡迎提出。若是以上出現任何謬誤,還請各位多多包含指正。

0 回覆:

張貼留言