Diálogo 是什么?
这是一个面向 10 岁以上孩子的编程环境(更小的孩子可在大人陪同下使用)。在 Diálogo 里,程序是用孩子自己画的符号搭起来的。这门语言建立在符号之间的两种关系之上,替换和归类,再加上十来个组合子(推、拉、传送、碰撞、通配符、求值查看器)。靠自己的画和这些预设的可视化符号,孩子就能做出游戏、模拟,以及抽象的符号模型,比如从零开始构造数字和加法。
规则和游戏放在同一块板上。角色可以把一条规则推开,在程序运行时改变它,于是元编程变成孩子看得见、摸得着的东西。逐步执行查看器会显示每一步应用了哪条规则,同时也是调试器。
🎮 给孩子:
- 用你自己的画来做游戏
- 把几个可视化符号组合起来,给角色加上行为
- 一步一步地看清楚,游戏为什么会这样运行
- 做出在游玩过程中改写自身规则的游戏
🏫 给教师和研究者:
- 从第一节课就是声明式的,没有语法,也不需要先学命令式编程
- 在配置一般的电脑上离线运行,不需要账号和服务器;项目保存在本机
- 界面支持十种语言;再加一种只需翻译一个文本文件
- 七个活动的序列以视频形式讲给孩子听,这套工具因此很容易采用
🌀 从画画到游戏。做完前几个项目之后,只要几分钟。
第 1 步
🎯 边玩边入门
25 个小活动,每个让你认识环境里的一样东西。在浏览器里玩,不用安装,也不用注册账号。
第 2 步
⬇️ 下载 Diálogo
请选择你的操作系统:
ZIP 版可在 Linux 上运行,也可以作为安装包之外的选择用于 Windows 和 Mac。
安装遇到问题?这里有一个讲解视频
如何在 Windows、Mac 或 Linux 上安装 Diálogo。视频为西班牙语。
也可以试试在线版:完整的 Diálogo 直接在浏览器里运行,不用安装,还能保存文件,但速度较慢,首次使用要下载约 30 MB。要真正使用,安装版好得多;只是想看看它是什么,边玩边入门更快。
Diálogo 仍在持续开发中。欢迎把问题报告和课堂上的故事寄到 agustin@dialog.ar。
第 3 步
🎓 七个活动组成的序列
每个活动通过一个可玩的作品引入一种抽象机制。项目 1 到 5 做游戏;项目 6、7 转向抽象的符号模型。项目 1 到 3 自成一个完整的入门,项目 2 就能做出可玩的游戏。
这些活动是直接讲给孩子听的视频。目前视频为西班牙语。
♟️ 项目 1:国际象棋
归类,第一种抽象机制。先做出棋盘和能互相吃子的棋子,再把一条条针对具体情况的规则换成针对类别的规则。
🐍 项目 2:贪吃蛇
替换,第二种机制。会变长的蛇、去掉重复的代码,以及作为调试器的执行查看器。
👻 项目 3:从吃豆人到科考潜水艇
一个让所有组合子都派上用场的经典游戏,然后换一身皮,搬到新的场景里。规则很简单,结果出人意料。
🧠 项目 4:元编程谜题
当程序修改自己时会发生什么?一个迷宫,它的规则可以在游玩时被推走、被拉回。
🚀 项目 5:太空飞船
游戏开发里的想法:由事件驱动的规则、隐藏的物体、碰撞和时间控制,全都汇合到一个射击游戏里。
🔢 项目 6:我的计算器
递归与抽象的符号操作。从零开始构造数字和加法,没有游戏,也没有角色。开头很简单,越往后越难,是七个项目里最费力的一个。
🏁 项目 7:计分与复用
模块化与复用。给之前做的游戏加上计分系统,完全不用变量。
🔬 给教师和研究者
介绍过这个项目的部分论文和学术报告:
-
Programming with Drawings: A Declarative Visual Environment and Its Classroom Evolution
Agustín R. Martínez. SIGCSE Technical Symposium 2027, Sacramento, California, 2027 年 2 月。已录用,即将发表。
环境的设计、它在一次面授工作坊和一门在线课程中的演变,以及由七个活动组成的序列。
-
A Language Based on Two Relations between Symbols
Agustín R. Martínez. Onward! 2022 (SPLASH), Auckland. ACM. doi:10.1145/3563835.3567660
概念基础:替换与归类,作为构造这门语言的两种关系。
-
Teaching Kids to Hack Their Own Games: Metaprogramming, Debugging, and Creativity from Age 7
演讲, Smalltalks 2025, Buenos Aires. 观看视频
想在课堂或研究中使用 Diálogo、翻译这套活动序列,或者用它开展研究吗?请写信到 agustin@dc.uba.ar。
Agustín Rafael Martínez,布宜诺斯艾利斯大学精确与自然科学学院计算机系。
🎤 Nerdearla 上的舞台演出
两场用 Diálogo 做的完整舞台演出,面向普通观众。西班牙语,带字幕。