[如何學習寫程式] 如何學習寫程式系列-前言

[如何學習寫程式] 如何學習寫程式系列-前言

這不只是初學者要思考的系列,也是現在許多在業界工作或從事軟體開發的同好們要一起思考的,若你是帶領軟體開發團隊,卻沒有任何寫程式經驗的人就更要思考了。
也許我可能沒有資格寫這種文章,若你是這麼想的話,就把它當故事文看吧。但若您是認真的,那就請在這系列文章的各個部份多多思考,這會有助於學習程式的功力。

長久以來,不論是在業界還是在論壇,總是會有幾個很平凡的大哉問:

  1. 我是程式初學者,程式要怎麼學習才會進步又輕鬆?
  2. 這個方法學了有什麼用?
  3. 怎麼樣才可以在最短的時間內學會 xx 應用?
  4. 這個需求怎麼寫都不對,到底要怎樣才是對的?
  5. 為什麼 Visual Studio (可套用到 Delphi, Eclipse, … 等 IDE) 都沒有提供某某功能,讓我可以快點做完?
  6. 為什麼 xx 程式語言這麼爛,都沒有給我 xx 功能 …
  7. 為什麼要這樣做,才能做到某些功能?
  8. (還有很多類似的)

而站在團隊以及管理者的角度,又會出現幾個很平凡的大哉問:

  1. 為什麼某某寫出來的程式都不能跑?
  2. 為什麼都沒有先思考再寫程式?
  3. 為什麼寫出來的程式都沒有 xx 特性 (可套用到 Security, Performance, Scalability, Extensibility, …) ?
  4. 為什麼程式的漏洞那麼多 (ex: SQL Injection)?
  5. 為什麼無法在客戶的環境執行?
  6. (還有更多)

其實寫程式本身並不難,但是很多基礎在初學者一開始學習的時候就要灌輸,正確的觀念尤其重要,這是寫出好程式的基礎要件。
初學者的學習階段是可塑性最高的時候,此時給予正確的學習方向以及要求不允許犯重大的錯誤,訓練出來的初學者才會具有一定的水準。
當然,訓練的方法很多,撰寫大量的程式碼是學寫程式最快也最有效的方式,但撰寫程式是真的撰寫,而不是用 copy/paste。

在這個系列中,我不會講太多初學用書中會講的東西,那種去看書就好了,我會講的是一般學習程式的書不會講的東西,甚至有些會挑戰初學用書的概念。
若您是初學用書的作者,請不要太見怪,因為我自己也有寫一本入門用書,如果打到我自己的話,就算是命吧 微笑

希望這個系列能給所有將要,正在,或是已經有程式底子而正在學習新東西的人有個思考的方向。