Snap!:让编程学习从低门槛到无上限
Λ Snap – An inviting programming language for kids and adults for CS study

Snap! 是由 UC Berkeley 和 SAP 共同推出的可视化编程平台,专为儿童和成人设计,既适合初学者入门,也支持深入的计算机科学探索。它通过积木式编程降低学习门槛,同时提供构建自定义模块的能力,让创意无限延伸。从动画制作到物理模拟,从游戏开发到人工智能实验,Snap! 汇聚了全球用户的丰富项目,涵盖教育、科研与娱乐多个领域。无论是学生、教师还是技术爱好者,都能在这里找到灵感,动手创造属于自己的数字世界。
Snap! 是一个对儿童和成人都极具吸引力的编程语言,同时也是严肃研究计算机科学的平台。
HN 评论区
62- aspizu
Scratch 是我最初学习编程的工具。当时我在里面构建着越来越宏大的项目,但到了某个阶段,编辑器本身反而成了我最大的对手。一旦项目规模达到约 10,000 个积木块,操作就会变得异常卡顿,我不得不花大量时间去绕开 Scratch 的各种限制。
这也最终促使我开发了 goboscript:https://github.com/aspizu/goboscript
我是那些职业生涯归功于 Scratch 的程序员之一,今年我加入了 https://ente.com 担任软件工程师。Scratch 教会了我如何写代码,或许也在间接层面上让我学到了一些现实世界的工程经验。
- sinuhe69
Snap 的设计目标是比 Scratch 更具表现力和功能更强大。但我发现调试它们非常痛苦。例如,更改变量或积木块的名称,可能会在调用处产生“空洞”,而系统有时能报错,有时却只能静默失败。在我看来,Snap 更不稳定,团队似乎更热衷于添加新功能,而不是打磨现有功能或让系统更健壮、更稳定。
- Dwedit
任何你无法直接输入的名字都会是个问题。
- andrewla
我并不喜欢这类图形化编程环境,比如 Snap 和 Scratch,我也说不清具体为什么觉得它们如此缺乏吸引力。
很大一部分原因是,你确实能在一定程度上从中学习编程,但你绝对无法从中学习软件工程。
- stymaar
对于那些好奇它与 Scratch 有何区别的人,关于页面里有说明:
> 关于 Snap!
> Snap!(前身为 BYOB)是一种可视化的拖拽式编程语言。它是 Scratch(MIT 媒体实验室终身幼儿园小组的项目)的扩展重制版,允许你“构建自己的积木块”。它还支持一等列表、一等过程以及一等延续。这些新增功能使其非常适合为高中生或大学生提供严肃的计算机科学入门教育。