資訊時代下,學習程式蔚為風潮。許多行業需要跨領域人才,結合程式與專業知識做應用。因此對於非資訊本科的人來說,學習程式的動機可能是:
- 老闆叫我去學程式,在工作上實際應用
- 雖然不需要用到程式,但是想要多學一個技能,提升競爭力
- 以轉職成程式設計師為目標去學習
程式學習之路,該從哪一個程式語言開始?
由於程式語言有非常多種,各有不同用途與特色,我們需要先了解不同的「應用領域」所使用的程式語言,再依照自身興趣做選擇。
應用領域分類及程式語言建議大致如下:
手機APP
- 做iOS APP:學Swift
- 做Android APP:學Java
- 跨平台通用:學React Native或Flutter
做網頁
- 前端:使用者瀏覽網頁體驗到的視覺設計、排版:學HTML、CSS及JavaScript
- 後端:網頁背後的伺服器,處理使用者的需求,例如針對資料做CRUD,串接資料庫:學Node.js或PHP或Python或Java
做系統軟體
做遊戲:網頁遊戲、手機遊戲、單機遊戲
資料科學、資料分析
AI、深度學習、機器學習
- Python及框架,如TensorFlow或scikit-learn或PyTorch等
心中已經有目標,就朝著目標前進
如果清楚知道自身需求及應用領域,就朝著目標前進,這些具有明確動機的學習者比較沒有選擇上的問題。
如果是初次想學程式,但是不確定興趣領域,又不知道要如何選擇,既期待又害怕受傷害的情形下,我會建議新手從「容易看得見成果」的方向去嘗試,往後是否能保持熱忱與興趣,其實很大的原因是由「成就感」所支撐的。
所以從製作網頁或APP開始,都是不錯的選擇,而兩者我更推薦網頁,並且從網頁前端的HTML、CSS及JavaScript開始學習。
如果只是想體會程式設計與邏輯思維的樂趣,我建議從Python開始踏入這個坑,Python語法簡潔易懂,較友善非本科的初學者。而Python的應用也十分廣泛,包括網站後端、網頁爬蟲、資料分析、機器學習等,Python為近年最紅的程式語言,學習人數爆多,的確有其優勢存在。
我不否認C/C++的重要性,若要成為更專業的軟體工程師,須如資工系一樣從基礎開始扎實地學C語言,並且了解資料結構、演算法等專業知識沒錯,但是如果是初學者,由於C語言的語法較為繁瑣,也不易做出能輕易分享與展示的作品,容易讓人失去信心、沒有成就感而放棄學習。
不管學習什麼新事物,最重要的是找到適合自己的學習方向與學習方式,有一個好的開始,才能逐漸培養熱忱與持續學習的意志。