Let's do this!寫程式新手的入門指南

這篇文章集合了 Code.org 聯合創辦人 Hadi Partovi 給寫程式新手的幾個建議,介紹學程式語言應該從何開始、如何快速上手 Coding,並推薦幾個熱門的程式語言,讓新手們用最快的速度進入狀況、成為 Coding 高手。Let’s do this!
評論
評論

電腦科學(Computer Science)無疑是現在最熱門的學科之一,這領域的工作薪水優渥、工作時間彈性,而且科技業對工程師、開發者的需求至今有增無減,科技龍頭們隨時虎視眈眈著出色的程式開發者、創意工作者,也因此吸引了許多人開始學 Coding。

寫程式不只是一種工作技能,更是一個可以實行點子、實現夢想的好途徑,任何人都可能在學寫程式的過程中,因為一個靈感而創作出價值幾十億美元的「課堂作業」!

對於寫程式新手來說,也不必將 Coding 視作如此艱鉅的挑戰,其實「學寫程式」也能想做「學彈吉他」,沒學過樂理(電腦科學背景)沒關係,只要一開始有人為你指引個學習方向,先學基本和弦跟指法(基本程式功能跟語法),很快你也可以彈出一首簡單的歌(Code 出第一個程式)。

雖然寫程式這種東西跟學樂器一樣,天份絕對有影響,有些人音感(邏輯)特別好,學起來特別快、沒障礙,但是多練習(多 Code)絕對是成功的關鍵!之後你能夠演奏多複雜的歌曲、技巧有多嫻熟,所謂師傅引進門,這些「修行」就看個人啦。等到你到達一定的程度,建立起自己的樂理知識(程式邏輯跟思維),別說吉他,其他樂器(其他程式語言)相信也能信手捻來。

最重要的是,學寫程式應該和學玩樂器一樣是輕鬆、有趣的,是一個能夠發揮創意、自由創作的途徑,一旦有了靈感,你也可能寫出一首百萬暢銷歌曲、千萬價值 APP。

這篇文章參考 Code.org 聯合創辦人 Hadi Partovi 提供給寫程式新手的幾個建議,介紹學程式語言應該從何開始,如何快速上手 Coding,並推薦幾個熱門的程式語言,讓新手們用最快的速度進入狀況。Let's do this!

在學任何語言之前,先試試圖像式程式工具

圖像式程式工具(Visual Programming or "Drag and Drop" Programming)也算是一種程式語言,但不需要學專業的程式語法(Syntax)就能進行開發。這種語言通常是用「拖拉方塊」的方式來寫程式,不同的方塊有著不同的功能,讓開發程式像是玩拼圖、堆積木一樣「組合」起來。

Hadi Partovi 認為,這樣的拖拉式程式工具,最能快速建立起初學者寫程式的邏輯思維。毫無程式開發經驗的新手可以藉此認識程式語言的基本功能,例如迴圈、判斷式等,避免一開始先花費太多時間背記各種功能的語法,然後因為少一個分號、少一個括號、或是拼錯一個字,而造成程式錯誤訊息一堆,程式思維還沒建立起來就已經挫折連連。

麻省理工學院開發的 Scratch 、Code.org 的 Code Studio、還有 Google 的 Blockly 都屬於這種圖像式、拖拉式程式語言,這樣簡單的工具開發出來的程式也能很複雜、很有創意呢。

Scratch 的使用跟介紹,可以參考 Inside 文章:MIT 為孩子量身打造的程式語言 – Scratch 貓爪

入門的第一種程式語言:Python

根據 Hadi Partovi 的說法,Python 對於初學者來說相對的容易。主要是因為 Python 語法強調簡單易讀,比起其他程式語言較為寬鬆,像是句尾不用加分號、變數不用事先宣告類型等,開發者不需要耗費太多時間專注在語法的細節上。值得一提的是,Python 的設計哲學是優雅、明確與簡單,其格言是「There is only one way to do it.」,這句話是想表達,用 Python 寫程式,一個目的只有一種寫法可以達成(盡可能只有一種寫法),以符合「簡單」的設計哲學。

但說到入門的程式語言,一定會造成一點爭議。除了 Python 以外,通常會有另一派支持先學 C 語言 1。兩種語言主要的分別是,C 語言是系統式語言 (System Programming Language),主要是用來替代原有的低階語言,為了程式的撰寫與維護,語法上會較為嚴謹,程式需要編譯、連結才能執行,可以有效發揮程式的效能;然而 Python 則被視為描述式語言(Scripting Language),主要以靈活度取勝,程式無需編譯(正確來說,是自動「半編譯」,只編譯成 bytecode,而不用再往下編譯成 machine code),對初學者來說開發工作比較單純,只要專注在程式的邏輯功能。曾聽工程師這樣說過:「系統式語言節省系統資源,而描述式語言節省的是『程式人員的時間』。」

