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

Scratch

维基百科,自由的百科全书
(重定向自Scratch (程式語言)
跳转至: 导航搜索
Scratch
Scratch Logo.svg
Scratchcat.svg
编程范型 指令式事件驅動
設計者 Mitchel Resnick
實作者 麻省理工學院媒體實驗室 終身幼稚園組
发行时间 2006
最新发行时间 2.0 v448(2016年9月10日)
型態系統 動態
實作語言 Squeak(v1.4 前),Actionscript(v2.0 後)
作業系統 Mac OS XWindowsLinux
許可證 開放源碼GPLv2和封閉性軟件
常用文件扩展名 .sb , .sprite (1.x)
.sb2 , .sprite2 (2.x)
網站 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-TW則蒐集了Scratch相關的線上資源、介紹影片、創意程設思維教材[9],並進行中文化,以便台灣使用者之使用與推廣。

線上社群[编辑]

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

Scratch 最终成品并非原始碼,而是所有角色的行為和結合。用戶可以將原始檔案上傳至線上社群以供分享。線上社群的成員可以自由下載該项目的原始碼,來研究該项目的結構[11][12]。除此之外,各成員可自由評論、標籤和「讚」不同的项目以及发表和分享意見。

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

雲端平台[编辑]

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

衍生軟件[编辑]

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

參考資料[编辑]

  1. ^ Scratch source-code download page http://info.scratch.mit.edu
  2. ^ 麻省理工大学; Mitchel Resnick, John Maloney, Andres Monroy-Hernandez, Natalie Rusk, Evelyn Eastmond, Amon Millner, Jay Silver, Eric Rosenbaum, Karen Brennan, Amos Blanton, Brian Silverman, Paula Bonta, Yasmin Kafai, Kylie Peppler. Scratch: imagine, program, share. 麻省理工大学. [25 May 2007]. 
  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. ^ Chung, Karen Brennan, Christan Balch, Michelle. Creative Computing. scratched.gse.harvard.edu. [2016-07-25]. 
  10. ^ Monroy-Hernández, A. and Resnick, M. (2008). Empowering kids to create and share programmable media. ACM interactions 15, 2 (March 2008), 50-53
  11. ^ 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)
  12. ^ 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)
  13. ^ http://www.quantcast.com/scratch.mit.edu
  14. ^ Scratch usage statistics
  15. ^ http://www.aec.at/prix_history_en.php?year=2008
  16. ^ http://scratched.media.mit.edu
  17. ^ http://scratch.mit.edu/help/faq/#clouddata
  18. ^ http://wiki.scratch.mit.edu
  19. ^ BYOB homepage http://byob.berkeley.edu