孩子在 Scratch 拖了一陣子積木,你可能開始好奇:那些五顏六色、卡在一起的方塊,跟大人口中「真正的程式碼」到底差在哪?講到下一步,繞不開一個問題——積木程式 vs 文字程式,這兩種寫法差在哪、為什麼學到後來要從積木「換」成文字?這一篇就把這件事單獨講透:積木好在哪、卡在哪,文字程式又補上了什麼,還有最關鍵的一點——從積木過渡到文字,孩子其實不用「重學」。
積木程式是什麼?圖形化程式的零門檻起點
先說積木程式。很多人也叫它圖形化程式——那圖形化程式是什麼?簡單講,就是把一條條指令做成一塊塊彩色方塊,孩子用滑鼠拖曳、像拼樂高一樣把它們卡在一起,程式就跑起來了。Scratch、Blockly 都是這一類。
它最大的好處是「零門檻」:指令都畫在方塊上,從選單裡挑就好,不會打錯字、也不會漏標點。卡榫的形狀還會告訴孩子哪塊能接哪塊,接錯就是卡不上去。這讓孩子可以把全部注意力放在「想邏輯」——先做什麼、再做什麼、什麼情況下換做別的——而不必分心去跟拼字、語法搏鬥。對剛起步的孩子來說,這是最好的起點,我們一點都不會小看它。
文字程式又長什麼樣?Roblox 用什麼程式語言
那文字程式呢?它不用方塊,而是直接用文字一行行把指令寫出來。Roblox 用什麼程式語言?答案是 Luau,它就是典型的文字程式——一段程式讀起來很像一句句簡短的英文短句,該做什麼、對誰做,全都寫在字面上。
同樣一句「碰到就觸發」,積木是拖一塊「當角色被碰到」;文字程式則寫成類似這樣的一行:
岩漿.Touched:Connect(function(碰到的人)
-- 讓碰到的人扣血
end)看起來是不是沒有想像中可怕?它其實就是把積木上那句話,改成用打字寫出來而已。想更完整認識這個語言長什麼樣、好不好學,可以讀〔Luau 是什麼、好不好學〕。
同一個功能,積木 vs 文字程式並排看
光用說的不夠,把兩種寫法並排看最清楚。就用課程第 5、6 堂〈第一塊岩漿〉與〈血量歸零與復活〉當例子——孩子要做一塊「碰到就扣血、歸零復活」的紅色岩漿:
- 積木版(Scratch 手感):拖一塊「當角色被碰到」,底下接「扣血」,再接「如果血歸零就回到起點」。三塊方塊疊起來,一看就懂。
- 文字版(課程第 5–6 堂 Luau):用 Touched 事件寫一行
岩漿.Touched:Connect(...),括號裡放「碰到之後要做什麼」。
看出來了嗎?兩邊講的是同一件事——「某件事發生時,執行某段動作」。積木用方塊表達,文字用打字表達,骨架一模一樣。差別只在:文字版能塞進更細的條件(碰到的是玩家還是道具?無敵狀態要不要跳過?扣多少血、要不要加音效?),能做的更精細,也更接近孩子未來真的會碰到的「真程式」。換句話說,積木把「怎麼做」畫成一塊塊給你選,文字則要你親手把它寫出來——一開始多花一點力氣,但換來的是更大的自由。

積木程式的天花板:為什麼要過渡到文字程式
既然積木這麼友善,為什麼還要換?因為積木有天花板。
第一,是複雜度上限。想做的東西一多,畫面就被幾百塊方塊塞爆,拉來拉去找一塊積木都眼花,改一個小地方要捲老半天。文字程式一行就是一行,搜尋、複製、整理都快得多,做大型作品才撐得住。
第二,也是最現實的一點:真實世界的軟體,沒有一個是用積木寫成的。你手機裡的 App、孩子在玩的遊戲、現在最紅的 AI,底層全是一行行文字碼。積木是很好的「訓練輪」,但腳踏車學會了,總要把輔助輪拆掉,騎上真正的路。從積木過渡到文字程式,就是拆輔助輪的那一步。這也是為什麼 Scratch 練熟之後,接 Roblox 這麼順——積木上練好的邏輯,可以直接接上真程式的世界。
從積木到文字,不是重學:四個概念全帶得過去
聽到「換成文字」,家長最怕的是「那不就等於從頭再學一次?」——不會。因為孩子在 Scratch 練的,從來不是「拖積木」這個動作,而是四個換到哪都用得到的核心概念,它們全部帶得過去:
- 事件(什麼時候發生):Scratch 的「當⋯被碰到」=課程第 5 堂的 Touched 事件。
- 迴圈(重複做):Scratch 的「重複 10 次」=第 3 堂〈五顏六色的跳台〉一次生成五個跳台的 for 迴圈。
- 條件(如果⋯就⋯):Scratch 的「如果」=第 39 堂〈鑰匙與上鎖〉的 if 判斷。
- 變數(記住一個數字):Scratch 的變數=第 20 堂〈Coins 計分板〉右上角那個會跳動的分數。
概念一個都沒變,只是換了長相。孩子不是打掉重練,而是把已經會的邏輯,用更成熟的方式再寫一次。這一步跨過去,他就從「會拖積木」變成「看得懂真程式碼」了。這也是很多家長沒料到的地方:真正花時間的是把邏輯想通,那部分孩子在積木階段早就練足了;換到文字,補的只是「怎麼把同一句話打出來」這層薄薄的皮而已。

