스크래치 (프로그래밍 언어)
1. 개요
1. 개요
스크래치는 미국 매사추세츠 공과대학교(MIT) 미디어 랩의 라이프롱 킨더가든 그룹이 개발한 교육용 시각적 프로그래밍 언어이다. 이 프로젝트는 미첼 레스닉 교수의 주도하에 2003년에 처음 등장했으며, 어린이와 초보자가 컴퓨터 과학의 기본 개념을 쉽고 재미있게 배울 수 있도록 설계되었다.
사용자는 텍스트 기반의 코드를 직접 입력하지 않고, 마우스로 끌어다 놓는 방식으로 조립할 수 있는 그래픽 블록을 사용하여 프로그램을 만든다. 이를 통해 인터랙티브 스토리, 게임, 애니메이션 등을 제작할 수 있으며, 논리적 사고와 창의적 문제 해결 능력을 기르는 데 중점을 둔다.
스크래치는 이벤트 기반 프로그래밍과 객체 기반 프로그래밍 패러다임을 따르며, 사용자 친화적인 온라인 커뮤니티를 통해 프로젝트를 공유하고 다른 사람들의 작품을 볼 수 있다. 이는 단순한 도구를 넘어 전 세계 학습자들이 협력하고 아이디어를 나누는 플랫폼 역할을 한다.
이 언어는 전통적인 프로그래밍의 복잡한 문법 장벽을 제거함으로써, 모든 연령대의 사람들이 창의적 학습과 컴퓨팅 사고력을 체험할 수 있는 기회를 제공한다.
2. 특징
2. 특징
스크래치의 가장 큰 특징은 코드를 직접 입력하지 않고, 블록 프로그래밍 방식을 사용한다는 점이다. 사용자는 명령어가 적힌 다양한 색상의 블록을 마우스로 끌어다 놓고 조립함으로써 프로그램을 만들 수 있다. 이 방식은 문법 오류를 근본적으로 차단하고, 프로그래밍의 논리적 구조와 흐름에 집중할 수 있게 하여 초보자에게 매우 친숙한 환경을 제공한다.
이 언어는 이벤트 기반 프로그래밍과 객체 기반 프로그래밍 패러다임을 따르며, 주로 스프라이트라고 불리는 그래픽 객체를 제어하는 방식으로 작동한다. 사용자는 캐릭터의 움직임, 소리, 모양 변화 등을 블록으로 구성하고, '깃발을 클릭했을 때'나 '키를 눌렀을 때'와 같은 이벤트로 프로그램을 시작시킨다. 이를 통해 인터랙티브한 스토리텔링, 게임, 애니메이션을 쉽게 제작할 수 있다.
스크래치는 단순한 도구를 넘어, 창의적 학습과 컴퓨팅 사고력 함양을 위한 플랫폼으로 설계되었다. 미첼 레스닉이 이끄는 MIT 미디어 랩의 라이프롱 킨더가든 그룹은 '코딩을 배우는 것'보다 '코딩을 통해 배우는 것'에 중점을 두고 개발했다. 따라서 사용자는 프로그래밍 과정에서 문제 해결, 체계적 사고, 창의적 표현 등의 핵심 역량을 자연스럽게 기르게 된다.
또한, 모든 프로젝트는 온라인 커뮤니티에서 자유롭게 공유되고 리믹스될 수 있다는 점이 특징이다. 사용자는 다른 사람의 작품을 살펴보고, 그 코드를 수정해 자신만의 버전을 만들어 볼 수 있다. 이 개방적인 협력 문화는 학습 동기를 부여하고, 다양한 아이디어와 기술을 접할 수 있는 기회를 제공한다.
3. 인터페이스와 구성 요소
3. 인터페이스와 구성 요소
3.1. 블록 팔레트
3.1. 블록 팔레트
블록 팔레트는 스크래치 인터페이스의 핵심 구성 요소 중 하나로, 사용자가 프로그램을 조립할 수 있는 모든 코딩 블록을 카테고리별로 모아 놓은 영역이다. 이 영역은 화면 왼쪽에 위치하며, 블록들은 색상과 모양으로 구분되어 직관적인 탐색과 사용을 가능하게 한다. 각 카테고리는 특정한 프로그래밍 기능을 대표하며, 사용자는 필요한 블록을 팔레트에서 선택하여 코딩 영역으로 끌어다 놓는 방식으로 프로그램을 만든다.
주요 카테고리로는 동작, 모양, 소리, 이벤트, 제어, 감지, 연산, 변수, 내 블록 등이 있다. 예를 들어, '동작' 카테고리에는 스프라이트를 움직이거나 회전시키는 블록이, '이벤트' 카테고리에는 프로그램 실행을 시작하는 신호 역할을 하는 블록이 포함되어 있다. 이러한 체계적인 분류는 초보자에게 프로그래밍의 기본 개념을 구조적으로 제시하는 데 큰 도움을 준다.
블록들은 서로 맞물리는 퍼즐 조각 형태로 설계되어 문법적 오류를 최소화한다. 예를 들어, 숫자 값이 들어가야 할 곳은 둥근 모양의 입력 홈을 가지고 있어, 숫자 블록만 연결할 수 있다. 이는 사용자가 구문 오류에 신경 쓰지 않고 논리와 알고리즘 구성에 집중할 수 있도록 하는 스크래치의 핵심 설계 철학을 반영한다.
블록 팔레트의 구성은 사용자가 선택한 스프라이트나 배경에 따라 일부 달라질 수 있으며, 확장 기능을 추가하면 새로운 카테고리와 블록이 팔레트에 나타난다. 이처럼 블록 팔레트는 사용자에게 무한한 창의적 가능성을 제공하는 동시에, 체계적이고 안전한 프로그래밍 환경을 구축하는 토대 역할을 한다.
3.2. 코딩 영역
3.2. 코딩 영역
코딩 영역은 스크래치 프로젝트를 구성하는 핵심 작업 공간이다. 이 영역은 사용자가 블록을 조립하여 스크립트를 만드는 곳으로, 화면 중앙에 위치한다. 사용자는 블록 팔레트에서 원하는 블록을 선택하여 이 영역으로 끌어다 놓고, 블록들을 서로 맞물리게 연결함으로써 프로그램의 논리와 순서를 구축한다. 연결된 블록들은 하나의 실행 가능한 명령어 집합, 즉 스크립트가 된다.
코딩 영역에서는 스프라이트나 무대 배경을 선택하여 각각에 대한 스크립트를 독립적으로 작성할 수 있다. 영역 상단의 탭을 통해 현재 작업 중인 대상을 전환할 수 있으며, 이는 객체 기반 프로그래밍의 기본 개념을 반영한다. 사용자는 여러 개의 스크립트를 동시에 코딩 영역에 배치하고 관리할 수 있어 복잡한 프로젝트를 구성하는 데 유용하다.
블록들은 퍼즐 조각처럼 서로 맞는 형태로만 연결될 수 있도록 설계되어, 구문 오류를 방지하고 논리적 흐름을 시각적으로 이해하기 쉽게 돕는다. 코딩 영역에서 블록을 분리하거나 삭제하는 것도 간단하며, 이를 통해 아이디어를 빠르게 수정하고 실험할 수 있다. 이 모든 과정은 텍스트 기반 프로그래밍 언어의 복잡한 코드 입력 없이 직관적인 드래그 앤 드롭 방식으로 이루어진다.
3.3. 무대
3.3. 무대
무대는 스크래치 프로젝트의 결과물이 시각적으로 표시되고 실행되는 주요 공간이다. 사용자가 블록으로 조립한 프로그램의 모든 그래픽 효과와 애니메이션은 이 무대 위에서 펼쳐진다. 무대의 좌표계는 가로 480픽셀, 세로 360픽셀으로 구성되며, 중심이 (0,0)이다. 이 공간에서 스프라이트들은 이동하고, 상호작용하며, 사용자가 설계한 이야기나 게임을 완성한다.
무대의 배경은 직접 그리거나, 라이브러리에서 선택하거나, 업로드한 이미지로 설정할 수 있다. 하나의 프로젝트 내에서 여러 배경을 전환할 수 있으며, 이는 장면 변화를 구현하는 데 핵심적이다. 무대 자체도 하나의 객체로 간주되어, 배경 전환, 소리 재생, 메시지 방송 등과 같은 독자적인 스크립트를 가질 수 있다.
무대 하단에는 녹색 깃발과 빨간 정지 버튼이 위치해 있으며, 이는 프로젝트 실행과 중단을 제어하는 주요 수단이다. 또한 전체 화면 모드로 전환하거나 무대의 크기를 조정하는 버튼을 통해 사용자는 프로젝트를 다양한 방식으로 감상할 수 있다. 무대는 스프라이트 리스트와 함께 프로젝트의 전반적인 구조와 흐름을 한눈에 파악하게 해주는 인터페이스의 중심 요소이다.
3.4. 스프라이트
3.4. 스프라이트
스프라이트는 스크래치 프로젝트에서 움직이고 상호작용하는 모든 캐릭터나 객체를 가리킨다. 새 프로젝트를 시작하면 기본적으로 고양이 모양의 스프라이트가 하나 제공되며, 사용자는 라이브러리에서 다양한 스프라이트를 추가하거나 직접 그리기, 파일 업로드, 카메라 촬영을 통해 새로운 스프라이트를 만들 수 있다. 각 스프라이트는 독립적인 코딩 영역, 코스튬, 소리를 가지며, 자신만의 스크립트를 통해 무대 위에서 동작을 제어한다.
스프라이트의 외형은 코스튬 탭에서 관리된다. 하나의 스프라이트는 여러 개의 코스튬을 가질 수 있으며, 코스튬 간 전환을 통해 애니메이션 효과를 만들거나 캐릭터의 상태를 변화시킬 수 있다. 또한, 각 스프라이트의 크기와 방향, 현재 위치 좌표, 표시/숨김 상태 등의 속성을 블록을 통해 실시간으로 조절할 수 있다.
프로젝트 내 여러 스프라이트들은 서로 메시지를 주고받으며 상호작용한다. '메시지 보내기'와 '메시지를 받았을 때' 블록을 사용하면 특정 이벤트가 발생했을 때 다른 스프라이트가 반응하도록 할 수 있어, 복잡한 게임이나 인터랙티브 스토리를 구성하는 핵심 메커니즘이 된다. 이는 객체 지향 프로그래밍의 기본 개념을 직관적으로 체험하게 한다.
스프라이트는 무대 위의 좌표계를 기준으로 위치하며, x축과 y축 값을 변경하여 이동시킬 수 있다. '벽에 닿으면 튕기기' 옵션을 켜면 스프라이트가 무대 경계에서 반사되는 효과를 줄 수 있다. 사용자는 스프라이트의 동작을 정밀하게 제어하기 위해 방향, 속도, 가속도 등의 개념을 블록 조합을 통해 구현하게 되며, 이를 통해 물리 엔진의 기초적인 원리를 경험할 수 있다.
4. 교육적 활용
4. 교육적 활용
스크래치는 주로 초등학교와 중학교 수준의 컴퓨터 과학 교육을 위해 설계된 교육용 도구이다. 블록 기반의 직관적인 인터페이스를 통해 어린 학습자들이 알고리즘적 사고와 창의적 문제 해결 능력을 기르도록 돕는다. 교육 현장에서는 수학, 과학, 언어, 미술 등 다양한 교과와 융합하여 프로젝트 기반 학습에 활용된다. 학생들은 게임, 인터랙티브 스토리, 애니메이션 등을 직접 만들면서 논리적 사고와 시퀀싱 개념을 자연스럽게 습득한다.
교육적 활용의 핵심은 낮은 진입 장벽과 높은 자유도에 있다. 텍스트 기반 프로그래밍 언어의 복잡한 문법 오류에서 벗어나, 학습자는 조립식 블록 프로그래밍에 집중하여 자신의 아이디어를 빠르게 구현할 수 있다. 이 과정에서 반복문, 조건문, 변수와 같은 핵심 프로그래밍 개념이 구체적인 결과물과 함께 체득된다. 많은 교사들은 스크래치를 통해 컴퓨팅 사고력을 가르치며, 이는 단순한 코딩 기술 이상으로 문제를 분해하고 패턴을 인식하며 추상화하는 능력을 함양한다.
전 세계의 학교와 공교육 기관, 방과후 학교, 코딩 캠프에서 표준 교육 도구로 채택되어 있으며, 공식 웹사이트는 교사를 위한 수업 계획안과 교육 자료를 풍부하게 제공한다. 또한, 페어 프로그래밍이나 협업 프로젝트를 통해 의사소통과 팀워크 능력을 기를 수 있는 사회적 학습 환경을 조성한다는 점에서도 교육적 가치가 인정받고 있다.
5. 커뮤니티와 공유
5. 커뮤니티와 공유
스크래치의 가장 큰 특징 중 하나는 활발한 온라인 커뮤니티를 통해 프로젝트를 공유하고 협력할 수 있다는 점이다. 사용자는 스크래치 웹사이트에 가입하여 자신이 만든 게임, 애니메이션, 인터랙티브 아트 등의 프로젝트를 업로드하고 전 세계 다른 사용자와 공유할 수 있다. 이 공유 기능은 단순히 결과물을 보여주는 것을 넘어, 프로젝트의 모든 소스 코드를 공개하여 다른 사람이 어떻게 만들어졌는지 살펴보고, 리믹스라는 기능을 통해 수정하거나 발전시켜 새로운 작품을 만들 수 있게 한다. 이는 오픈 소스 문화와 협력적 학습의 원리를 교육 현장에 도입한 대표적인 사례이다.
스크래치 커뮤니티 내에서는 프로젝트에 댓글을 달거나, 좋아요를 표시하거나, 팔로우를 하는 등 다양한 상호작용이 이루어진다. 사용자들은 자신의 작품에 대한 피드백을 받을 수 있고, 다른 사람의 창의적인 아이디어에서 영감을 얻을 수 있다. 또한, 스튜디오 기능을 통해 특정 주제의 프로젝트들을 모아 전시하거나, 협업 프로젝트를 진행할 수 있다. 이러한 사회적 상호작용은 학습 동기를 부여하고, 문제 해결 능력과 디지털 시민성을 함양하는 데 기여한다.
커뮤니티는 단순한 공유 공간을 넘어 지속적인 학습의 장으로 기능한다. 초보자는 다른 사람의 프로젝트를 리믹스하며 코딩 방법을 배우고, 숙련된 사용자는 자신의 기술을 뽐내고 다른 이들을 돕는 경험을 한다. MIT 미디어 랩은 이 커뮤니티가 안전하고 건설적인 환경을 유지할 수 있도록 가이드라인과 자동화된 필터링 시스템, 그리고 커뮤니티 관리자를 운영하고 있다. 이를 통해 스크래치는 기술 교육과 더불어 긍정적인 온라인 문화 형성에도 기여하고 있다.
6. 주요 개념
6. 주요 개념
6.1. 이벤트 기반 프로그래밍
6.1. 이벤트 기반 프로그래밍
스크래치의 핵심 프로그래밍 패러다임 중 하나는 이벤트 기반 프로그래밍이다. 이는 프로그램의 실행 흐름이 사용자 입력, 타이머, 메시지 수신과 같은 특정 사건(이벤트)의 발생에 의해 주도되는 방식을 말한다. 전통적인 텍스트 기반 언어가 코드의 첫 줄부터 순차적으로 실행되는 것과 달리, 스크래치에서는 다양한 이벤트 블록이 프로그램의 시작점 역할을 한다.
주요 이벤트 블록으로는 '깃발을 클릭했을 때', '키를 눌렀을 때', '스프라이트를 클릭했을 때', '~ 메시지를 받았을 때' 등이 있다. 예를 들어, 사용자가 스페이스바를 누르면 캐릭터가 점프하거나, 스테이지의 깃발 아이콘을 클릭하면 전체 프로그램이 시작되는 방식이다. 이는 인터랙티브 미디어나 게임을 만드는 데 매우 직관적이며, 복잡한 제어 구조 없이도 사용자와 프로그램 간의 상호작용을 쉽게 구현할 수 있게 해준다.
이러한 접근법은 학습자에게 프로그램이 반드시 위에서 아래로만 실행되는 것이 아니라, 외부 자극에 반응하여 여러 부분이 동시에 또는 조건부로 실행될 수 있음을 자연스럽게 깨닫게 한다. 이는 병렬 처리와 비동기 프로그래밍의 기본 개념을 맛보게 하는 교육적 장치이기도 하다. 결과적으로 스크래치를 이용한 창의적 학습은 이벤트 기반의 사고 방식을 통해 논리적 사고력과 문제 해결 능력을 키우는 데 기여한다.
6.2. 제어 구조
6.2. 제어 구조
스크래치에서 제어 구조는 프로그램의 실행 흐름을 관리하는 핵심적인 블록들이다. 이 블록들을 사용하면 특정 조건에 따라 다른 동작을 하거나, 일련의 명령을 반복하거나, 프로그램의 실행을 일시 중지하는 등의 로직을 구현할 수 있다. 이러한 구조는 모든 프로그래밍 언어의 근간이 되는 개념으로, 스크래치를 통해 학습자들은 논리적 사고와 문제 해결 능력을 기를 수 있다.
제어 구조 블록은 주로 "제어" 카테고리에서 찾을 수 있으며, 크게 순차 구조, 선택 구조, 반복 구조로 구분된다. 순차 구조는 블록을 위에서 아래로 차례대로 실행하는 기본적인 방식이다. 선택 구조는 '만약 ~라면' 블록과 '만약 ~라면, 아니면' 블록이 대표적이며, 특정 조건의 참/거짓을 판단해 서로 다른 코드를 실행한다. 반복 구조는 '~번 반복하기', '계속 반복하기', '~까지 반복하기' 블록 등으로 구성되어, 효율적인 코드 작성과 패턴 생성에 필수적이다.
이러한 구조들은 복합적으로 사용되어 복잡한 프로젝트를 만드는 데 기반이 된다. 예를 들어, 게임에서 캐릭터가 장애물에 닿았는지 조건을 판단(선택 구조)한 후, 생명을 감소시키고, 일정 시간 동안 무적 상태를 반복적으로 깜빡이게(반복 구조) 하는 등의 동작을 구현할 수 있다. 스크래치의 시각적 블록 인터페이스는 이러한 추상적인 프로그래밍 개념을 직관적으로 이해하고 조작할 수 있게 돕는다.
제어 구조의 학습은 알고리즘적 사고를 키우는 첫걸음이다. 학습자들은 특정 문제를 해결하기 위해 필요한 단계(순차), 다양한 상황에 대한 대응(선택), 그리고 효율적인 작업 수행(반복)을 설계하는 과정을 경험하게 된다. 이는 단순히 코딩 기술을 넘어서 컴퓨터 과학의 기본 원리를 체득하는 데 중요한 역할을 한다.
6.3. 변수와 리스트
6.3. 변수와 리스트
스크래치에서 변수는 숫자나 문자와 같은 데이터를 저장하는 명명된 저장 공간이다. 사용자는 변수를 만들어 특정 값을 저장하고, 프로그램 실행 중에 그 값을 변경하거나 다른 블록에서 참조할 수 있다. 예를 들어, 게임에서 점수를 기록하거나 애니메이션에서 캐릭터의 속도를 조절하는 데 사용된다. 변수는 모든 스프라이트에 공유되는 '전역 변수'와 특정 스프라이트만 사용할 수 있는 '지역 변수'로 구분하여 만들 수 있다.
리스트는 변수의 확장된 형태로, 여러 개의 값을 순서대로 저장할 수 있는 데이터 구조이다. 리스트를 사용하면 예를 들어 퀴즈 문제 목록, 플레이어 이름 목록, 또는 아이템 인벤토리 등을 효율적으로 관리할 수 있다. 리스트 블록을 통해 항목을 추가하거나 삭제하고, 특정 위치의 항목을 가져오거나 변경하는 등의 작업이 가능하다.
변수와 리스트는 스크래치에서 복잡한 프로그래밍을 가능하게 하는 핵심 요소이다. 이를 통해 사용자는 단순한 애니메이션을 넘어, 점수 체계가 있는 게임, 사용자 입력에 반응하는 퀴즈, 또는 데이터를 처리하는 시뮬레이션 등의 더 다채로운 프로젝트를 만들 수 있다. 이 개념들을 익히는 것은 텍스트 기반 프로그래밍 언어로 넘어갈 때 중요한 기초가 된다.
7. 확장 및 관련 프로젝트
7. 확장 및 관련 프로젝트
7.1. 스크래치 Jr.
7.1. 스크래치 Jr.
스크래치 주니어는 주로 5세에서 7세 사이의 어린 아이들을 대상으로 설계된 시각적 프로그래밍 언어이다. 스크래치의 핵심 개념을 더욱 단순화하여, 글자를 읽지 못하는 유아들도 직관적으로 프로그래밍의 기본 원리를 경험할 수 있도록 한다. 이 프로젝트는 미국 매사추세츠 공과대학교 미디어 랩의 라이프롱 킨더가든 그룹이 주도하며, 태블릿 컴퓨터와 같은 터치스크린 기기에 최적화된 환경을 제공한다.
스크래치 주니어의 인터페이스는 블록 대신 색상이 풍부하고 모양이 큰 그래픽 블록을 사용하며, 드래그 앤 드롭 방식으로 연결하여 프로그램을 만든다. 복잡한 제어 구조나 변수 대신, 캐릭터의 이동, 소리 재생, 모양 변경과 같은 기본적인 동작을 조합하는 데 초점을 맞춘다. 이를 통해 어린이들은 순차 실행, 이벤트 기반 프로그래밍, 문제 해결 과정과 같은 컴퓨팅 사고력의 기초를 자연스럽게 습득하게 된다.
이 플랫폼은 유아 교육 및 초등 교육 현장에서 널리 활용되며, 디지털 시대에 필요한 창의력과 논리적 사고를 조기에 함양하는 도구로 평가받는다. 스크래치 주니어로 만들어진 프로젝트는 공유 기능을 통해 교사와 학부모가 아이들의 학습 성과를 확인할 수 있도록 지원한다. 이는 더 고급 개념을 다루는 본래의 스크래치로 자연스럽게 진입하기 위한 발판 역할을 한다.
7.2. 스크래치 3.0
7.2. 스크래치 3.0
스크래치 3.0은 2019년 1월에 공식 출시된 스크래치의 주요 업데이트 버전이다. 이전의 어도비 플래시 기반의 스크래치 2.0을 대체하여, HTML5와 자바스크립트를 기반으로 재작성되었다. 이로 인해 인터넷 익스플로러를 제외한 대부분의 최신 웹 브라우저와 태블릿 컴퓨터에서도 별도의 플러그인 설치 없이 바로 사용할 수 있게 되었다. 또한 오프라인에서도 작동하는 데스크톱 앱이 제공되어 접근성이 크게 향상되었다.
인터페이스와 기능 측면에서도 여러 변화가 있었다. 사용자 인터페이스가 더욱 직관적이고 반응형으로 디자인되었으며, 특히 터치스크린 기기에서의 사용이 용이해졌다. 새로운 확장 기능이 추가되어 번역 기능, 텍스트 음성 변환, 펜 확장을 통한 벡터 그래픽 지원, 그리고 마이크로비트나 LEGO MINDSTORMS와 같은 다양한 하드웨어와의 연결이 가능해졌다. 스프라이트와 배경을 쉽게 편집할 수 있는 새로운 그래픽 편집기도 도입되었다.
스크래치 3.0의 개발 목표는 더 많은 사람들이, 더 다양한 플랫폼에서, 더 창의적인 프로젝트를 만들 수 있도록 하는 데 있었다. 이는 MIT 미디어 랩의 라이프롱 킨더가든 그룹이 추구하는 창의적 학습과 컴퓨테이셔널 씽킹 교육 철학을 반영한 결과이다. 이 버전은 스크래치가 교육용 시각적 프로그래밍 언어로서의 입지를 더욱 공고히 하는 계기가 되었다.
8. 여담
8. 여담
스크래치는 단순한 프로그래밍 도구를 넘어 전 세계적으로 거대한 창의적 학습 생태계를 구축했다. 특히 어린이와 청소년을 위한 컴퓨터 과학 교육의 접근성을 혁신적으로 낮추는 데 기여했으며, 이는 미첼 레스닉 교수와 미국 매사추세츠 공과대학교 미디어 랩 팀의 핵심 목표였다. 스크래치 커뮤니티는 사용자들이 만든 프로젝트를 자유롭게 리믹스할 수 있도록 장려함으로써 협력과 아이디어 공유 문화를 정착시켰다.
이러한 성공은 스크래치가 단순히 코드 문법을 가르치는 것이 아니라, 계산적 사고와 문제 해결 능력을 키우는 데 초점을 맞췄기 때문이다. 사용자들은 게임이나 애니메이션이라는 구체적인 결과물을 만들면서 자연스럽게 순차, 조건문, 반복문과 같은 프로그래밍의 기본 개념을 체득하게 된다. 이 접근법은 이후 다양한 교육용 프로그래밍 언어와 플랫폼에 지대한 영향을 미쳤다.
스크래치의 이름은 디제이가 턴테이블에서 레코드를 긁어(Scratch) 새로운 소리를 만들어내는 행위에서 유래했다. 이는 기존의 코드 블록을 조합하고 리믹스하여 새로운 것을 창조한다는 스크래치의 철학을 잘 반영한다. 또한, 공식 마스코트인 주황색 고양이 스크래치 캣은 프로젝트를 처음 시작할 때 기본으로 제공되는 스프라이트로, 전 세계 수많은 사용자에게 친숙한 상징이 되었다.
