Scratch - 维基百科,自由的百科全书

文章推薦指數: 80 %
投票人數:10人

Scratch是麻省理工媒體實驗室終身幼稚園組开发的一套高階的積木塊為基礎的視覺化程式設計語言開發平台,於150多個國家和地區公開,並提供60多種語言版本。

Scratch 编程语言学习环境 語言 監視 編輯 此條目的主題是程式語言。

關於木村KAELA的專輯《Scratch》,請見「憂傷塗鴉」。

Scratch是麻省理工媒體實驗室終身幼稚園組開發的一套高階的積木塊為基礎的視覺化程式設計語言開發平台,於150多個國家和地區公開,並提供60多種語言版本。

由MitchelResnick和AndrésMonroy-Hernández創立。

Scratch編程範型指令式,事件驅動設計者MitchelResnick、AndrésMonroy-Hernández實作者麻省理工媒體實驗室終身幼稚園組面市時間2006穩定版本3.0(線上版)/3.23.1(離線版)(2021/6/10) 型態系統動態實作語言Squeak(v1.4前)Actionscript(v2.0)HTML5(v3.0)作業系統MacOSX、Windows、Linux許可證開放原始碼GPLv2和封閉性軟體副檔名.sb、.sprite(v1.4前).sb2、.sprite2(v2.0).sb3、.sprite3(v3.0)網站scratch.mit.edu主要實作產品Scratch啟發語言Logo、Smalltalk、HyperCard、StarLogo、AgentSheets、EtoysScratch最初可安裝在MacOSX、Windows、Linux的平台上;2.0改使用ActionScript編制,3.0改使用HTML5編制,並可執行於瀏覽器。

Scratch原始碼完全開放,只有貓咪的象徵圖案和Scratch名稱受著作權保護[1]。

目次 1主旨 2概覽 2.1介面與功能 2.2用戶社群 2.2.1線上社群 2.2.2雲端平台 3衍生軟體 4爭議 5另見 6參考資料 7外部連結 主旨編輯 Scratch讓程式設計語言初學者不需先學習語言語法便能設計專案。

開發者期望通過學習製作Scratch,啟發和激勵使用者在愉快的環境下經由操作(如設計互動故事、多人遊戲)去學習程式設計、數學和計算知識,同時獲得創造性的思考,邏輯編程,和協同工作的體驗。

概覽編輯 Scratch測試由麻省理工媒體實驗室終身幼稚園組於2006年發布[2]。

Scratch適用於全年齡層使用者。

