程式語言將成另一種全民語言,8 個國內外網站教你如何自學寫程式

程式語言、程式設計、Java、C++ 這些聽起來很專門的用語,在未來都會是學習趨勢,就像 20 世紀大家開始學英文一樣,在許多國家很多小孩從小就開始學習程式語言,而台灣相對來說比較慢開始有這個觀念,這裡我們就整理了 8 個自學網站,讓你從零開始學習。

為什麼要學程式語言?

上個月 Google 等幾家科技大廠還有學術界(UC Berkely、Lead the Way)的專家討論,如何讓更多的人能夠一起參與未來?關鍵在於「數位素養」(digital literary),什麼是數位素養?就是懂得運用電腦及網路資源來定位、組織、理解、估價和分析訊息的能力,雖然說「懂得運用」這四個字的定義非常模糊,但不可否認的,學習程式語言是培養數位素養的一種方式,只要擁有就能跑在其他人之前。


▲ 數位素養其實包含多種能力,包含有效溝通、批判性思考⋯等等

過去學習程式語言都被認為是要「解決問題」,讓程式跑的更快,所以矽谷的工程師們不斷想要突破,但是 Google 暑期程式設計課程的主管 Carol Smith 及UC Berkeley 教授 Armando Fox 都認為學習程式語言應該是要讓工具「為你所用」,創造自己的工具,讓工具做你想要的事。

另外,軟體工程師也在美國 Business Insider 的 「2014 百大最佳工作」拿下第一名,平均年薪 90,060 美金(約 270 萬台幣),而第二名的電腦系統分析師也有79,680美金,工作機會也日漸增多,是炙手可熱的職位。而程式語言百百種,Javascript、Java、Python、C、C++,學哪一種賺最多呢?美國的 msgooroo 網站則分析了 2014 上半年超過 150 萬則的人才招募廣告,發現奪下收入最高與需求量最大的程式語言是 Java,也許這個可以成為你學寫程式的理由。


▲ 學程式語言不再是工程師的專利了

要從哪一種程式語言開始?

就像上一段說的,程式語言有很多種,�要從哪一種開始學習比較好,這個問題因每個人的需求還有對自己的期許都有不同,如果你是想要學習網頁設計,自己架設網站,那麼 HTML、CSS、jQuery 這三種前端的基本語言要先學會;如果是想要成為 app 的開發者,在 Android 系統上要懂 Java,在 iOS 系統上則是要會 Objective – C。前三種的入門門檻較後面兩者來的低。

