程式語言怎麼選》大家都說要學程式,但我該先從 哪種程式語言下手?(超詳解)

TechOrange 科技報橘

TechOrange 科技報橘

  • 2017-05-18 15:35
  • 更新:2020-12-02 11:10

 

程式語言怎麼選》大家都說要學程式,但我該先從 哪種程式語言下手?(超詳解)

圖片來源:Shutterstock

作者:李浩綸

 

程式初學者

到底該先學 哪種語言當入門?

許多人都在提倡學習 Coding ,

但卻很少人告訴我們,該從哪種語言下手。

 

美國知名媒體 Business Insider 一篇文章

<The 100 Best Jobs In 2014>

討論美國 2014 前百大最佳職業,

第一名就是「軟體工程師」,

平均年薪 90,060 美金

(約 270 萬台幣、70 萬港幣、

11 萬新幣、30 萬馬來幣)。

而 2 年前開始崛起的「資料科學家」年薪

更是上看 10 萬美元,

而且相關人才需求在未來仍然持續成長。

這幾年美國、亞洲興起大量程式設計學校積極培養軟體人才,

因應需求。

 

但是,這麼多的程式語言:

Javascript、Java、Python、C、

C++、C# 、Ruby、Objective – C …… ,

如果你是一個想成為一個軟體開發者的初學者,

 

到底該先學習哪一種程式語言當入門第一課 ?

 

繼續看下去...

 

(贊助商連結...)

 

學程式語言前,

應先問自己:想做什麼產品?

我請教幾位在不同產業的軟體工程師,

他們都認為,

在跳進任何一種語言前你最好先問自己:

想成為哪一種應用的開發者,

想做什麼樣的產品。

想設計網站、

開發 App(在 Android 上還是 iOS 上?)、遊戲……

還是現在只是想要學,

還沒有具體要做的產品或專案?

 

不知道要做什麼,只想學程式語言?

曾聽到一位設計師在演講中說:

「最好的設計師不是先學技術,

而是先想出欲創造的點子,

再從產品的需求端拉技術進來」,

 

學習程式也理當如此。

 

 

不知道要做什麼產品

可以先從 網頁端開始

但如果你和我一樣

還不知道該創造什麼樣的產品,

我認為可以從網頁端先開始,

從學習過程中邊走邊看,

找出比較想開發的產品和必須學習的語言和工具。

而且,最好的程式設計師

並不會只專注在一種語言上,

而是必須具備學習「任何一種語言」的能力,

並把「不斷學習」當作程式設計師的責任。

就如同美國知名程式設計學校

Hacker School  的名言:

「學程式永遠不會有畢業的一天。」

 

前端語言入門款:HTML、CSS、jQuery

回歸主題,我認為剛開始

還是從網頁的基礎設計語言

HTML(正確稱呼為『標籤語言』)、

 CSS  先著手是最適合的,

因為這幾種工具,

對你理解網頁「視覺」上的設計上最快,

也是最簡單的途徑。

 

去哪學最快?

1. Codecademy(免費)

目前在免費網站中,

最知名的應該就是它了。

上面所有的程式語言課程都是免費

(HTML & CSS 、jQuery、

JavaScript、PHP、Python、Ruby),

互動式的界面做的不錯,

也有討論區可以跟別的學習者一起討論問題,

每個單元結束時都會有實作的作業

可以及時了解學習成效。

 

Codeacademy 的缺點是,

單元練習時的介紹文字稍嫌簡略,

對初學者來說可能不夠清楚,

需要去 Google 額外的資訊來補充、理解。

 

建議初學者先從

Web Fundamentals(HTML & CSS)開始,

 

結束後再往 jQuery…… 學習。

 

2. Treehouse(付費:一個月 29 美元)

跟 Codecademy 的教學方式和特色都不太一樣,

跟 Codecademy 不同的是,

它是從「你想成為哪一種設計師、開發者」

幫你做全盤的課程規劃,

內容也相對完整許多。

 

舉例來說(下圖),

你可以在「Tracks」選擇

想學前端設計、網頁設計、iOS 開發、

Android 開發、Rails 、PHP 等等課程,

有許多基本的課像是 HTML、CSS、

jQuery 都會在一些 Tracks 重疊。

 

另外,跟 Codecademy 不同的是,

在 Treehouse 有真人(知名開發者)

錄製的影片穿插在課程之間。

 

Udacity、edX

有提供免費線上自學

另外在幾個知名的線上學校裡,

有幾個非常棒的

電腦基礎課程(免費)也推薦給大家:

 

線上教育有幾個知名網站像 Udacity、edX ,

裡面其實都有非常棒的 電腦科學基礎教育

軟體開發 等課程。

不只是教材(講義、上課影片)完整,

而且師資也都是麻省理工學院、

哈佛大學、北京清華大學、Cornell 大學、

