Scratch

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

Scratch最初可安裝在Mac OS X、Windows、Linux的平台上；2.0改使用ActionScript编制，3.0改使用HTML5編制，並可运行于浏览器。

Scratch源碼完全开放，只有橘色猫咪的象徵图案和Scratch名称受版權保护。

主旨
Scratch讓程式設計語言初學者不需先學習語言語法便能設計專案。开发者期望通过學習製作Scratch，启发和激勵用戶在愉快的環境下經由操作（如設計互動故事、多人遊戲）去學習程式設計、數學和計算知識，同時获得創造性的思考、邏輯編程和協同工作的体验。

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

Scratch適用於全年齡層用戶。即便用户从未學过程式設計，通过拖曳预先设定好的积木式程序模件，堆疊出指令，设置或控制角色及背景的行动和变化，从而完成程序撰寫。

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被學校、博物館、社區中心等用作教學和展示。例如，香港青年協會經常舉辦Scratch體驗活動，以推動學生發揮創意。Scratch亦附設不同的語言界面，方便非英语用户使用。此外，Scratch-TW 則蒐集了Scratch相關的線上資源、介紹影片、創意程設思維教材 ，並進行中文化，以便台灣使用者之使用與推廣。均一教育平台 也製作了一系列Scratch 3.0基礎課程 ，免費開放令教師、家長與學生能線上自學Scratch。

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

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

線上社群中有不同類型的项目，範圍包括遊戲、動畫、簡報和聊天機器人。所有项目都以創用CC的特許方式發佈，也可透過Java applet或Flash Player播放。線上社群每月都有着一百萬點擊率，且擁有74,734,356名註冊成員，以及超過八千二百二十六萬份作品在線上社群上分享（截至2021年8月6日）。該線上社群隨後開設了不同網頁，如ScratchEd和ScratchJR等，以促進各使用者的交流。

雲端平台
自Scratch 2.0版本起，Scratch團隊搭建了一个网站以供用户们在线上传项目，以及预览他人的项目。

衍生軟件
Scratch有衍生出其它软件，例如 Snap!、ClipCC 、scratch X等。

争议
2020年8月，有多家中国大陆媒体指Scratch被发现在注册账户时，将“香港”“澳门”“台湾”与“中国”并列划入“国家”一栏。在平台的开放论坛上有部分用户上传的反中共言论，包括港独、台独、“借中美贸易摩擦抹黑中方”等言论。目前，Scratch官网、论坛和wiki已被中国大陸防火长城屏蔽，在中国大陆无法正常访问，仅能以离线版本编程。

另见
 Scratch Wiki
 App Inventor

參考資料

外部链接
  
 
Scratch Wiki  
 
 
台灣宜蘭縣線上版 
  

Scratch
程序设计语言
自由跨平台軟體
視覺化程式設計語言
Smalltalk编程语言家族
2001年建立的程式語言