Mashable 整理的「10 個必學程式語言」中也還有其他語言,列出來給大家參考:

  1. C 語言:最古老且廣泛使用的程式語言,影響後面許多語言(如:C++、Objective-C、Java、C#),用於操作系統上,可以作為入門。
  2. C++:C 語言的進階版,Firefox 及 Adobe 系列都是由這個語言構成,也用於系統軟體、應用程式軟體、遊戲。可以獨立於 C 語言學習。
  3. PHP:用於網頁開發,Wordpress、Facebook 就是用 PHP 建構的。與 HTML 相較是後端的語言。
  4. Python:物件導向、直譯式的高階程式語言,用於網站以及行動 App 等,Instagram、Pinterest、Google、Yahoo! 皆使用 Python 開發而成。 

2
▲ 看起來很複雜,其實拆開後慢慢學習也會懂!�

不管選擇哪一種,建議大家都依照自己平常使用的需求或是興趣選擇。往下一頁看哪裡可以學到這些程式語言。

好用的自學程式語言網站

想當初小編在學校也學過一學期的 Java,不過因為邏輯和一般學語言不同,小編覺得難如登天、差點都要放棄了,好險最後撐下去,覺得可以訓練不同的思考方式也是很棒的事,�這裡推薦大家幾個自學程式語言的網站,如果你從來沒試過也可以玩玩看。

一.臺大開放式課程

大部份的自學網站都是英文,但其實台灣也有大學開放式課程網,上面有關於程式語言設計的課程,例如:計算機程式設計、計算機概論等等,因為都是上課實際錄影、課程設計也是針對初學者,所以其實不會很難,也可以跟著每週的進度,下載講義及影片一一複習。臺大的計算機程式設計是以 C++ 語言程式設計為主,雖然老師上課講話快了一點,但是大致上還算清楚。


▲ 由台大電機系廖婉君教授開設的計算機程式設計,是完全針對初學者的課程


▲ 交大溫宏斌老師的計算機概論與程式設計也是以 C++ 語言為主

二.MIT 開放式課程

如果可以不需中文字幕輔助學習,也可以參考 MIT 的開放式課程網,電機及資工的課程從大學到研究所都十分完整,可以先建立對計算機的概念,再一步步學習寫程式等等的,而且有影片、作業、配合老師每周的進度。


▲ MIT 的 開放式課程網上 Electrical Engineering and Computer Science 


▲ 大學部的課程就非常多

三.Coursera

Coursera 在今年越來越紅,因為台大有教授的課程也上架到 Coursera 上了。所有的課程都可以免費上,也有互動論壇可以跟其他同學討論,如果你想要記錄自己學習的過程,最後拿到證書才需要付費。除了基本的概念課程,也有所謂的「專項課程」包含三門以上的課,舉例來說 Foundamentals of Computing 課程裡就包含:An Introduction to Interactive Programming in Python、Principles of Computing、Algorithmic Thinking,三門一系列的課程,也是免費學習的好選擇。


▲ 在 Coursera 上搜尋課程可以設定條件→計算機科學:物件工程


▲ 現在有教你怎麼寫 Android App 的課程,可以免費加入

前三個網站都有提供理論課程,小編覺得在正式開始學習 Coding 之前還是需要具備一些理論,在學習的時候會比較有概念,不然就像小編當初在學習 Java 的時候都只會死背,不懂背後邏輯,每當要考試的時候就非常痛苦;不過如果是已經有概念的人,就可以透過下面的網站練習。

四.Bento

有的人會說網路上的學習網站百百種,到底要先從哪一個先下手?很多資訊又應該去哪裡找呢?Bento 嚴格來說並不是正式的學習網站,而是「入口網站」,你可以在網站上看到程式語言、前台技術、後台技術等等的列表,分別用不同顏色標示,底下會列出你可以到哪裡去學習這些技能,除了參考下一頁小編提供的網站之外,大家也不妨先到 Bento 這個網站逛逛。


▲ 黃:基礎紅:前台藍:後台綠:資料庫紫:API、橘:行動裝置

五.Codecademy

其實說到學程式語言最有名的免費學習網站應該是 Codecademy,可以學到的語言非常多種:HTML、CSS、Javascript、jQuery、Python、Ruby、PHP,另外也有實用的課程:如何架設網站、如何架設互動式的網站,介面設計也比較簡潔。


▲ 在 Codecademy 上有名字動畫、設計自我介紹網頁等等的專案


▲ 設計的模式就是左側說明、中間演練、右邊預覽

六.Khan Academy

另一個和 Codecademy 名稱相近的網站是 Khan Academy,不過 Khan Academy 將重心放在 JavaScript 還有ProcessingJS 庫上,從一開始的概念課程,到後面的實際練習,可以完整的了解 JavaScript。


▲ Khan Academy 練習的方框很大,上面是指示


▲ 程式設計的課程就包含學習程式語言及內部設計

七.Talentbuddy

從練習 14 種程式語言,到準備科技業的面試,還有實際的專案演練,Talentbuddy 的網頁設計雖然簡潔,但是課程內容其實很豐,每個練習都很短,不過可以在不同語言間切換,Talentbuddy 也推出 App,可以直接在行動裝置上學習,「走到哪裡都可以 Coding」。


▲ 學習介面的左邊是提示,右邊則是練習區,同一道題目可以切換學習不同程式語言


▲ 行動 App 可以隨時學習

八.Treehouse

不同於 Codecademy 是以單項課程為主,Treehouse 的教學模式是「你想要成為哪種設計師、開發者?」,比較專案導向來學習,所以很多技能其實都會重複學到、多次練習,而且在課程中也會有真人錄製的演示影片,教導你要怎麼做會比較好,比較可惜的是這個網站要付費,一個月是 25 元美金,不過有 14 天的免費試用期,大家可以找段比較有空的時間,好好體驗看看再考慮是否要使用。


▲ Treehouse 的課程多是實用技能專案,例如第一個就是設計 WordPress 的主題


▲ 「設計一個簡單的Android App」就包含六項課程,下面又下分好幾項作業

小結

就像小編在上一頁裡說的,網路上學習的資源很多,而且免費的不在少數,除了參考小編推薦的,大家也要依照自己的需求選擇。學習程式語言已經是很多國家基礎教育的必修課,也是未來重要的能力,也許你過去在學校沒有機會學到,但現在的資源絕對能夠讓你無師也能自通,或許會成為下一個程式設計高手!如果你還有其他推薦的網站也不妨在下面回應和大家分享。

資料來源: WiredmsgooroMashable

本文出自T客邦

追蹤我們