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 Asia 】數位轉型突圍!萬里雲推出機器人寫文案服務,以 AI 加速行銷流程

CloudMile 萬里雲旗下 Martech 產品── ADsvantage (廣告智庫)全新 2.0 功能上線,採用非營利人工智慧組織 —— OpenAI 強大的文章產成器 「 GPT 系列」為基礎,推出全新 AI 智慧寫手功能。
評論
Photo Credit:CloudMile
評論

 CloudMile  萬里雲旗下 Martech 產品── ADsvantage(廣告智庫)全新 2.0 功能上線,採用非營利人工智慧組織 —— OpenAI  強大的文章產成器「 GPT 系列」為基礎,推出全新 AI 智慧寫手功能。隨著行銷碎片化時代來臨,消費者的用戶輪廓越來越難拼湊,從獲取資料、數據分析,到廣告文案創作的最後一哩路,行銷人員必須借助更多工具幫忙,奪回行銷效益的掌握度。 ADsvantage 提供台灣中小企業行銷人員、廣告主及電商業者自助管理的廣告平台,大幅縮短廣告行銷人員作業時間。

 ADsvantage 推出新功能,受邀 2021 MarTech Asia 分享 AI 化數據行銷

日前全台最大的行銷科技盛會 2021 MarTech Asia ,阿物科技創辦人暨執行長林思吾號召 26 位業界領袖同台 ,現場及線上共有超過 1,800 位全球及台灣相關業者齊聚一堂,包括行銷科技之父 Scott Brinker、前 Verizon Media 國際事業董事總經理鄒開蓮、全聯實業副董事長謝健南等人,分享行銷科技的重要趨勢及後疫情時代的新生態。 CloudMile 萬里雲營運長高斌恒也受邀分享,各個科技巨頭都紛紛有許多針對隱私權的規範和措施,消費者的線上線下界線越來越模糊。 當今行銷人所面對的難題不只是 SEO、投放優化而已,「數據」才是致勝關鍵,透過將許多流程自動化,省下時間與人力成本的情況下,達到更高的行銷目標,其中包括 Cookieless 時代來臨、深化 OMO 無縫體驗、打造顧客數據平台( Customer Data Platform , CDP )等議題都受到業界高度關注。

豐富跨國實戰經驗的 CloudMile 機器學習團隊,運用超過 500 萬的文案數據庫、橫跨 20 種產業以上的廣告量,結合廣告代理商 20 年以上行銷經驗,創造 ADsvantage 「 AI 智慧寫手」 新功能。 CloudMile 看見客戶對於數位轉型及運用 MarTech 行銷科技推廣商品的急迫需求,希望可運用 AI 技術之力,縮短廣告前期企劃、發想關鍵字詞、寫文案和廣告投放設定,同時還需跨組溝通,尋找資源協助的時程, ADsvantage 廣告智庫即是專為滿足客戶後疫行銷需求的一站式廣告營運平台解決方案。

人工智慧寫手結合電商平台, 加速行銷流程的最佳 AI 助理

 ADsvantage 全新 2.0 功能上線,採用 GPT 模型,為矽谷時下最夯的自然語言處理模型,推出全新 AI 智慧寫手功能,透過平台能協助客戶透過數據匯流、 AI 分析達到預測的成效,快速蒐集最熱門的關鍵字、文案內容,加速創意的過程並提升廣告效率。

此全新產品適合應用在電商等大型網購平台上,透過機器學習與 AI 科技應用,讓中間產製時間被大幅被縮短,並提升操作數位行銷的「效率」與「精準度」,像是電商平台即可透過採用 ADsvantage 的服務,有效提升自己在數位行銷上的競爭力。

Photo Credit:CloudMile
ADsvantage 全新 2.0 功能上線,推出 AI 華語文案生成工具「AI 智慧寫手」。/Photo Credit:CloudMile

 ADsvantage 產品介紹

運用 AI 科技力助企業數位轉型的 CloudMile 萬里雲,發表關鍵字數位廣告輿情系統 ADsvantage(廣告智庫),提供企業廣告主及電商平台,透過超過百萬的文案創意庫( Ads  idea ) 、 AI 智慧監控工具及 AI 智慧寫手,平均只要 3 秒即可生成一個廣告文案。 CloudMile 透過 Google 雲端、機器學習與 AI 大數據分析技術,致力協助企業落實數位轉型。疫情期間抓住需求開發的 ADsvantage ( 廣告智庫) 服務,透過服務台灣、新加坡、及香港逾 400 家客戶的專業經驗,將傳統的商業廣告運營模式數據化,提供企業廣告主一站式 Google Ads 廣告文案創作 AI 化平台。

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