即便使用者從未學過程式設計,通過拖曳預先設定好的積木式程式模件,堆疊出指令,設定或控制角色及背景的行動和變化,從而完成程式撰寫[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沒有針對電腦檔案的輸入/輸出功能,不支援多維度表格序列的嵌入,自訂子程式不支援設定形式參數也不支援設定返回值,無法進行角色的局部碰撞檢測,缺少並行控制,不方便進行邏輯條件的複雜組合,除錯困難。

  Scratch離線開發平台1.4英文版在MacOSXSnowLeopard的螢幕截圖   線上開發平台2.0英文版的螢幕截圖   Scratch3.0的使用介面 使用者社群編輯 Scratch被學校、博物館[5]、社區中心等用作教學和展示。

例如,香港青年協會經常舉辦Scratch體驗活動,以推動學生發揮創意[6][7][8]。

Scratch亦附設不同的語言介面,方便非英語使用者使用。

[9]此外,Scratch-TW(頁面存檔備份,存於網際網路檔案館)則蒐集了Scratch相關的線上資源、介紹影片、創意程設思維教材(頁面存檔備份,存於網際網路檔案館)[10],並進行中文化,以便台灣使用者之使用與推廣。

均一教育平台(頁面存檔備份,存於網際網路檔案館)也製作了一系列Scratch3.0基礎課程(頁面存檔備份,存於網際網路檔案館),免費開放令教師、家長與學生能線上自學Scratch。

線上社群編輯 Scratch設立了一個線上社群,其口號為「想像·編程·分享」,分享和創意是Scratch最重要的理念[11]。

Scratch最終成品並非原始碼,而是所有角色的行為和結合。

使用者可以將原始檔案上傳至線上社群以供分享。

線上社群的成員可以自由下載該專案的原始碼,來研究該專案的結構[12][13]。

除此之外,各成員可自由評論、標籤和「讚」不同的專案以及發表和分享意見。

線上社群中有不同類型的專案,範圍包括遊戲、動畫、簡報和聊天機器人。

所有專案都以創用CC的特許方式發佈,也可透過Javaapplet或FlashPlayer播放。

線上社群每月都有著一百萬點擊率,且擁有74,734,356名註冊成員,以及超過八千二百二十六萬份作品在線上社群上分享(截至2021年8月6日)[14]。

該線上社群隨後開設了不同網頁,如ScratchEd和ScratchJR等,以促進各使用者的交流。

[15][16] 雲端平台編輯 自Scratch2.0版本起,Scratch團隊搭建了一個網站以供使用者們線上上傳專案,以及預覽他人的專案。

[17] 衍生軟體編輯 Scratch有衍生出其它軟體[18],例如Snap![19]。

爭議編輯 2020年8月,有多家中國大陸媒體指Scratch被發現在註冊帳戶時,將「香港」「澳門」「台灣」與「中國」並列劃入「國家」一欄。

在平台的開放論壇上有部分使用者上傳的反中共言論,包括港獨、台獨、「借中美貿易摩擦抹黑中方」等言論。

[20]目前,Scratch官網、論壇和wiki已被中國大陸防火長城封鎖,在中國大陸無法正常存取,僅能以離線版本編程。

[21] 另見編輯 AppInventor參考資料編輯 ^存档副本.[2020-06-22].(原始內容存檔於2020-06-26).  ^麻省理工大學;MitchelResnick,JohnMaloney,AndresMonroy-Hernandez,NatalieRusk,EvelynEastmond,AmonMillner,JaySilver,EricRosenbaum,KarenBrennan,AmosBlanton,BrianSilverman,PaulaBonta,YasminKafai,KyliePeppler.Scratch:imagine,program,share.麻省理工大學.[25May2007].(原始內容存檔於2012-06-26). 引文使用過時參數coauthors(幫助) ^Scratch-Imagine,Program,Share.scratch.mit.edu.[2018-11-20].(原始內容存檔於2018-11-18).  ^Scratch:ProgrammingforAll(頁面存檔備份,存於網際網路檔案館).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:ProgrammingforAll.CommunicationsoftheACM,November2009 ^Bricolage.[2018-11-20].(原始內容存檔於2013-04-03).  ^青年協會.Scratch創意體驗學習活動─IVETsingYi.2011-08-19[2012-06-26].(原始內容存檔於2015-04-02)(中文(香港)).  ^青年協會.ScratchDayHongKong2010–記者現場報導.2010-05-26[2012-06-26].(原始內容存檔於2015-04-02)(中文(香港)).  ^青年協會.LEAD@e-zone科技創意夏令營2011.2011-08-16[2012-06-26].(原始內容存檔於2015-04-02)(中文(香港)).  ^Scratch-About.scratch.mit.edu.[2020-05-02].(原始內容存檔於2011-02-22).  ^Chung,KarenBrennan,ChristanBalch,Michelle.CreativeComputing.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)ComputersCan'tGiveCredit:HowAutomaticAttributionFallsShortinanOnlineRemixingCommunity.InProceedingsofthe29thInternationalConferenceonHumanFactorsinComputingSystems(CHI'11)[永久失效連結] ^Hill,B.M,Monroy-Hernández,A.,Olson,K.R.(2010)Responsestoremixingonasocialmediasharingwebsite.InAAAIInternationalConferenceonWeblogsandSocialMedia(ICWSM'10).[2012-06-26].(原始內容存檔於2012-10-12).  ^Scratchusagestatistics.[2021-08-06].(原始內容存檔於2021-08-06).  ^存档副本.[2010-07-28].(原始內容存檔於2011-07-06).  ^ScratchEd.scratched.media.mit.edu.[2018-11-20].(原始內容存檔於2014-01-22).  ^Scratch-Imagine,Program,Share.scratch.mit.edu.[2018-11-20].(原始內容存檔於2018-11-16).  ^Blocks-ScratchWiki.wiki.scratch.mit.edu.[2018-11-20].(原始內容存檔於2011-09-02).  ^Snap!(BuildYourOwnBlocks)4.2.byob.berkeley.edu.[2018-11-20].(原始內容存檔於2010-08-23).  ^丁君朋.未来网评:开放的中国不“排外”,但必须要“排毒”.未來網(中國少年先鋒隊).2020-08-11[2020-08-28].(原始內容存檔於2020-09-05)(中文(中國大陸)).  ^林伊人.少儿编程平台Scratch被曝辱华行业人士:应大力发展本土计算机编程语言.中國網.2020-08-21[2020-08-23].(原始內容存檔於2020-08-22)(中文(中國大陸)).  外部連結編輯 官方網站(英文) 离线版编辑器下载.Scratch官方網站.[2019年1月22日].(原始內容存檔於2019年4月6日)(英語及中文).  ScratchWiki(頁面存檔備份,存於網際網路檔案館)(英文) Scratch图书推荐.scratch-wiki.info.[2019年1月22日].(原始內容存檔於2019年1月23日)(英語).  "TheMagPiTeam".LearntoCodewithScratch[學習用Scratch編代碼](pdf).樹莓派官方網站.[2019年1月22日].(原始內容存檔(PDF)於2019年2月19日)(英語).  台灣宜蘭縣線上版(繁體中文) Scratch的Twitter帳戶(英文) 取自「https://zh.wikipedia.org/w/index.php?title=Scratch&oldid=73542937」



請為這篇文章評分?