Snap!

Snap! 是一款用JavaScript编写的，在浏览器裡运行的图形化编程语言，旨在赋予学生创作交互式故事，动画，游戏等作品，学习数学和计算概念。Snap!由Scratch语言衍生，包含和扩展了Scratch的功能。

Snap! 不用在本地设备上安装任何部件，只需网络浏览器即可。

历史
Snap! 4.0和前身BYOB由来自加州伯克利大学的Jens Mönig开发，可以运行在Windows、Mac OS X或Linux系统；布莱恩·哈维提供创意和文档。 。加州伯克利大学在面向非计算机专业学生的名为“计算的美和乐趣”的课程上使用Snap!。

运行平台
Snap! 4.0 可运行在Apple iOS、Mac OS X、Windows和Linux 上，用Javascript编写，使用HTML5 Canvas API令其具有良好的跨平台性。

对比之下，Scratch 2.0用ActionScript编写，不能在苹果公司的iOS系统上运行。

用户界面

屏幕布局和Scratch2.0之前的版本一致。部件区域在左面，代码区域在中间，右上部是运行区域，右下部罗列动画人物缩微。

特性
区别于Scratch的最重要的特性为：
高阶函数，数学上称为"Λ演算"
嵌套列表，例如列表的列表
角色嵌套
Snap!代码可转换为其他主流程序语言，如Python, JavaScript和C等.

参考

外部链接 
 
 source code
 CNET Download.com and CNET TechTracker's BYOB for Mac download page
 CNET Download.com and CNET TechTracker's BYOB for Windows download page

視覺化程式設計語言
Smalltalk编程语言家族