Caltech 等全球頂尖資工學府的教授,

值得大家參考。

 

我想成為前端工程師(網頁設計師)

要學什麼?

如果你想成為前端工程師

上面提到的 HTML、CSS、jQuery 是少不了的,

但另外你也必須了解一些後端語言

像是 PHP 等等。

一位資深程式設計師曾經給我的建議:

「如果你是一個想成為前端工程師的初學者,

我建議你先把『前端』學到精通,

也就是非常熟悉 HTML、CSS、jQuery 。

後端的東西,可以進去職場

 

依公司慣用的開發語言的不同,再做學習。」

 

 

我想成為 App 開發者

要學什麼?

這就看你想在哪一種裝置上開發了,

在 Android 上你必須要學習 Java ,

在 iOS 上你必須要學習 Objective – C 。

當然,如果你已經學會了

HTML 、CSS 、jQuery 等前端工具,

你也可以用 PhoneGap 的技術做出

Android 、iOS App 出來

(只是效能沒有 Native App 的好,

除非你真的把前端的技術學到精通,

才有可能用 PhoneGap 做到『幾乎』一模一樣。」

 

但以一個初學者而言,

你必須要考慮到「直接」進入

Java 、Objective- C 的學習門檻

相對於 HTML、CSS 、jQuery 來說是比較高的

(其中 iOS 的門檻

對於資訊背景出身的人比 Android 更高,

因為在學校都教 Java、C++)。

但除果你發願想成為一個 iOS 、Android 開發者,

那這就是你的必經之路。

 

以下提供幾個學習資源:

iOS

1. raywenderlich.com

2. Treehouse

3. iOS path on Code School

 

Android

1. Udacity 的 Java 課程 非常適合初學者一步步學習。

2. Android 官方的 開發教學

3. Treehouse(Android 和 iOS 的開發課程都有,但需要付費)

 

如果我的小孩想學 Coding,

也要從 HTML 開始?

當然不用,其實專門給小朋友

學習程式的資源非常多,

甚至有針對孩子學習而設計的程式語言,

通常都把學習程式的氛圍遊戲化了,像是 Scratch

Scratcch 是美國麻省理工學院(MIT)

的媒體實驗室(Media Lab

在 2006 年所推出,

專門設計給年約 8 歲的小朋友

學習的程式設計語言 ,

讓小朋友以熟悉的堆積木方式

更快進入程式語言的世界。

另外還有一套從 Scratch

分拆出來的學習工具 ScratchJr

讓年紀更小的孩子,也能接觸程式設計。

 

ScratchJr 在學習與操作上,

比 Scratch 來的更容易一些。

與一般複雜的一行行程式碼不同的是,

這套語言是以一種可愛的圖像區塊式的學習方式,

在遊戲中的種種挑戰裡,

完成程式設計概念的學習。

讓小朋友即使在還沒學會閱讀、寫作前,

就可以學會程式語言的操作概念了。

 

 

 

另外一個適合小孩接觸的程式語言是 Tynker

在課程中, Tynker 在設計上也偏向簡單有趣,

讓小朋友經由視覺程式語言,

來學習程式語言的邏輯和架構,

但沒有那些開發者常用的那些困難的技巧,

小朋友可以用視覺程式語言

來建立演算法的區塊,

使得他們學習用邏輯性的語言來思考與解決問題。

 

除了上述的資源,

你也可以讓小朋友

上美國知名的線上 Coding 學校

 Code School 上學習更進階的知識。

 

如果你有不錯的學習資源,

也請分享給大家吧!

 

 

本文由 科技報橘  授權轉載

作者:李浩綸, 原文 於此

未經授權,請勿侵權!

(責任編輯:CMoney編輯 / Alodia)

 

菁英軟體工程師戰鬥營

第八屆 熱烈招生中!

想學程式、成為工程師

卻怕自己沒基礎、學不好嗎?

這裡有史上最專業的魔鬼訓練課程,

讓你有機會 朝夢想前進

全程免費、不用基礎從頭開始、培養就業競爭力!

填寫報名表,將有專人與您聯絡

名額有限>>馬上報名

詳細活動介紹>>點我查看!

有問題歡迎私訊粉專:從0開始學程式!

程式語言怎麼選》大家都說要學程式,但我該先從 哪種程式語言下手?(超詳解)

 

TechOrange 科技報橘

TechOrange 科技報橘

前瞻趨勢、科技生活,TechOrange 渴求創新無極限。追蹤全球正在被網路吃掉、重塑的各類產業,認識因網路與技術而生的 Startup,所有你該知道的,想要知道的都在這裡。

前瞻趨勢、科技生活,TechOrange 渴求創新無極限。追蹤全球正在被網路吃掉、重塑的各類產業,認識因網路與技術而生的 Startup,所有你該知道的,想要知道的都在這裡。