本页使用了标题或全文手工转换

Scratch语言

维基百科,自由的百科全书
(重定向自Scratch (程式語言)
跳转至: 导航搜索
Scratch
Scratch Logo.svg
Scratchcat.svg
编程范型 指令式事件驅動
設計者 Mitchel Resnick
實作者 麻省理工學院媒體實驗室 終身幼稚園組
发行时间 2006
最新发行时间 2.0 v437 / 2015年07月03日
型態系統 動態
Implementation language Squeak(~版本1.6), Actionscript(版本2.0~)
作業系統 Mac OS XWindowsLinux
許可證 開放源碼GPLv2和封閉性軟件
常用文件扩展名 .sb , .sprite
.sb2 , .sprite2
網站 http://scratch.mit.edu/

Scratch麻省理工大学媒体实验室終身幼稚園組开发的一套電腦程式開發平台,旨在讓程式設計語言初學者不需先學習語言語法便能设计创作产品。开发者期望通过学习Scratch,启发和激励用户在愉快的環境下透過實驗(如設計互動故事)去學習程式設計數學計算知識,同時获得創造性的思考系統推理,和協同工作的体验。

Scratch 開發平台可安裝在Mac OS XWindowsLinux的平台上;自2.0之后,换用Actionscript编制,Scratch运行于浏览器。Scratch源碼開放給非商業性質用途使用。[1]

概覽[编辑]

Scratch 由麻省理工大学媒體實驗室終身幼稚園組在2006年研發出來。[2]

Scratch适用于8岁以上用户。即便用户从未學过程序编程,通过拖曳预先设定好的乐高积木式图形化程序模件,表达程序指令,设置和控制每一個角色或背景的行动和变化,从而完成程序设计。[3][4]

Scratch的1.x版本用Squeak编写,可离线使用。从2.0开始改为ActionScript

界面[编辑]

Scratch 離線開發平台 1.4 英文版在 Mac OS X Snow Leopard屏幕截圖
Scratch 線上開發平台 2.0 英文版的屏幕截圖

Scratch 開發平台的使用者界面分為四部分:程序模件列表,程序設計平台,预览窗口和角色列表。

程序模件列表將其分為八類:動作外觀聲音畫筆控制偵測運算變量。程序模件各有不同的顏色和形狀,以便识别。

Scratch 利用「廣播」功能实现事件驱动,協調各個子程式的运行。Scratch 没有文件輸入/輸出功能,仅支持一维数组,不支持多维数组和数组嵌套。

用戶社群[编辑]

Scratch 被學校博物館 [5]社區中心等用作教學展示。例如,在香港青年協會經常舉辦 Scratch 體驗活動,以推動香港學生發揮創意。[6][7][8]Scratch 亦附設不同的語言檔,方便非英语用户使用。

線上社群[编辑]

Scratch 设立了一個線上社群,其口號為「想像・程式・分享」,分享和創意是 Scratch 最重要的理念[9]

Scratch 最终成品并非程序代码,而是所有角色的行為和結合。用戶可以將開發平台上传至線上社群以供分享。線上社群的成員可以自由地下載該项目的程序代码,來研究該项目的机理[10][11]除此之外,各成員可自由評論標籤和「讚」不同的项目以及发表和分享意見。

線上社群中有不同類型的项目,範圍包括遊戲動畫,以至簡報Chatbots。所有项目都以共享創意的特許方式發佈,也可透過 Java appletFlash Player 播放。線上社群每月都有着一百萬點擊率,且擁有接近7,000,000已登記成員(截至2015年6月)[12],以及超過九百六十萬份作品在線上社群上分享[13]。該線上社群隨後開設了不同網頁,如 ScratchEd 和 ScratchR 等,以促進各使用者的交流。[14][15]

雲端平台[编辑]

Scratch 2.0 版本设立了云服务,用户在远程服务器上存取和分享作品。[16]

衍生軟件[编辑]

从Scratch衍生出其他软件。[17],例如 Snap![18]

參考資料[编辑]

  1. ^ Scratch source-code download page http://info.scratch.mit.edu
  2. ^ Scratch: imagine, program, share. 麻省理工大学. [25 May 2007].  |coauthors= requires |author= (帮助)
  3. ^ Scratch website
  4. ^ Scratch: Programming for All. Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., Kafai, Y. (2009). Scratch: Programming for All. Communications of the ACM, November 2009
  5. ^ Scratch Day at Science Museum of Minnesota
  6. ^ 青年協會. Scratch創意體驗學習活動 ─ IVE Tsing Yi. 2011-08-19 [2012-06-26] (中文(香港)‎). 
  7. ^ 青年協會. Scratch Day Hong Kong 2010 – 記者現場報導. 2010-05-26 [2012-06-26] (中文(香港)‎). 
  8. ^ 青年協會. LEAD @ e-zone科技創意夏令營2011. 2011-08-16 [2012-06-26] (中文(香港)‎). 
  9. ^ Monroy-Hernández, A. and Resnick, M. (2008). Empowering kids to create and share programmable media. ACM interactions 15, 2 (March 2008), 50-53
  10. ^ Monroy-Hernández, A., Hill, B. M., González-Rivero, J., boyd, d. (2011) Computers Can't Give Credit: How Automatic Attribution Falls Short in an Online Remixing Community. In Proceedings of the 29th International Conference on Human Factors in Computing Systems (CHI '11)
  11. ^ Hill, B.M, Monroy-Hernández, A., Olson, K.R. (2010) Responses to remixing on a social media sharing website. In AAAI International Conference on Weblogs and Social Media (ICWSM '10)
  12. ^ http://www.quantcast.com/scratch.mit.edu
  13. ^ Scratch usage statistics
  14. ^ http://www.aec.at/prix_history_en.php?year=2008
  15. ^ http://scratched.media.mit.edu
  16. ^ http://scratch.mit.edu/help/faq/#clouddata
  17. ^ http://wiki.scratch.mit.edu
  18. ^ BYOB homepage http://byob.berkeley.edu