Scratch 銜接 Python,還是先接 Roblox?
也有家長聽過另一條路:Scratch 銜接 Python。Python 確實是好語言,但它偏向算術、資料處理,畫面回饋來得慢,對「想做遊戲」的孩子來說,成就感沒那麼即時。對多數國小的孩子,我們會建議先走能「馬上看到角色動起來」的 Roblox/Luau,把寫文字程式的手感與信心養起來;有了底子,日後要接 Python 也水到渠成。這條「Scratch 銜接 Python 還是先接 Roblox」的路徑取捨,我們在〔Scratch 學完之後可以學什麼〕裡講得更完整。
AI 助教怎麼把「打字門檻」拆掉?
從積木過渡到文字程式,唯一真正的門檻,其實不是「概念」,而是打字和拼寫——尤其孩子的英文還不熟。這正是我們課程用 AI 助教拆掉的地方。
孩子不必先把語法背起來。他用中文把想法講清楚:「加一塊碰到會扣血的岩漿」,AI 助教把 Luau 寫出來,換孩子看結果、下判斷——扣太多還是太少?好不好玩?要不要改?再開口叫它調整。把想法講清楚、看懂結果、下判斷、動手改造,這一來一回,才是從積木過渡到文字程式最平順的方式:打字門檻被拆掉,孩子直接站上文字程式的世界,卻不用先卡在鍵盤前。
也因為這樣,孩子帶走的其實不只是「會寫 Luau」。做遊戲是最好玩的入口,孩子真正帶走的,是把腦中的想法指揮 AI 變成真實的能力——這個能力不綁在積木,也不綁在文字,面對未來更強的 AI,不管是 ChatGPT、Claude 還是還沒出現的工具,一樣是他的超能力。至於更進階的路,我們正在規劃,敬請期待。
比完了?看看 108 堂課實際教什麼
積木是很好的起點,文字程式則是把那些概念長成真作品的下一步。比完了?看看 108 堂課實際教什麼 → 看課程怎麼設計
108 堂、每堂含操作約 15 分鐘,12 個專案做出 4 款完整遊戲;每堂固定節奏是「小目標 → AI 施工 → 程式亮點 → 自己測試 → 換你了改造」,全線上、每天一堂的節奏就能跟上(適合小學二年級以上)。孩子在 Scratch 拖過的每一塊積木,在這裡都會接著長成看得懂、也能分享的真程式。
常見問題 FAQ
Q1:積木程式和文字程式,哪一個比較好? 不是誰取代誰,而是階段不同。積木(圖形化程式)零門檻,適合先把邏輯練起來;文字程式能做的更多、也更接近真實軟體,是自然的下一步。理想路線是先用積木建立概念,再平順過渡到文字,兩邊的價值都拿得到。
Q2:孩子從積木換成文字程式,要重學嗎? 不用。事件、迴圈、條件、變數這四個核心概念在兩邊完全共用,換的只是「表達方式」——從拖方塊變成打字。孩子是把已經會的邏輯再寫一次,不是打掉重練。
Q3:孩子英文和打字都不熟,學得了文字程式嗎? 可以。我們課程讓孩子用中文把想法講給 AI 助教聽,由 AI 助教把 Luau 寫出來,孩子負責判斷好不好玩、要不要改。打字和拼寫可以慢慢熟悉,重點先放在「想清楚自己要什麼」。
