今天我們為大家分享自學programming怎樣做?我是David朱,我這篇文章將會為大家分享自己10年來在自學programming的心法和方法。
PS:你趕時間的話,也可以只看我的標題及重點字眼,我會用粗體和斜體去標明。
有什麼關於自學Programming方面的問題,你可以在下面留言區留言問我!*
在2017年香港施政報告指出就正草擬把Programming 加入中學或小學階段,而這個時代Programming不能不學的一科了。
然而,有很多人初接觸編程時,都會有以下的問題:
- Program編程是怎樣學會?
- 看到一整版的Prorgam都不知道什麼意思?
- 學習Programming都很姑燥乏味...
- 學習Programming應該從哪一種語言開始?
- 網上資訊太多了,哪裡學習編程更好?
2017年香港施政報告指教育局正草擬「計算思維-編程教育」的補充文件,供學校採用。英國、芬蘭、意大利及澳洲已經於中學或小學階段加入programming課程!
我將會在下面分別從心態和方法上去講解,如何自學Programming。
我先具分自學Programing 的兩類朋友:
- 一類是單純想玩玩自己編程的朋友,可以從Programming方法開始看;
- 另一類是想投身Programming行業的朋友,就建議從Programming心法去入手了;
Table of Contents
一. 自學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名字不同,而這些可以各自的編程語言PHP和JavasScript官方網站查找到Function功能。
心法2. Programing是要在實踐中學習 - 這樣才會學得快學得穩
回憶10年之前,一聽到張博士的提議,回家的晚上就興奮不已,翌日就跑去書局買了一本PHP的書籍,當時候是暑假期間,不用上課的時間,就是拿住那本厚厚的PHP書,不斷去看。但一開始看來看去,都不是有什麼感覺。
於是,自己就拿住書,抱住電腦,一步步的去試自己寫PHP,試得兩三次真的出到結果!一試就一個晚上,還記得自己通宵學習PHP的興奮。
因此,就像學英文一樣,Program 是要從練習實踐中應用,這樣才會學得快學得穩
越是怕用他,越學不到,反而學懂的是埋頭在Program編寫軟件去寫去試的人最快學懂! 我就是這樣用了一個暑期就把PHP基本上搞懂了,當然之後在工作上都有更多的深造和磨練吧!
心法3. 有明確目標Programming才會出有動力 - 先選擇投身Web/Mobile/Gaming領域
學習Programming的過程:
當時我先學會了PHP,之後就覺得要找一些東西或者事情,把它實現。所以我自己可以做到一個動態網站出來就好了,所以投身了Web Developement的領域。
之後就發現要做一個動態網站,需要的東西還不止PHP,因此之後找資料去學習 SQL、HTML、CSS、JavasScript等等,最終我就是這樣把自己第一個動態網站寫了出來!
學習 Programming 先為自己定一個領域一個目標,繼而把Programming變成一個手段把目標實現!這樣會更實在,更有動力!
心法4. 寫Program的樂趣是成功感 - 過程是會有辛苦,結果誕生得到成功感!
還記得當自己把第一個動態網站放上Web server時,把域名在瀏覽器上打出來,網頁出來的畫面(當然跟現在作品比較現在,真的多粗糙),但那一種成功感,我現在都記得!
用了兩個月的時間,寫Program 是一個過程,過程是會有辛苦,得到結果時候得到成功感!
二. 自學Programming 方法
分享完心法心態之後,我也提供了一些自學Programming的一些方法給大家,方便大家去自己試試編程。
方法1. 觀看YouTube頻道
這裡我們集中了一些學習Programming的YouTube頻道,供中大家學習得效率:
1. MARStree
MARStree是由我建立的一個YouTube頻道,
裡面可以學習的包括:
- Amazon Web Service 亞馬遜雲端服務教學
- Linux Ubuntu教學
- 網上支付端口
- 其它都會陸續增加
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
2. Treehouse
這個平台是綜合各種Programming 技巧,裡面有視頻教學以及模擬練習。
主要學習Programming:
- Java
- PHP
- C++
- HTML
- Android
- Python
- Ruby
- Swift 等等
Treehouse
3. Udacity
這個平台是主要是教授Python Programming 技巧。
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"]
留言