Scratch (程式語言)

维基百科,自由的百科全书
跳转至: 导航搜索
Scratch
Scratch Logo.svg
Scratchcat.svg
编程范型 物件導向教育事件驅動
发行时间 2006
設計者 Mitchel Resnick
實作者 麻省理工學院媒體實驗室 終身幼稚園組
最新发行时间 2.0 v429 / 2014年12月1日
型態系統 動態
主要實作產品 Scratch
啟發語言 LogoSmalltalkHyperCard
StarLogoAgentSheetsEtoys
Implementation language Squeak(~1.6),Flash(2.0~)
作業系統 Mac OSMac OS XWindowsUbuntuDebian
許可證 開放源碼封閉性軟件
常用文件扩展名 .sb , .sprite
.sb2 , .sprite2
網站 http://scratch.mit.edu/

Scratch是一套初階電腦程式開發平台,讓程式設計語言初學者能夠不需先學習正確語言語法便能造出成果。此軟件目的是促進青少年在愉快的環境下透過實驗(如設計互動故事。)去學習簡單程式設計數學計算知識,同時也得到創造性的思考系統推理,和協同工作的機會。

Scratch 開發平台能夠安裝在Mac OSMac OS XWindowsUbuntuDebian的平台上,而源碼則開放給非商業性質用途使用。[1]

概覽[编辑]

第一版 Scratch 由麻省理工學院媒體實驗室終身幼稚園組在2006年研發出來。[2]Scratch 讓程式開發員能夠不斷地以第一身建立和測試程式,因此小朋友也感覺到容易上手。

Scratch 的特色是其使用者介面。程式開發員能夠以拖曳預先設計完成的程式模件到每一個子程式來控制每一個角色或背景的行動和變化。由於小朋友大部分都未學會普通的程式語言,預先設計完成的程式模件讓他們只需拖放便能完成整個程式設計[3][4]

介面[编辑]

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

Scratch 開發平台的使用者介面分為四部分:程式模件列表,程式設計平台,預覽視窗和角色列表。

為了使到用戶能夠迅速找出所需的程式模件程式模件列表將其分為八類:動作外觀聲音畫筆控制偵測運算變數。不同類型的程式模件各有不同的顏色和形狀,以便識別。

為使到不同子程式能夠互相協作,Scratch 會利用「廣播」功能去協調各個子程式的執行情況。而 Scratch 並不支援檔案輸入/輸出功能,且只支援一元陣列。1.4 版已能夠有限地處理變量字符串的資料。總括而言,與 Adobe Flash 和其他多媒體編輯軟件相比,Scratch 還是有一段頗長的距離。

用戶社群[编辑]

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

線上社群[编辑]

Scratch 附設了一個線上社群,其口號為「想像・程式・分享」,標誌著分享和創意是 Scratch 最重要的哲理[9]

Scratch 最終專案並不是程式碼,而是所有角色的行為和結合。用戶可以將專案由開發平台上載至線上社群,分享至全世界每一個使用者。線上社群的成員可以自由地下載該專案的程式碼,來研究該專案的原理[10][11]除此之外,各成員還可以自由地評論標籤和「讚」不同的專案以及分享意見。

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

雲端平台[编辑]

Scratch 2.0 版本新設雲端平台,讓使用者在伺服器上存取和分享作品。[16]

衍生軟件[编辑]

很多 Scratch 的衍生軟件於 Scratch 的基礎上建立出來[17],他們加入了獨特的程式模件或改變了使用者介面[18],例如 Build Your Own BlocksAR Spot 等。[19]

參考資料[编辑]

  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. ^ http://wiki.scratch.mit.edu
  19. ^ BYOB homepage http://byob.berkeley.edu