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 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

科技賦能創新突圍——愛酷智能科技舉辦 MarTech Salon,為企業創造數據驅動新價值

自 2018 年成立以來,愛酷智能科技深耕 AI 與 MarTech 領域,在行銷科技應用上擁有專業並豐富的實務經驗。MarTech Salon 系列活動旨在創造一個行銷科技交流平台,透過各領域講師及產業先行者的分享,協助企業掌握 MarTech 新趨勢,在數位新浪潮中搶得先機。
評論
圖片來源:愛酷智能科技
評論

愛酷智能科技於 9/29 (三) 舉辦今年第一場 MarTech Salon「用聊天機器人,輕鬆培養忠誠用戶!」,吸引數百位參與者共襄盛舉,包含中小企業主、品牌行銷人、行銷代理商等經理人。活動分享最新 ChatBot 對話式商務趨勢、顧客數據整合技術、會員標籤應用,並解析 AI 與 MarTech 的策略性思維。

圖片來源:愛酷智能科技

行銷 5.0 時代,One ID 科技賦能

行銷 5.0 的時代注重「技術」與「人性」融合的全方位戰略,打造更完善的顧客體驗 (CX, Customer Experience),加上面對資訊的爆炸,企業的痛點在於多渠道破碎資料整合的困難。

透過 One ID 整合消費者與品牌的互動歷程,企業能夠將匿名資料,即網路上的任何瀏覽行為,納入行銷決策的參考依據。愛酷商務解決方案暨夥伴關係經理 Perry Wang 在分享中提到:「One ID 技術追蹤本我、自我、超我外的第四個我,也就是『匿名我』。」

Perry Wang 舉房仲產業應用做進一步解釋,房仲市場成交的關鍵,在於業務服務的精準度,仔細發掘顧客真正的需求,推薦適合的物件。然而,過往消費者經常心口不一,難以取得真正的需求,透過愛酷 One ID 追蹤技術,能將顧客在網頁瀏覽的物件類型、地段、價格數據一次收整,隨著預約賞屋的名單,派送到業務手中,洞察顧客的行為,進而做到房產智慧推薦,提升成交機會。

運用聊天機器人,打造多元運用情境

「對話式商務」之所以能成為現今極具潛力與商機的行銷模式,原因在於品牌透過通訊軟體主動出擊,能創造與消費者間更多元的接觸點及對話機會。愛酷顧客成功經理 Wayne Chen 在講座中分享使用聊天機器人的六大目的:「聰明運用 ChatBot,將能夠提升行銷溝通效率,滿足『會員募集』、『增加品牌知名度』、『協助客服』、『搜集顧客意見』、『推播再行銷』、『引導購物』。」

活動中,來賓針對聊天機器人服務也萌生許多問題,包含如何評估 ChatBot 需求、需做哪些前置準備等。Wayne Chen 建議企業首先應思考創建聊天機器人的目的,例如:提高來客率、會員系統服務建置、業務轉型等;接著分析企業想搜集的資訊、提供給顧客的服務、用科技解決的行銷問題,進而透過創意活動培養忠誠用戶。

會員精準貼標,創造有效互動

投資對話式商務工具、透過創意增粉操作與用戶互動後,分群分眾與需求深度挖掘則是企業下一步應掌握的重點。愛酷行銷經理 Eason Huang 說明:「透過標籤系統,能逐層剖析顧客的行為輪廓,提升溝通內容的精準性。」愛酷智能科技協助顧客從命名規則著手,將標籤分成靜態、動態類型,並加入標籤層級的關係架構,以達到在對的時間,與對的人,溝通對的內容。

Eason Huang 進一步建議,企業在運用標籤系統與用戶互動時,應至少都包含「完善用戶輪廓」、「探勘用戶興趣」、「引導用戶行為」其一目的,「提升營收」僅是結果。不論是透過靜動標籤調查用戶喜好、推進用戶成為會員或是為了下一次的活動佈局,企業都應制定明確的目標以創造真正有效的互動。

從數據整合技術、聊天機器人應用到標籤深度規劃,愛酷智能科技分享 MarTech 最新趨勢,也透過成功案例說明企業如何在疫情下逆勢成長,培養忠誠會員,並達到會員導流,帶動營業額提升。

未來,愛酷智能科技將持續舉辦 MarTech Salon 系列活動,協助企業掌握 AI 與 MarTech 最新趨勢與應用。歡迎追蹤以下渠道,掌握最新資訊:

本文章內容由「愛酷智能科技」提供,經關鍵評論網媒體集團廣編企劃編審。