今天我們為大家分享自學programming怎樣做?我是David朱,我這篇文章將會為大家分享自己10年來在自學programming的心法和方法。

PS:你趕時間的話,也可以只看我的標題及重點字眼,我會用粗體斜體去標明。

有什麼關於自學Programming方面的問題,你可以在下面留言區留言問我!*

在2017年香港施政報告指出就正草擬把Programming 加入中學或小學階段,而這個時代Programming不能不學的一科了。

然而,有很多人初接觸編程時,都會有以下的問題:

  • Program編程是怎樣學會?
  • 看到一整版的Prorgam都不知道什麼意思?
  • 學習Programming都很姑燥乏味...
  • 學習Programming應該從哪一種語言開始?
  • 網上資訊太多了,哪裡學習編程更好?

2017年香港施政報告指教育局正草擬「計算思維-編程教育」的補充文件,供學校採用。英國、芬蘭、意大利及澳洲已經於中學或小學階段加入programming課程!

©引用 【施政報告.博評】學電腦Coding一定要上堂?自學又如何?, 香港01 01博評-政經社 ,吳俊熙

我將會在下面分別從心態和方法上去講解,如何自學Programming

我先具分自學Programing 的兩類朋友:

  • 一類是單純想玩玩自己編程的朋友,可以從Programming方法開始看;
  • 另一類是想投身Programming行業的朋友,就建議從Programming心法去入手了;

一. 自學Programming 要準備的心態

講起10年前,我大學也未畢業,當時候在澳門大學遇到張榮顯博士,他提議我學習PHP。就是這樣,我之後10年的光景都在Program 編程和現實生活中穿插互動了。輾轉間,學習和使用過以下一些編程語言:

以下我總結的是4個心法以及2個方法:

心法1. Programming - 把語法基礎和結構基礎學好,很多編程語言都是大同小異

大家需要明白到電腦的工作,就是用來運算。我們給它的是Input,它進行運算Compute,之後得出Output。我們Programer編程的工作,教會電腦去操作這個過程,就是那麼簡單的工作呢!

Program都是一種語言,而每個語言都有他基本的語法基礎和結構基礎,只要把語法基礎和結構基礎學好,很多編程語言都是大同小異。
例如下面的PHP跟JavaScript的對比為例:

PHP 例子

/**
 * 以下是PHP例子
 */
$a = 1;
if ($a == 1){
   echo 'Hello World!';
}else{
   echo 'Sorry! Program is not difficult';
}
//輸出結果:Hello World!

JavaScript例子

/**
 * 以下是JavaScript例子
 */
var a = 1;
if (a == 1){
   console.log( 'Hello World!');
}else{
   console.log( 'Sorry! Program is not difficult');
}
//輸出結果:Hello World!

他們基本是80%至90%相同,不同的地方只是兩者的用到Function名字不同,而這些可以各自的編程語言PHPJavasScript官方網站查找到Function功能。

心法2. Programing是要在實踐中學習 - 這樣才會學得快學得穩

回憶10年之前,一聽到張博士的提議,回家的晚上就興奮不已,翌日就跑去書局買了一本PHP的書籍,當時候是暑假期間,不用上課的時間,就是拿住那本厚厚的PHP書,不斷去看。但一開始看來看去,都不是有什麼感覺。

於是,自己就拿住書,抱住電腦,一步步的去試自己寫PHP,試得兩三次真的出到結果!一試就一個晚上,還記得自己通宵學習PHP的興奮。

因此,就像學英文一樣,Program 是要從練習實踐中應用,這樣才會學得快學得穩
越是怕用他,越學不到,反而學懂的是埋頭在Program編寫軟件去寫去試的人最快學懂! 我就是這樣用了一個暑期就把PHP基本上搞懂了,當然之後在工作上都有更多的深造和磨練吧!

心法3. 有明確目標Programming才會出有動力 - 先選擇投身Web/Mobile/Gaming領域

