iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
1
自我挑戰組

原來電腦可以這樣用!? 果蠅也懂的程式語言教學系列 第 1

Day1-程式是甚麼東西啦!

大家好,我是 oxygen,目前在醫藥衛生學群的學校當個大學生,接觸程式語言約 7 年,雖然不能完成像 Google Search 一樣偉大的系統,但卻時常透過程式語言解決生活中惱人的小問題,我希望在這 30 天裡能和大家分享程式語言如何應用在生活中,解決生活的不便利,讓大家都能把電腦當成我們最好的廉價勞工(?

雖然主題說果蠅也能懂有點太過頭了啦哈哈哈,但果蠅不懂不重要阿,你懂就好啦!

程式、軟體、裡面到底是啥?

2019年了,大家一定都用過電腦和手機吧! 如果沒用過你怎麼看的到這篇文章呢XD 你們知道嗎? 其實電腦就是計算機喔! 而我們平常用來計算的計算機比較正確來說叫電算器,在英文裡,電腦(computer)即是由計算(compute)演變而成的,而電算器則是 calculator,差很多吧。

為什麼我要說這個呢? 因為其實電腦的最底層,就是每秒大約以2的30次方的頻率高速的計算,不論是遊戲、影片撥放器、瀏覽器、文書處理軟體,背後都是很基礎的加法運算。但是,誰能透過純粹操作這些計算來完成一個 chrome browser 呢? 他要是做得出來我還不敢直視呢,那根本是神吧~ 所以程式語言誕生了,程式語言只是我們和電腦溝通的一種方式,你用人類能懂的語法,轉換成電腦能懂得計算流程,電腦就可以幫助人們達成許多繁雜的任務。

很久很久以前,程式碼長這樣,我們稱它機器語言

0001 0001 000000010000

這段程式的意思,是把 16 這個數值存到 B 空間裡,啥? 如果不懂沒關係,這種只有0和1的程式碼寫起來太痛苦,不只你,幾乎沒人能懂,於是有人把這些數字組合用人比較能看得懂的單詞取代,作為幫助記憶的助記碼,我們稱為組合語言。

STORE B 16

這段程式碼的意義和第一段是完全相同的,我們可以知道他跟儲存、B、16有關,或許不懂怎麼運作,但總是比較有頭緒,然而這樣還是不好懂,如果要寫一個複雜的程式,這樣依然會把人搞瘋,人總會為了輕鬆而進步,1972年,貝爾實驗室誕生了一個到今日依然知名的程式語言 -- C語言,他不是第一個跳脫組合語言的程式語言,卻是最廣為人知中階語言。

int B = 16;

這樣看得懂了嗎? int 是整數(integer)的英文縮寫,這也和上面的程式碼等義,將 16 存到 B。直到今天,程式碼又更精簡了。

B = 16

就這樣,和你小二數學考卷上寫的算式一樣,我們就達成任務了,讓 B 存入 16,B 就等於 16,

別忘了,他們做的事是一樣的,電腦在底層都是不停的在計算,可是感覺多了一座人與電腦溝通的橋樑,這就是程式語言的意義,他被稱為"語言",是因為他可以拿來溝通,和電腦溝通,電腦處理完後再轉回人類看得懂的文字輸出,完成合作。

跟電腦合作有非常好的優點,速度快,而且他不會跟你要求加薪,也不會喊累。軟體是由許多程式組合而成,程式又會被轉換成電腦理解的運算模式,因此軟體可以說是經過多次包裝過後的機器碼,被包裝到大家都能方便輕易地使用。

那麼,我們就先介紹一下接下來要做什麼,從明天開始就來學習應用程式設計吧

30天,我們要來幹嘛?

天數 主題
1 程式是甚麼東西啦
2 Python 環境與 IDE 安裝
3 無趣的計算,給電腦做吧!
4 親和數? 用自己找超累的耶
5 上萬筆資料我該怎麼辦?
6 來寫個簡單遊戲吧(1A2B game)
7 相同程式碼不想重寫,初識函式
8 變數用量太大,名字不知道怎麼取啦,認識陣列
9 了解不同的儲存模式--資料型態
10 第三方套件入門 pip 與 requests
11 可以從檔案匯入資料嗎? 可以!檔案I/O操作
12 網路爬蟲實作I 解析 html 檔案
13 網路爬蟲實作II selenium 模擬瀏覽器
14 網路爬蟲實作III 基礎正規表達式操作
15 資料圖形化 Matplotlib 入門
16 Python Web 服務初體驗I -- Flask 框架
17 Python Web 服務初體驗II -- Flask 框架
18 Python Line 整合應用 -- Line Notify
19 讓電腦定時幫你工作!Python & Crontab
20 Python Line 整合應用2 -- Line 對話機器人
21 Python Line 整合應用2 -- Line 對話機器人之二
22 Python Line 整合應用2 -- Line 對話機器人之三
23 用程式來修圖吧~ PIL套件簡介
24 用程式來修圖吧~ PIL套件應用
25 聽過 OCR 嗎? 實作看看吧 -- OpenCV
26 命令列很難用?!來開發使用者圖形介面 Python GUI
27 Python Tk 函式庫簡介
28 Python Tk 函式庫開發
29 Python 其他 GUI 開發工具
30 輪到你了!來思考一個 Python 專案

主要的方向大概就是這樣,我會盡可能照著這個流程進行,不要偏離太遠XD 那我們明天見囉~


下一篇
Day2-嗨 Python! 環境準備
系列文
原來電腦可以這樣用!? 果蠅也懂的程式語言教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言