Snap!

以JavaScript編寫的圖形化程式語言

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

Snap!语言
编程范型面向对象编程, 事件驱动编程
設計者布萊恩·哈維Jens Mönig
實作者Jens Mönig
发行时间2011年
当前版本
  • 10.1.8(2024年10月22日;穩定版本)[1]
編輯維基數據鏈接
型態系統动态类型
實作語言JavaScript
許可證AGPL
文件扩展名.xml
網站snap.berkeley.edu/ byob.berkeley.edu/
啟發語言
Scratch语言

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

历史

编辑

Snap! 4.0和前身BYOB页面存档备份,存于互联网档案馆)由来自加州伯克利大学的Jens Mönig开发,可以运行在WindowsMac OS XLinux系统[3][4]布莱恩·哈维提供创意和文档[5][6][7] 。加州伯克利大学在面向非计算机专业学生的名为“计算的美和乐趣”的课程上使用Snap!。[8]

运行平台

编辑

Snap! 4.0 可运行在Apple iOSMac OS XWindowsLinux 上,用Javascript编写,使用HTML5 Canvas API令其具有良好的跨平台性。

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

用户界面

编辑
 
Snap 4.0 开发环境

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

特性

编辑

区别于Scratch的最重要的特性为:

  • 高阶函数,数学上称为"Λ演算"
  • 嵌套列表,例如列表的列表
  • 角色嵌套
  • Snap!代码可转换为其他主流程序语言,如Python, JavaScript和C等.

参考

编辑
  1. ^ Release 10.1.8. 2024年10月22日 [2024年10月27日]. 
  2. ^ jmoenig/Snap. GitHub. [3 January 2022]. (原始内容存档于2022-04-21). 
  3. ^ Scratch - Imagine, Program, Share. scratch.mit.edu. [21 May 2017]. (原始内容存档于2014-02-18). 
  4. ^ Mönig's blog post announcing BYOB as bringing protypal inheritance to Scratch. [2015-03-27]. (原始内容存档于2013-12-06). 
  5. ^ HomePage for Brian Harvey (bh@cs.Berkeley.EDU). people.eecs.berkeley.edu/~bh/. [19 January 2019]. (原始内容存档于2019-04-03). 
  6. ^ Brian Harvey user contributions page. [2015-03-27]. (原始内容存档于2014-02-16). 
  7. ^ Brian Harvey's homepage. [2015-03-27]. (原始内容存档于2014-01-23). 
  8. ^ The Beauty and Joy of Computing course homepage. [2015-03-27]. (原始内容存档于2014-01-23). 

外部链接

编辑