無論如何,兩種語言當然各有各的好,要我說,我會告訴你厲害的 Programmer 都是精通好幾種語言的。所以隨便哪種都好,先學就對了。

JavaScript 學起來絕對不吃虧

JavaScript 學起來可能沒有 Python 簡單,不過最大的優點,也是其無人能比的強大之處,就是 跨平台 。JavaScript 可以運行在 Mac、Windows、iOS、Android 等裝置上,跟 Chrome、Safari、Firefox、IE、Opera 等各式各樣的瀏覽器,雖然支援度有高有低,但基本上都支援!就連新推出的裝置,像是智慧型手錶,都會一定程度的支援 JavaScript。

對於 JavaScript 的這個特點,Hadi Partovi 說:「當你達到這種程度的普及,是不可能被淘汰的。(Once you reach that level of critical mass, it's not going away.)」

知名部落客兼開發者 Jeff Atwood 提起 JavaScript 時,甚至提出了一條「Atwood 定律」2「所有能用 JavaScript 編寫的程式,最終都會被寫成 JavaScript。(Any application that can be written in JavaScript, will eventually be written in JavaScript.)」

這種道理大概就跟英文是國際通用語言一樣,英文講得嚇嚇叫絕對是一個職業利器啊!

接著玩 Ruby 跟 Ruby on Rails

Ruby 跟 Ruby on Rails 雖然有著相似的名稱,但其實是兩個完全不同的東西。Ruby 是一種描述式語言(Scripting Language),如上述的 Python。Ruby on Rails(也簡稱 Rails)則是用 Ruby 語言寫的網頁開發框架(Web App Framework)。簡單來說,Ruby 是一個語言,Ruby on Rails 則是一個平台,讓開發者能夠更簡單的在上面用 Ruby 進行網頁開發。

Hadi Partovi 認為 Ruby on Rails 是一個讓大家學習後端開發的超好工具,其最吸引人的地方就是,開發者不需做太多的原型設計(Prototyping),Code 寫好,成品就呼之欲出了!其彈性大、維護性高,修改起來很無痛。即使你決定專注於前端開發,例如當名網頁設計師,會一點 Ruby 跟 Ruby on Rails 也可以幫助你跟後端開發人員有更好的合作。

想更深入了解 Ruby 跟 Ruby on Rails,可以參考 Inside 的文章:「學習 Ruby 與 Rails 的最佳時機就是現在!」

會一點 HTML 跟 CSS 超加分

不管是自己創業還是到別的公司工作,你都很可能會需要建立網站、或修改網站內容,這 HTML 跟 CSS 便是網頁的基礎了。

HTML 跟 CSS 都不算是程式語言,HTML 正確的講法是「標籤語言(Markup Language)」,用來描述網站的內容、資訊,而 CSS 則是一種「樣式表(Stylesheet)」,目的是控制網頁內容顯示的樣子,為網頁添加背景、字型、顏色等效果。有興趣的話,推薦到 w3school 上學習。

HTML 跟 CSS 學起來不難,但學起來實在好處多多 3!舉例來說,你可以為自己打造一個個人網站(Portfolio Site or Resume Site),用來記錄個人成就跟經歷,應徵工作的時候還可以拿來當履歷用,超級加分!或是替你的公司修改網頁(非常可能是建在 WordPress 上),展現你的額外價值;或是單純的製作一個精美的 E-mail 給你的客戶、廠商,讓你獨樹一格、從百封 E-mail 中脫穎而出!


以上這些建議希望能給寫程式新手們一個學習方向,如果能利用上述五大招好好學習,相信你也不再是新手了!Happy Coding!

想知道還有哪些熱門程式語言,可以參考 Inside 文章: 挑戰年薪 300 萬,學這些程式語言就對了!

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

Microsoft Teams 推出全新網路研討會功能,實現防疫期間線上活動需求

既然實體活動停辦,不妨趁此機會了解更多關於線上會議、活動的操作方法,避免線下群聚感染。Microsoft Teams 全新功能一條龍包辦虛擬活動策劃,不論是常態會議或大型活動都適用。
評論
Photo Credit:Microsoft
評論

5 月 19 日全台疫情警戒升至第三級,停止室內 5 人、室外 10 人的聚會,教育部也宣布各級學校學生全面停止到校上課,並採行遠距教學。沒想到此公告一出,隨即哀鴻遍野,許多師生與家長不擅長使用數位平台,有多場學術研討會與講座活動改採線上模式,畢業典禮也不得不停辦。企業單位更是備受衝擊,原本預定的記者會、法說會、行銷活動等都被迫停擺,主辦單位急於苦尋能容納數百人以上的平台工具,也為了註冊報名頁面製作、會後回饋資料收集等工作而焦頭爛額。

其實上述這些問題,舉辦線上會議行之有年的 Microsoft Teams,都有很好的解方。

全新網路研討會功能,Microsoft Teams 新增三大亮點功能

近期本土疫情加劇,台灣才要經歷其他國家去年就面臨過的考驗。無論是異地辦公、遠距教學、線上研討會等,這些疫情時代的新常態生活,在台灣以外的大多數國家,經過一年的練習後再也熟悉不過。面對各類型實體研討會、講座與活動大幅線上化的趨勢,Microsoft Teams 推出全新網路研討會功能,幫助企業與組織以更敏捷、彈性的方式,照常舉行活動,並持續開拓嶄新機會。新增三大亮點功能包括:

  • 專業虛擬活動

Microsoft Teams 幾乎可以滿足各種類型的活動虛擬化需求。使用者可以利用 Microsoft Teams 自訂註冊頁面導流活動報名,並同步行事曆發會議通知;另外,也能設定與會者權限,主辦人有「主控制項」以管理廣大觀眾,像是停用出席者音訊、視訊和聊天功能,亦可使用「大廳控制項」以管理存取權。活動結束後,不只可以從會議詳細資料下載活動的錄製內容,並上傳至 Microsoft Stream 或者 OneDrive for Business 保存,Microsoft Teams 也提供簡單的會後報告,供主辦人參考並優化下一次的虛擬活動。

Photo Credit:Microsoft/從註冊報名的功能開始,即可使用 Microsoft Teams 開辦虛擬活動
  • 容納萬人的大型聚會

線上會議平台並不稀奇,不過往往功能陽春、同時上線人數有限,通常以 100 人為上限。Microsoft Teams 則可支援 1,000 人上線互動,且在僅供檢視(view-only)模式下,能容納最多 10,000 名與會者,非常適合線上大型聚會活動。

Photo Credit:Microsoft/Microsoft Teams 可支援多人大型聚會,在僅供檢視模式下可萬人與會
  • PowerPoint Live 簡報演示

Microsoft Teams 還有強大的簡報功能「PowerPoint Live」,可幫助簡報者在同一個會議視窗中,直接看到備忘錄、筆記註解、下一頁簡報、出席者影像、以及會議聊天室內容,在使用者展演簡報的同時,也完美場控。

Photo Credit:Microsoft/簡報者可以在一個頁面檢視簡報、下頁簡報、備忘筆記,以及與會者影像

註冊報名、開會平台都包辦!Microsoft Teams 的一站式解決方案

這裡細談一下 Microsoft Teams 作為一站式生產力溝通平台的特色。通常活動要臨時改為線上舉行時,許多人可能會利用線上表單或是網路售票平台,提供與會者註冊報名,然後另外再導流到其他 Webinar 平台,使得報名與活動頁本身可能不一致,主辦單位還要奔波於各種平台處理、統整報名人數等。

而 Microsoft Teams 的網路研討會功能的強大之處,就在於從註冊報名的頁面開始,就已經整合進虛擬活動的舉辦流程中,主辦者可以輕鬆設定註冊頁面、整合報名資訊,後續的網路研討會、會後追蹤等,都可以在熟悉的 Micorsoft Teams 介面完成。

用 Microsoft Teams 辦線上活動的三大適用場景

使用 Microsoft Teams,讓舉辦線上虛擬活動變簡單了。無論是對外的大型研討會,或是企業內部的小組會議,都可以藉由一站式平台控管參與人數、舉行活動、留存活動紀錄。且無論是 IT 技術、人資、行銷活動單位,都可以在 Microsoft Teams 同站搞定線上活動需求。Microsoft Teams 三種主要會議功能適用情境為:

  • 一般會議、遠距教學

常態的企業例行會議,像是教育訓練、董事會、小組會議等,都可以利用 Microsoft Teams 舉行,若會議中需要分組討論時,也提供虛擬分組討論室的功能。遠距教學也適用,教師可以利用簡報或是白板功能進行手寫的教學,也可以看到上課學生的即時影像,並點名學生回答問題並透過虛擬白板即時互動。

  • 網路研討會

企業法人說明會、媒體記者會、行銷活動等需要舉辦對外的活動,也可以利用 Microsoft Teams 作為一站式活動平台,完成報名註冊、管控參與人員、線上即時互動、會後追蹤等工作。

  • 大型線上活動

員工大會、尾牙、緊急公告,或學校畢業典禮等這類單向傳訊活動,也適用 Microsoft Teams。可容納 1,000 人線上即時互動、最多 10,000 人觀看會議的超寬限制,大型群聚無感染風險,方便又安全。

Photo Credit:Microsoft/教育工作者也可以善用 Microsoft Teams 進行遠距教學

既然實體活動停辦,不妨趁此機會了解更多關於線上會議、活動的操作方法,並避免線下群聚感染。利用 Microsoft Teams 創造凝聚的力量,透過科技讓生產力得以持續和延伸,讓人們的創意與智慧得以匯聚融合,相信我們很快就能度過疫情難關,並善用科技創造更多美好的事物。

網路研討會快速上手,立即下載 Microsoft Teams 使用手冊