本文作者 Nick 是加州州立大學電腦碩士,畢業後在矽谷工作,至今軟體經驗超過二十年。Nick 在十四歲時自學程式設計,當中遇到很多問題與困難點,因此非常了解初學者的痛點,在此與大家分享學習程式語言的訣竅與方法。
每次問先學哪個程式語言好?總是有人回答先把英文學好吧,講久了似乎也很多人相信,造成很多英文不好的人就先打了退堂鼓,真的是這樣嗎?想學程式但英文不好就不可能嗎?
我英文很差,是否可以學程式?
我的答案是「絕對可以」,因為我本身的經歷就是最好的例子。我是在國小時開始接觸到電腦,那時只是喜愛玩電腦裡面的遊戲,玩了一陣子之後,就開始對這些遊戲怎麼做出來的感到好奇,因此我開始想要學寫程式。想學程式時我才國中一年級,由於學校沒有教,我就自己看書,也去電腦補習班,但是依照我國一的已開發智商程度,其實學得有點困難,書本寫的我看不懂,老師教的我也聽不懂。重點是,我並沒有放棄,就這樣六個多月之後,忽然有一天我整個頓悟,我終於知道書本在寫什麼,老師在教什麼了,從此寫程式對我來說變得易如反掌。
試想想,當時我才國一,英文程度會有多好?那時剛教完 ABC 二十六個字母(在我那年代,國中才開始學英文),單字量也非常有限,卻沒有影響我程式的學習,也沒有影響我的頓悟。雖然學程式時,你會發現許多英文單字沒有看過,這是沒有關係的,因為學程式是學裡面的運作方式與邏輯,這些英文單字用法都是固定的,寫程式時用幾次就自然而然記住了。而且就算忘了,翻書查看其用法就好,根本不用死記,絕對不像唸英文一樣需要去背單字。所以不要因為英文不好或者不喜歡英文就不敢學程式了,那只是個以訛傳訛的曲解見識。
太好了,那我可以不用念英文了?
雖然不影響程式的學習,但還是建議把英文念好,對你的將來是絕對有幫助的:
- 電腦軟體相關知識一直有新東西出來,如果你要保持在科技的前端,獲得第一手資訊,看英文資料才是最快的方式,不然你就得等資料被翻譯成中文(而且很多是簡體中文)。
- 即使很多資料已經有中文的了,但同時還有很多資料並沒有被翻譯成中文,因此如果只看中文資料,你的資訊會受到外在環境的限制,無法操之在己。
- 許多資源還是英文居多,例如全球最有名的程式問答網站 StackOverflow 都是用英文在問答。中文的問答網站沒有那麼大的社群,無論是回答速度、數量還是深度,StackOverflow 絕對程式設計師的第一首選。
電腦知識日新月異,你只要到達一個程度,再來幾乎都是透過自學來學習新的東西,所以如果學習新資訊的效率好,同樣五年的時間,英文好的可能學得比英文不好的多好幾倍,這樣差距就出來了。所以有時候你看到同樣是五年資歷的軟體工程師,為何一個薪資三四萬,另一個可以七八萬?這就是學習效率的差異。
程式設計已經被列入 108 年課綱
其實越來越多人開始學寫程式,連台灣都將程式設計列入 108 年課綱之中,各行各業也都開始數位化,軟體需求呈現爆炸性成長,軟體公司開出的薪資福利基本上都是最高、最頂尖的,讓許多人趨之若鶩。以美國的加州大學為例,過去十年來,修讀電腦科學這門科系的人數,居然暴增了十倍,已經遠遠超過了傳統以電機系為主的學生數量。
所以如果你對軟體有興趣的話,真的不要再遲疑,興趣加上趨勢是最棒的組合,千萬不要因為英文不好就放棄了。沒有人生下來就比較會寫程式,都是一點一滴累積起來的,即使像 Kobe Brant 這樣有天賦的籃球選手,也是每天早上四點就在洛杉磯的體育館開始自主訓練。一個人很厲害,不是他天生就很厲害,而是他做了很多事情所以變得很厲害。
看清未來趨勢,成為科技搶手人才
從種種的跡象顯示,軟體的確已經成為下個世代的產業主流,例如 AI 人工智慧、App、大數據、物聯網等等的重要趨勢都是建立在軟體設計上面的應用。由於台灣這幾年面臨轉型危機,也出現越來越多科技新創公司,對於軟體工程師的需求越來越大,薪資福利也都開得很不錯。不過台灣雖號稱科技之島卻找不到軟體工程師(因為過去是硬體導向),目前呈現粥多僧少的現象可以好好利用。最後這裡附上三小時程式語言課程(三選一),可以透過我們合作夥伴聯成電腦的獨家優點來提升自己的軟體能力:
- 深耕教育超過 25 餘年,推動國人的電腦專業不遺餘力,培育上萬人進入電腦軟體產業。
- 首創 168 安心學習服務,透過符合政府評核的一貫式教學,讓學習與就業緊密結合,每個學習的環節都有意義。
- 超過十個就業機會、全國徵才見面會、大型廠商聯合徵才讓結訓學員挑選。