简介
Snap!语言编程范型面向对象编程, 事件驱动编程设计者布莱恩·哈维和Jens Mönig实作者Jens Mönig发行时间2011年目前版本8.2.3 (2023年3月13日) 型态系统动态类型实作语言JavaScript许可证AGPL文件扩展名.xml网站snap.berkeley.edu/ byob.berkeley.edu/启发语言Scratch语言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系统上运行。
用户界面
Snap 4.0 开发环境
屏幕布局和Scratch2.0之前的版本一致。部件区域在左面,代码区域在中间,右上部是运行区域,右下部罗列动画人物缩微。
特性
区别于Scratch的最重要的特性为:
高阶函数,数学上称为”Λ演算”
嵌套列表,例如列表的列表
角色嵌套
Snap!代码可转换为其他主流程序语言,如Python, JavaScript和C等.
参考
^ Release 8.2.3. 2023年3月13日 .
^ jmoenig/Snap. GitHub. . (原始内容存档于2022-04-21).
^ Scratch – Imagine, Program, Share. scratch.mit.edu. . (原始内容存档于2014-02-18).
^ Mönig’s blog post announcing BYOB as bringing protypal inheritance to Scratch. . (原始内容存档于2013-12-06).
^ HomePage for Brian Harvey (bh@cs.Berkeley.EDU). people.eecs.berkeley.edu/~bh/. . (原始内容存档于2019-04-03).
^ Brian Harvey user contributions page. . (原始内容存档于2014-02-16).
^ Brian Harvey’s homepage. . (原始内容存档于2014-01-23).
^ The Beauty and Joy of Computing course homepage. . (原始内容存档于2014-01-23).