再問什麼是程式設計? 如何成爲程式高手?

Q: 再問什麼是程式設計? 如何成爲程式高手?

 

這問題其實很抽象沒有標準解答, 有那麼一點師父領進門, 修行在個人的意思. 以下只是給出一些想法當作參考。

 

首先, 程式設計是數學, 技能, 和藝術的混合物. 它有數學的嚴謹; 寫出的任何一段程式, 它的意思是確定的, 沒有模糊的空間, 不像日常生活用的語言, 隨着讀到的人的解讀不同或其他因素而可能不同。 它又是一種技能, 花時間精力磨練就能進步, 但由於程式語言非常具有彈性, 而要面對解決的問題又變化多端, 同一個問題會有數不清的方法來解決, 因此不同的人或流派會有不同的偏好或哲學, 使用不同的語言及其特性, 來設計程式解決問題.。但不論使用那種方法, 所得到的結果總會有優劣之分. 可惜評判優劣不是那麼容易,更多的情況是折衷. 無論如何, 客觀的面向如程式是否正確, 效能是否更好等, 可能可以分析得到, 但有些較困難問題的解法(或稱演算法)是否正確, 及效能是否最佳, 可能需要更深入的數學分析或靈感, 這樣來看程式設計又不全是一般人只要下功夫練習就能達到頂尖的一門技藝了 (否則大家都可以拼命苦學, 然後在國際程式競賽得獎)。 而另一方面, 評判程式好壞還帶有些許主觀美學的成分, 如程式架構是否簡潔合理, 是否容易讓人理解及修改等等, 是有一些公認的準則, 需要程式設計師平時自行揣摩, 與他人交流, 或得到適當的指導.。


程式無法簡單複製量產, 不同的人寫出的程式好壞會有所不同. 因此當你聽到某人說: "我學過 Java”, "我會 C++", 或"他會寫 APP, 好厲害"時, 要知道這些句子意義不大. 可能你只會 Stone (全世界暫時不會超過 100 個)而不會 C++, 但你寫的程式可能好很多, 關鍵在於你是否真的理解程式設計的精髓並能充分把握運用,適當地解決問題. 有些問題也許需要黃金數學頭腦才能想出解決辦法, 但好消息是, 絕大部分的程式問題(例如設計那些大家平常會用到的APP), 我們平常人只要努力,花時間都可以解決。 更重要的是, 找到好的想法 讓我們寫程式去實現。

 

*點石學園首頁,歡迎來參加我們的課程喔*
https://apps.uvworkspace.com/stone