Scratch、Blockly、MakeCode:它们到底有什么区别?

三者都是图形化编程。Scratch 面向屏幕上的故事,MakeCode 面向实体主板,Blockly 则是别的编辑器赖以搭建的引擎。按目标来选。
Scratch、Blockly 和 MakeCode 都是图形化编程工具:孩子把拼图一样的积木拖到一起,而不是一行行敲字。区别在于它们各自是为什么而生的。Scratch 面向屏幕上的故事和游戏,MakeCode 面向实体主板和传感器,而 Blockly 是许多其他积木编辑器赖以搭建的引擎。只要弄清各自瞄准什么,选择就变得简单了。
Scratch:为故事、游戏和动画而生
出自 MIT 的 Scratch 是大多数孩子的起点。积木控制的是舞台上的角色,孩子可以让人物移动、播放声音或者记分。在表象之下,它教的是所有语言共通的那些真东西:循环、事件、变量和条件判断。它在浏览器里运行,不用买什么,也不用装什么。
作为编程的第一口,大致 8 到 12 岁这个区间,Scratch 很难被超越。代价是 Scratch 只活在屏幕里。它不会驱动电机,也读不了温度传感器,所以如果目标是机器人,它并不合适。
Blockly:是引擎,不是应用
Blockly 是谷歌的一个库,用来搭建积木式编辑器。它本身并不是一个能让孩子坐下来就用的产品,而是开发者用来做出这类产品的工具箱。你见到的许多积木界面——包括大量硬件工具和课堂工具——底层都是 Blockly。
这对家长有什么意义?因为知道某个工具“用了 Blockly”,只说明了它的外观和操作手感(你要拖积木),却没说明它的用途。两个基于 Blockly 的工具可以做完全不同的事,一个做动画,另一个控制机械臂。判断一个工具,要看它瞄准什么,而不是看它跑在什么引擎上。
MakeCode:能和硬件对话的积木
出自微软的 MakeCode 把积木和实体设备连了起来:带 LED、按键和传感器的小型单片机主板。你用积木搭好程序,再烧录到主板上,让它脱离电脑独立运行。多数情况下它还允许孩子在积木和文本之间来回切换,文本通常是 JavaScript 或 Python,这让它成为孩子成长过程中一座天然的桥。如果目标是机器人而不是动画,要看的就是这一类。
我们自己的sheenbot∞ 主板就属于这一类。你可以给它写积木程序,在碰硬件之前先用浏览器里的模拟器看它跑起来,在流量或设备紧张的时候很实用。可以试试积木画布,看看物理计算类的积木在虚拟主板上是怎么表现的。
按目标选,而不是按品牌选
品牌名远没有合不合适重要。三者教的核心概念是一样的,所以在 Scratch 里学会循环的孩子,在 MakeCode 里同样懂循环。让工具去匹配孩子真正想做的东西:
- 目标是故事、游戏或艺术:从 Scratch 开始。
- 目标是机器人、传感器或可穿戴设备:用 MakeCode 这类硬件编辑器,或者用sheenbot∞ 主板配套的图形化编程。
- 孩子准备好接触文本了:选一个能把积木与 JavaScript 或 Python 并排展示的工具。
- 预算紧张:先从屏幕上开始,模拟器不花钱,教的逻辑却是一样的。
- 不到 8 岁:先从更简单的图标式积木入手,再上完整的 Scratch。
结论
不必纠结哪个积木工具“最好”。让工具去匹配孩子想做的东西,也让他们随着目标变化在工具之间自由迁移。技能是通用的,没有哪一步是白走的。如果希望有人带着入门,我们的学院在开普敦开设图形化编程课,你也可以先约一节免费试听课,在做任何决定之前看看哪种方式适合自己的孩子。



