在小孩子開始學習程式設計之前,相信很多人都會有疑惑:
- 什麼是程式?
- 什麼是程式語言?
- 什麼是程式設計?
- 什麼是程式碼?
所以這篇想要來簡單說明一下,但要能說明什麼是程式,需要讓我們先從什麼是程式語言說起。
什麼是程式語言?
我們在上學之前會學習中文,學習中文的目的是要跟說中文的人溝通、可以讀懂用中文寫的文字;同樣的,在學校裡越來越多孩子已經開始學習英文,學英文的目的,不是為了考試、交作業,而是為了跟說英文的人溝通、讀懂用英文寫的文字。除了中文、英文之外,很多人還會學習台語、日語、客家語等等語言。
程式語言同樣是一種語言,它的目的是為了跟電腦溝通。
電腦只能看得懂程式語言,當我們需要請電腦幫忙做事情的時候,就只能透過程式語言來表達所有的細節,電腦才能夠理解到它該做什麼。
就和跟人類溝通的語言有非常多種一樣(中文、英文、日文等等),跟電腦溝通的程式語言也有非常多種,有的學習起來很簡單、有的很困難;有的程式語言很新、有的已經用了非常久;我們常常也會根據要讓電腦做什麼事情,來選用某一種特定的程式語言來表達。
目前很多讀小學的孩子會接觸到,比較親切而且非常有趣的程式語言有:ScratchJr 和 Scratch,都是程式語言的一種!
什麼是程式?
了解程式語言是什麼之後,我們就能來說明什麼是程式。
前面提到過,當我們想要電腦幫忙做事情,就需要用程式語言來表達、和電腦溝通。
用程式語言寫出來的每一個小要求,就是「指令」,把所有指令們按照先後順序放在一起,去完成一個特定目標,這最後擁有整組指令的作品,就叫做「程式」。
如果用車子來比喻,指令就是車子的零件,而完整的程式就是整台車了。
要注意的是:程式是為了要去完成一個特定的目標而產生的作品,而中間的許多細節,都是一個又一個的指令。
舉例來說,如果要寫一個包水餃的程式,那麼中間的過程,像是擀皮、加入餡料、將皮包好這些就是指令。而用程式語言來寫程式時,不論成果是遊戲、故事、動畫、還是小工具,也不論大小,每一個作品都會是一個程式。
什麼是程式設計?
知道什麼是程式之後,那什麼是程式設計呢?其實寫出程式的過程就是程式設計的一部份了。
而完整程式設計的流程,不只有寫出程式碼的時候,從拿到目標並分析開始,還有動手寫程式之前的思考、模擬、嘗試等,以及寫程式時的測試、除錯與後續維護、產生說明文件等,都是完整程式設計流程的一部份。

也就是說,程式設計的流程包含了這五大部分:
- 分析並定義問題
- 設計解法/演算法
- 撰寫程式
- 測試
- 維護
之後會再跟大家說明這五個部分分別是在做些什麼。
什麼是程式碼?
程式碼其實就是構成程式的內容,不論是文字、圖像、符號等等。
文字式的程式語言
如果是文字式的程式語言,如Python、C++等,用英文寫出的那些文字就是程式碼。

圖像式的程式語言
如果是圖像式的程式語言,如Scratch、ScratchJr等,那些積木就是它的程式碼,舉例來說,像是這篇文章裡面就可以看到 Scratch 程式中,積木的程式碼:
當 Scratch 碰上 Wordle!國小英文單字練習遊戲 2.0 版本,支援選擇4、5、6個字母

什麼是【不寫程式的程式課】?
如果有這個疑問可以看看這一篇:【不寫程式的程式課】是什麼?