學習Programming的過程:

  1. 選一種你希望能作為未來職業的軟體開發領域;
  2. 選一種程式語言來學;
  3. 選一個線上平台/課程/書本來跟著學,文章下面會有推薦;
  4. 選編程工具及系統,例如Windows或是Linux

當時我先學會了PHP,之後就覺得要找一些東西或者事情,把它實現。所以我自己可以做到一個動態網站出來就好了,所以投身了Web Developement的領域。

之後就發現要做一個動態網站,需要的東西還不止PHP,因此之後找資料去學習 SQLHTMLCSSJavasScript等等,最終我就是這樣把自己第一個動態網站寫了出來!

學習 Programming 先為自己定一個領域一個目標,繼而把Programming變成一個手段把目標實現!這樣會更實在,更有動力!

心法4. 寫Program的樂趣是成功感 - 過程是會有辛苦,結果誕生得到成功感!

還記得當自己把第一個動態網站放上Web server時,把域名在瀏覽器上打出來,網頁出來的畫面(當然跟現在作品比較現在,真的多粗糙),但那一種成功感,我現在都記得!

用了兩個月的時間,寫Program 是一個過程,過程是會有辛苦,得到結果時候得到成功感!

二. 自學Programming 方法

分享完心法心態之後,我也提供了一些自學Programming的一些方法給大家,方便大家去自己試試編程。

方法1. 觀看YouTube頻道

這裡我們集中了一些學習Programming的YouTube頻道,供中大家學習得效率:

1. MARStree

MARStree是由我建立的一個YouTube頻道,
裡面可以學習的包括:

2. Derek Banas

在這頻道上,Derek 會解釋每個程式語言的概念。
裡面可以學習的包括:

  • Java
  • PHP
  • C++
  • HTML
  • Android
  • Python
  • Assembly language
  • Ruby

3. Learn code.academy

這個頻道適合網頁設計師或設計新手,擁有超過 111 影片及 193,000 支持用戶,你能找到一切與網頁發展有關的知識。

裡面可以學習的包括:

  • HTML
  • CSS
  • Deployment Strategies
  • Server Administration

方法2. 教學平台

我們也簡介一些學習Programming的平台給大家,

1. NodeSchool

這個平台是以 Node.js 打造跑在終端機上的開放原始碼教學為宗旨的。
主要學習JavaScript Programming為主題的平台:

NodeSchool

連結:"前往 NodeSchool 網站"

2. Treehouse

這個平台是綜合各種Programming 技巧,裡面有視頻教學以及模擬練習。
主要學習Programming:

  • Java
  • PHP
  • C++
  • HTML
  • Android
  • Python
  • Ruby
  • Swift 等等

Treehouse

連結:"前往 Treehouse 網站"

3. Udacity

這個平台是主要是教授Python Programming 技巧。

Udacity

連結:"前往 Udacity 網站"

三. Programming常用問題或工具一次搞懂

以下我們會總結一些常用問題或工具給大家,好讓大家更好的自學Programming

Q1: Programming常用編輯工具是什麼?

Ans: Visual Studio Code、Sublime,這兩個都有支持很多不同的Programming 語言,也有很多插件可以安裝

Q2: Programming常用操作系統是什麼?

Ans: 現在主流操作系統的是Windows、MacOSX、Linux。建議大家試用後面的兩個,因為他們都可以支持Open Source的軟件,同時間他們都是以Unix系統做基礎的,可以對你Programming Shell Script打一些基礎。

詳情可以看這個片段:Linux系統3大優點你要知!IT人必修課

Q3: 常用什麼軟件去管理自己寫好的Program?

Ans:我們一般會使用Github,他有代碼的版本管理功能,方便之後代碼上線時的更新操作,另外也可以幫你復回到之前的版本,避免一些不必要的錯誤

如果覺得文章有用記得分享。
你還有什麼問題問我?在留言區留言吧!
[mc4wp_form id="70"]