Scratch
Scratch是麻省理工媒體實驗室終身幼稚園組开发的一套電腦程序開發平台,目前在在150多個國家/地區使用,並提供60多種語言版本。由Mitchel Resnick和Andrés Monroy-Hernández創立。
![]() | |
指令式,事件驅動 | |
設計者 | Mitchel Resnick、Andrés Monroy-Hernández |
實作者 | 麻省理工媒体实验室 終身幼稚園組 |
2006 | |
穩定版本 | 3.0(線上版)/3.9(離線版) (2019/12/2) |
型態系統 | 動態 |
實作語言 | Squeak(v1.4前) Actionscript(v2.0) HTML5 (v3.0) |
作業系統 | Mac OS X、Windows、Linux |
許可證 | 開放源碼GPLv2和封閉性軟件 |
文件扩展名 | .sb、.sprite(v1.4前) .sb2、.sprite2(v2.0) .sb3、.sprite3(v3.0) |
網站 | https://scratch.mit.edu/ |
主要實作產品 | |
Scratch | |
啟發語言 | |
Logo、Smalltalk、HyperCard、 StarLogo、AgentSheets、Etoys |
Scratch開發平台可安裝在Mac OS X、Windows、Linux的平台上;自2.0之后,换用ActionScript编制,Scratch已於2019年1月2日發布3.0正式版,換用HTML5編制。Scratch运行于浏览器。Scratch源碼完全开放(但小猫图案和Scratch名称受版权保护)。[1]
主旨
Scratch讓程式設計語言初學者不需先學習語言語法便能设计产品。开发者期望通过学习Scratch,启发和激励用户在愉快的環境下經由操作(如設計互動故事、多人遊戲)去學習程式設計、數學和計算知識,同時获得創造性的思考,邏輯編程,和協同工作的体验。
概覽
Scratch測試由麻省理工媒體實驗室終身幼稚園組於2006年發布[2]。
Scratch适用于8岁以上用户。即便用户从未學过程式設計,通过拖曳预先设定好的积木式程序模件,堆疊出指令,设置或控制角色及背景的行动和变化,从而完成程序撰寫[3][4]。
Scratch的1.x版本用Squeak编写,从2.0开始改为ActionScript,自3.0後使用HTML5。Scratch 可安裝其發行的應用程式進行離線編輯。其中,1.x及2.0版本需要flash插件,3.0则不需要使用。
界面与功能
Scratch開發平台的使用者界面分為四部分:程序模件列表,程序設計平台,预览窗口和角色列表。
在1.4版本中,程序模件列表將其分為8類:動作、外觀、聲音、畫筆、控制、偵測、运算、變量。2.0版本中,有动作、外观、声音、画笔、变量、事件、控制、侦测、运算符和逻辑运算,更多模块。3.0版本中,有动作、外观、声音、事件、控制、侦测、运算符和变量、函式积木等,另外可以通过扩充功能增加更多模块。程序模件各有不同的顏色和形狀,以便识别。
Scratch利用「廣播」功能实现事件驱动,協調各個子程式的运行。Scratch能提前导入图片、音频素材,支持一维数组,以功能封装的方式简化了角色碰撞检测功能。Scratch不易出现导致程序完全无法运行的严重错误。
主要不足:Scratch没有针对本地文件的輸入/輸出功能,不支持多维数组和数组嵌套,自定义子程序不支持设置形式参数也不支持设置返回值,无法进行角色的局部碰撞检测,缺少并发控制,无面向对象特性,不方便进行逻辑条件的复杂组合,调试困难。
- 線上開發平台2.0英文版的屏幕截圖
- Scratch 3.0的使用界面
用戶社群
Scratch被學校、博物館 [5]、社區中心等用作教學和展示。例如,香港青年協會經常舉辦Scratch體驗活動,以推動學生發揮創意[6][7][8]。Scratch亦附設不同的語言界面,方便非英语用户使用。[9]此外,Scratch-TW页面存档备份,存于則蒐集了Scratch相關的線上資源页面存档备份,存于、介紹影片、創意程設思維教材页面存档备份,存于[10],並進行中文化,以便台灣使用者之使用與推廣。均一教育平台页面存档备份,存于也製作了一系列Scratch 3.0基礎課程页面存档备份,存于,免費開放令教師、家長與學生能線上自學Scratch。
線上社群
Scratch设立了一個線上社群,其口號為「想像·編程·分享」,分享和創意是Scratch最重要的理念[11]。
Scratch最终成品并非原始碼,而是所有角色的行為和結合。用戶可以將原始檔案上傳至線上社群以供分享。線上社群的成員可以自由下載該项目的原始碼,來研究該项目的結構[12][13]。除此之外,各成員可自由評論、標籤和「讚」不同的项目以及发表和分享意見。
線上社群中有不同類型的项目,範圍包括遊戲、動畫、簡報和聊天機器人。所有项目都以創用CC的特許方式發佈,也可透過Java applet或Flash Player播放。線上社群每月都有着一百萬點擊率,且擁有61,284,580名註冊成員(截至2020年11月)[14],以及超過六千三百萬份作品在線上社群上分享[15]。該線上社群隨後開設了不同網頁,如ScratchEd和ScratchJR等,以促進各使用者的交流。[16][17]
雲端平台
自Scratch 2.0版本起,Scratch團隊搭建了一个网站以供用户们在线上传项目,以及预览他人的项目。[18]
争议
2020年8月,有多间中国大陆媒体指Scratch被发现在注册账户时,将“香港”“澳门”“台湾”与“中国”并列划入“国家”一栏。在平台的开放论坛上有部分用户上传的反中華人民共和國言论,包括港独、台独、“借中美贸易摩擦抹黑中方”等言论。[21]目前,Scratch官网、论坛和wiki已被中国大陸防火长城屏蔽,在中国大陆无法正常访问,软件仅支持离线版本编程。[22][23]
另见
參考資料
- . [2020-06-22]. (原始内容存档于2020-06-26).
- 麻省理工大学; 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. . 麻省理工大学. [25 May 2007]. (原始内容存档于2012-06-26).
- . scratch.mit.edu. [2018-11-20]. (原始内容存档于2018-11-18).
- 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
- . [2018-11-20]. (原始内容存档于2013-04-03).
- 青年協會. . 2011-08-19 [2012-06-26]. (原始内容存档于2015-04-02) (中文(香港)).
- 青年協會. . 2010-05-26 [2012-06-26]. (原始内容存档于2015-04-02) (中文(香港)).
- 青年協會. . 2011-08-16 [2012-06-26]. (原始内容存档于2015-04-02) (中文(香港)).
- . scratch.mit.edu. [2020-05-02]. (原始内容存档于2011-02-22).
- Chung, Karen Brennan, Christan Balch, Michelle. . scratched.gse.harvard.edu. [2016-07-25]. (原始内容存档于2019-07-24).
- . [2017-08-10]. (原始内容存档于2011-02-22).
- 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)
- . [2012-06-26]. (原始内容存档于2012-10-12).
- . [2012年6月26日]. (原始内容存档于2012年4月22日).
- . [2017-11-12]. (原始内容存档于2013-05-29).
- . [2010-07-28]. (原始内容存档于2011-07-06).
- . scratched.media.mit.edu. [2018-11-20]. (原始内容存档于2014-01-22).
- . scratch.mit.edu. [2018-11-20]. (原始内容存档于2018-11-16).
- . wiki.scratch.mit.edu. [2018-11-20]. (原始内容存档于2011-09-02).
- . byob.berkeley.edu. [2018-11-20]. (原始内容存档于2010-08-23).
- 丁君朋. . 未来网 (中国少年先锋队). 2020-08-11 [2020-08-28]. (原始内容存档于2020-09-05) (中文(中国大陆)).
- 林伊人. . 中国网. 2020-08-21 [2020-08-23]. (原始内容存档于2020-08-22) (中文(中国大陆)).
- . zh.greatfire.org. GreatFire. [2021-01-23] (中文(简体)).