스크래치 (프로그래밍 언어)

교육용 블록형 프로그래밍 언어

스크래치(Scratch)는 MIT 미디어 랩에서 8세~16세의 아이들을 대상으로 만든 교육용, 블록형 프로그래밍 언어이다.[1] 이 사이트에서 활동하는 사람들인 '스크래쳐'(영어: Scratcher)들은 블록을 조립하는 방식으로 프로젝트를 만든다. 만들어진 프로젝트는 스크래치 웹사이트에서 누구나 실행하거나 하트나 별, 댓글을 달고 리믹스할 수 있다.[2] 필요하다면 HTML5안드로이드 앱, EXE 등의 형식으로 내보낼 수도 있다.

스크래치
Scratch
패러다임사건 기반 프로그래밍
설계자Mitchel Resnick(미첼 레스닉)
개발자MIT 미디어 랩(MIT 미디어 연구소) Lifelong Kindergarten Group(평생유치원 그룹)
발표일2006
최근 버전3.0 (2019년)
자료형 체계동적 자료형
구현 언어스몰토크 (~1.4)

액션스크립트 (2.0)

JavaScript (3.0~)
라이선스GNU 일반 공중 사용 허가서 및 스크래치 소스 코드 라이선스(Scratch Source Code License)
파일 확장자.sb .sprite (~1.4)

.sb2 .sprite2 (2.0)

.sb3 (3.0~)
웹사이트scratch.mit.edu
주요 구현체
Scratch
영향을 받은 언어
로고, 스몰토크, 하이퍼카드, StarLogo, AgentSheets, Etoys

2024년 1월 기준, 공유된 프로젝트는 15,929,322개, 등록된 계정은 100,411,828개, 프로젝트에 달린 댓글은 총 722,213,385개로 집계되었다. 또한, 스크래치 웹사이트는 지난 한 달 동안 711,425,440번의 접속이 있었다.[2][3]

스크래치 체험용의 하위 버전인 1.4 버전은 오픈 소스라서 누구든지 스크래치 모딩(스크래치 모드를 만드는 행위)을 할 수 있다.

스크래치 3.0 편집

스크래치 3.0은 스크래치 2.0의 상위 버전으로, 2018년 후반에 베타 버전이 공개되었고 2019년 1월 정식 버전이 출시되었다. 2.0에서 쓰이던 어도비 플래시를 사용하지 않고 HTML5자바스크립트로 새롭게 제작되었다.

화면 구성 편집

 
프로젝트가 시작되면 배경을 바꾸고 움직인 뒤 말을 하는 코드.

화면은 블록 모음과 블록 조립소, 화면으로 이루어져 있다. 블럭 모음에서 필요한 블록을 블럭 조립소로 꺼낸 뒤, 초록 깃발이나 블록을 눌러 실행할 수 있다. 초록 깃발을 누르면 전체가 실행되며 블록을 누르면 누른 블럭이 속한 블럭 뭉치가 실행된다. 화면은   좌표로 구성되어 있으며 동작 블럭을 이용해 움직일 수 있다. 좌표는 화면의 가운데가  이다.[4]

블럭 카테고리 편집

카테고리 설명
동작 움직이기, 회전하기 등 움직이는 것에 관련된 블럭이다.
형태 스프라이트의 형태나 효과, 말풍선 등을 지정한다.
소리 스크래치 기본 소리나 불러온 소리를 재생한다.
이벤트 키보드 입력, 프로젝트 시작 등의 사건이 일어났을 때 아래의 블록을 실행한다.
제어 조건문, 반복문, 기다리기, 복제 등 실행을 제어한다.
감지 마우스 포인터, 다른 스프라이트, 배경 등의 움직임이나 변화를 감지한다.
연산 사칙연산을 포함한 수학 연산자로 다른 블럭에 들어간다.
변수 변수와 리스트를 만들고 수정한다. 클라우드 변수를 사용하면 스크래쳐 등급을 가진 사람들이 공유할 수 있지만 숫자만 저장할 수 있고 한 프로젝트당 최대 10개의 변수만 생성할 수 있다.
내 블록 자신이 함수를 만들어 사용할 수 있다.
확장 기능 추가해서 사용할 수 있는 블록 카테고리이다.

데스크톱 버전 편집

인터넷 연결과 커뮤니티 기능 없이 프로젝트를 편집하고 저장할 수 있다. 마이크로소프트 스토어앱 스토어(맥 전용)에서 다운로드할 수 있다.[5] 또한 공식 홈페이지(2.0과 1.4만 다운로드 가능) 또는 아카이브에서 온라인 버전에서는 지원하지 않는 이전 버전(3.0 이하)을 다운로드할 수 있다.

스크래치 랩 편집

스크래치에서는 지원하지 않는 기능들을 시험적으로 사용할 수 있다. 2022년 12월 기준 다음과 같은 기능들이 있다.[6]

  • 얼굴 인식: 얼굴과 눈, 코 입 등의 위치를 감지해 안경 등의 효과를 줄 수 있다.[7]
  • 움직이는 글자: 변수를 보여주지 않고 글의 내용, 글꼴(스크래치에 내장된 글꼴만 가능), 색, 위치, 애니메이션 등을 설정하고 바꿀 수 있다.[8]
  • 블록 색 바꾸기: 블록의 색을 연하게 하고 글자의 색을 검정색으로 바꾸어 읽기 쉽게 한다.[9]

스크래치 팀에 따르면 어느 기능은 기본 스크래치에 추가될 수도 있고, 어느 기능들은 추가되지 않을 것이라고 한다.[6]

사용처 편집

 
학교에서 스크래치를 가르치고 있다.

스크래치는 아이들에게 기본적인 컴퓨터 프로그래밍을 소개하는 수단으로 전 세계의 학교 등에서 사용된다. 어린이와 어른 모두 스크래치 프로그래밍의 기본 원리를 이해하면 다른 프로그래밍 언어로 옮겨가는 데 도움이 된다.

대한민국에서도 정규 교육 과정에 이와 비슷한 엔트리를 가르친다.

같이 보기 편집

각주 편집

  1. Free tool offers 'easy' coding BBC News 14 May 2007
  2. “Community statistics at a glance”. 《scratch.mit.edu》. 2016년 4월 6일에 원본 문서에서 보존된 문서. 2019년 5월 18일에 확인함. 
  3. “Scratch Statistics - Imagine, Program, Share”. 《스크래치》. 2022-12-07. 
  4. Marji, Majed (2014). 《Learn to Program with Scratch》. San Francisco, California: No Starch Press. xvii, 1–9, 13–15쪽. ISBN 978-1-59327-543-3. 
  5. “Scratch Desktop”. 2019년 9월 19일에 확인함. 
  6. “Scratch Lab”. 2022년 12월 7일에 확인함. 
  7. “Face Sensing - Scratch Lab”. 《스크래치 랩》. 2022년 12월 7일에 확인함. 
  8. “Animated Text - Scratch Lab”. 《스크래치 랩》. 2022년 12월 7일에 확인함. 
  9. “New Block Colors - Scratch Labs”. 《스크래치 랩》. 2022년 12월 7일에 확인함. 

외부 링크 편집