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

최근 수정 시각:

파일:attachment/scratch.png
Scratch 1.4 실행화면.

파일:Scratch2Editor.png
Scratch 2.0 실행화면. 버전은 v446이다.[1]

파일:Scratch_3.0_Prototype.png
Scratch 3.0 베타 실행화면. [2]

홈페이지

1. 개요2. 버전
2.1. 1.42.2. 2.02.3. 3.0
3. 모딩 프로그램
3.1. Scratch Explorer3.2. ScratchX
4. 관련 사이트5. 추천할만한 작품들6. 장점7. 단점8. 문제점
8.1. 유저들의 문제점8.2. 스크래치 커뮤니티 운영방식의 문제점8.3. 일부 대학 교양 필수 과목 지정 문제점
9. 여담10. 확장 프로그램11. 관련 문서

1. 개요[편집]

MIT 미디어 연구소의 Lifelong Kindergarten Group에서 2005년 공식 발표한 교육용 프로그래밍 언어이다. 기존의 텍스트 코딩과 달리 스크립트를 블록 맞추듯이 연결하여 코딩을 하는 방식으로 간단한 게임이나 애니메이션 등을 만들 수 있다. 누구나 무료로 이용할 수 있으며 주로 8~16세를 대상으로 만들어졌지만 프로그래밍 언어에 익숙하지 않은 아이들은 물론이고 모든 연령층이 이용하고 있다. 실제로 중학생 정보 교과에 실리고, 이외에도 프로그래밍 언어를 접해보지 못한 대학생들의 기초 강좌로 스크래치를 이용하기도 한다.

2. 버전[편집]

2.1. 1.4[편집]

Smalltalk의 스퀵 기반으로, 1.0으로 시작하여 2009년에 1.4까지 업데이트를 마친 상태이다. 온라인 버전은 없고, PC 다운로드 버전만 있다. 프로그램이 오픈소스라서 모딩할 수 있다.

2.2. 2.0[편집]

2012년, 액션스크립트 기반으로 클론 기능[3]과 벡터 그래픽, 추가블록[4] 클라우드 변수 등 여러가지 기능이 추가된 스크래치 2.0이 공개되었다. 몇년 동안 한글화도 완벽하게 되지 않고 베타 테스트에 머물러 1.4 버전에 비해 선호되지 않는 편이었으나, 베타 테스트가 끝난 2015년 이후로는 보편화되었다. 주의할 점이라면, 1.4로 제작한 프로젝트(.sb)와 2로 제작한 프로젝트(.sb2)는 상호 호환되지 않는다. 1.4로 제작한 프로젝트를 2.0으로 인식시킬 수는 있으나, 한번이라도 2.0로 저장된 적이 있는 프로젝트는 추가 기능의 사용 여부와는 무관하게 1.4에서 인식이 안된다. 별도의 프로그램을 이용하면 2.0를 1.4로 바꿀 수 있는데, 1.4에 없는 2.0의 기능들을 모두 제거해야 오류가 안 난다. 변환 프로그램

2018년 5월25일 현재 최신 버전은 v461

2.3. 3.0[편집]

현재 개발 중인 스크래치의 새로운 버전. 스크래치 팀에서는 2019년 1월에 출시될 것이라고 말했다. 업데이트 소식이 연달아 올라오고 있다.
스크래치에서 직접 공개한 베타버전 현재는 베타 버전이라 사용이 불가능한 기능이 존재한다.

3. 모딩 프로그램[편집]

3.1. Scratch Explorer[편집]

공식사이트 1 공식사이트 2
'스크래치 익스플로러'로 불리는 이 프로그램은 스크래치 1.4 모딩 프로그램의 대표적인 예로, 자칭 3.3버전으로 처음 출시되었다. 기존 스크래치에 없는 무수히 많은 블록과 기능들이 추가 되어 범용성이 매우 뛰어나다. 잠시 다운로드가 불가능했었지만, 현재는 공식사이트 1에서 'Download Explore 3.4.1 Files for Windows'를 받으면 다운로드된다.

3.2. ScratchX[편집]

ScratchX
스크래치X는 GUI는 2.0과 같지만, 여러 유저들이 만든 확장 기능을 사용할 수 있다. 확장 기능은 트위터 연동, 3D, TTS 등 온갖 기능이 만들어지는 덕분에 사기적으로 발전하고 있다.

4. 관련 사이트[편집]

강의는 이곳에서 들을 수 있다. 다만 사용자에 따라 블로거들의 스크래치 강의가 더 배우기 좋다고 하는 경우도 있으니 본인에게 맞는 강의를 찾아볼 필요도 있다.

국내 커뮤니티는 인터넷 카페를 제외하면 활성화 되어 있는 곳이 없다고 할 수 있다.

5. 추천할만한 작품들[편집]

어린이들의 학습을 위해 개발된 소프트웨어이긴 하지만 프로그래밍 언어인 만큼 범용성이 뛰어나서 사람들의 상상을 초월할 만한 작품들이 나오기도 한다. 아래는 그 예시들이다.

6. 장점[편집]

C++HTML에 사용하는 명령어가 블록 하나로 요약되어있기에 단어들을 직접 입력할 필요가 없다.

8세 이상이라면 누구든지 접근할 수 있으며 블록들은 이해하기 쉽게 설명되어있고, 스크립트를 맞추기 쉽게 제작되어 있다. 그래서 교육용으로 많이 쓰인다.

자신이 무언가를 만들고, 스크립트를 많이 요구하는 게임을 만든다면 게임 완성시 자신이 버그를 직접 찾고 직접 고치는 연습을 할 수 있고, 간단한 스크립트 블록들을 배치함으로서 알고리즘의 기초를 경험할 수 있다. 물론 쉬운 독학이 가능하다.

공식 사이트가 있기 때문에 사이트에 자신의 프로젝트를 만들어 공유할 수 있고, 다른 사람의 프로젝트도 할 수 있다. 그 외 스튜디오[5], 도움말 등 여러 기능이 있다. 물론 가입을 해야 한다.

배우기 쉽기때문에 그만큼 사용자가 많으며 모드와 툴도 한두가지가 아니다.

7. 단점[편집]

비슷한 성격을 갖고 있는 LabVIEW와 단점을 공유한다.

  • 섬세한 프로그래밍이 어렵다. 원래 교육용으로 만들어진 언어이다 보니 실제 작업 환경에서 생산성을 위한 목적으로는 부적합하다.

  • 프로그래밍 속도가 비교적 느리다. 또한 프로그래밍 구조상 협업이 어려운 편이다.

  • 몇몇 스크립트에서 버그가 자주 일어난다. 그래픽 블록 중 몇 가지는 작동하면 벡터 이미지가 비트맵으로 바뀌고 그래픽이 깨진다.

  • 포럼 이외의 사이트에 게임을 올리기 힘들다. EXE형식이 아닌 sb2라는 파일이라 게임배포를 다른 블로그.카페등에 올리면 스크래치가 없는이상 UPL로 올리는 수밖에 없다.[6]

  • 게임 세이브가 없다. 클라우드 세이브는 있지만 로그인이 필요해 오프라인이나 툴로 다른 형식으로 바꾸면 RPG등의 게임장르를 플레이하기 난감하다.

8. 문제점[편집]

8.1. 유저들의 문제점[편집]


코딩을 쉽게 할 수 있도록 만들어진 교육용 프로그래밍 언어라 낮은 연령층이 밀접해있다. 코딩교육의 열풍 때문인지 알 수 없는 경로로 유입된 대부분의 사람들이 자캐를 가지고 그림을 그리거나 서로 친목을 한다. 그렇기 때문에 코딩 사이트인데 정작 코딩은 하지 않고 친목질에만 신경 쓰는 현상이 많이 생겨나고 있다.

일부 유저들은 자신의 프로젝트를 자신이 아는 다른 사람들 모두 혹은 자신이 좋아하거나 유명하다고 생각하는 스크래처에게 자신의 프로필 혹을 프로젝트를 홍보한다. 거부를 표시하는 코멘트를 작성하거나 프로필에 적어놓고 심지어 프로젝트를 만들어서 경고를 했음에도 상태가 심각하면 아예 프로필에 코멘트를 남기는걸 비허용으로 설정하는 경우가 생긴다.[7] 스튜디오를 광고하는 경우에는 "아무나 가입해라" 같은 이름으로 의미가 없는 활동에 다른 유저들을 끌어들이거나 아예 집단까지 만들어 활동하기도 한다. 그렇다고 합작이라던지 RP(역할극)이라던지 그런 스튜디오는 관심조차 받지 못한다.

토론방에서는 의미없거나 부적절한 글이나 댓글을 올리는 일이 자주 발생하는데, 이 경우는 그나마 감소한 편.

일부 유저들은 프런트 페이지에 보이는 인기가 많은 프로젝트를 살펴보면 알 수 있듯이 변형없는 리믹스, 배경에 도트 하나 찍은 리믹스, 대놓고 프로젝트를 망쳐버린[8] 리믹스, 그냥 리믹스 트리에 연결해놓은 자신의 프로젝트 등이 넘쳐난다.(...)

네티켓을 모르거나 무시하는 유저들이 저작권 침해 및 욕설은 그 어떠한 처벌도 받지 않는다는 생각을 가지고서 유명한 프로젝트, 조회수가 많거나 인기[9]가 상당히 있다고 생각되는 스크래처의 프로젝트 등 무단복제를 일삼는 행동이 상당히 존재한다. 심지어 원본보다 조회수가 많거나 원본처럼 인기가 많아지는 경우가 생긴다. 또한 유명인 사칭, 나이 속이기, 통칭 익명성 악용 그리고 어른이라는 거짓말까지 각양각색의 유저가 존재한다. 당연하게도 욕설을 하거나 이상한 행동을 하는 경우가 종종 보인다.

때로는 어느 유저가 저작권 침해를 저지르거나 욕설을 했을 경우 간단히 신고 버튼을 누르거나 스크래치 팀에 메시지를 보내지 않고 평소에 친한 유저들을 끌어들여 집단 사이버 폭행을 가하기도 한다. 초면에 반말을 사용하거나 여러 주의에도 여전히 불건전한 유저에게 욕설, 협박 그리고 정신폭행을 가하는 경우가 많다. 당연히 혐오를 불러일으키는 언어싸움이 오고 가며 강력한 중재자가 없는 이상은 한 쪽이 큰 압박을 가한다거나 등의 이유로 그다지 보기 좋지 않은 방법으로 정신승리를 한다.

8.2. 스크래치 커뮤니티 운영방식의 문제점[편집]

이 문제는 주로 외국인들 사이에서 나타난다.

신고 방식에 큰 문제가 있다. 프로젝트를 예로 들자면 신고 버튼 누르고 부적절한 이유를 적고 확인 누르면 끝. 그 뒤로 바로 프로젝트가 비공개 처리된다. 실제로 부적절한지 아닌지 확인도 안 한다. 이로 인해 이유없이 밴을 먹는 사람들이 많아지고 있다. 실제로 이런 식으로 무개념들이 신고를 해서 밴을 먹는 경우가 잦다.

그리고 커뮤니티 가이드라인에 따르면 누구나 출처만 밝히면 남의 것을 쓸 수 있다고 하는데 이 소리는 자신의 것을 남이 못 쓰게 할 수 없다는 것이다! 단, 애초에 프로젝트를 스크래치 웹 사이트에 올릴때에 CC BY-SA 2.0 에 동의하는 것이라 라이선스 상으로는 문제가 없다. 다른 사람이 자신의 것을 리믹스 하는 것을 보기 싫으면 웹사이트에 자신의 프로젝트를 공유하지 말 것.

또 커뮤니티 가이드라인에는 폭력적인 프로젝트는 만들지 말라는 내용이 있는데 가려 놓든 약하게 하든 결국엔 비공개 처리된다. 이쯤 되면 커뮤니티 운영계의 룰치킨이나 다름없다.

8.3. 일부 대학 교양 필수 과목 지정 문제점[편집]

컴퓨팅 사고 능력을 배양한다는 명목 아래에, 실질적으로 유용하게 사용할 수도 없는 프로그램을 강제적으로 가르치고 있다. 하지만, 교양 필수로 파이썬, C 등을 배운다고 유용하게 사용할 수 있다고 하기에는 어렵다. 실질적으로 교양 프로그래밍 수준에서 가르치는 내용이 한계가 있기 때문. 오히려 유용하다며 자바나 C를 교양으로 가르치는 편이 더 문제일 수도 있다.

9. 여담[편집]

  • swf로 변환할 수 있는데, 이걸 이용해서 정신나간 가격의 어도비 플래시 대용으로 쓰는 사람도 있다. 이 밖에도 자바나 exe 같은 파일로 바꿔주는 프로그램도 있다. 또한 swf를 apk로 바꿔 모바일로 쓸 수도 있다.

  • 호환성이 높다. 비트브릭, 아두이노 같은 여러 제품들과도 호환된다. 아두이노의 경우 버그가 좀 있다.

  • MLG 관련 합성물이 드물지 않게 목격된다.

  • 공식적으로는 스크래치의 모바일 구동을 지원하진 않지만, 스크래치 에디터 및 작품을 모바일로 구동하는 방법이 몇가지 있다. 가장 단순한 방법으로는, 퍼핀 브라우저와 같이 모바일에서도 어도비 플래시 플레이어 실행을 지원하는 애플리케이션을 이용해서 모바일에서 스크래치 온라인 에디터[10]를 구동하는 것. 또한 플레이 스토어에서 내려받을 수 있는 Scratch Player라는 앱이 있는데, sb2 파일을 모바일에서 구동할 수 있게 해준다. 이외에 스크래치 공식 포럼에 업로드 되어 있는 비공식 제작 모바일 에디터를 사용하는 방법도 있다. 다만 공식 스크래치 온라인 에디터를 그대로 불러오는 첫번째 방법을 제외한 다른 방법은 한국어를 포함한 다국어 지원이 되지 않을 가능성이 높음에 유의.

  • 공식적으로 스크래치로 제작된 저작물에는 CC-BY-SA 2.0 license가 적용된다. 그러한 즉, 저작물의 소스에 대한 적절한 크레딧 및 스크래치로 제작된 프로그램임을 밝히고(BY - 저작자 표시) 똑같이 CC-BY-SA 2.0 라이센스를 적용(SA - 동일 조건 변경 허락)하기만 한다면 스크래치 이용자가 스크래치로 제작한 프로그램을 영리적으로 이용해도 약관상으로 문제가 없는 것이다. 이는 홈페이지 FAQ에도 명시되어 있다.

  • 2017년 7월 초에 소규모 패치가 있었는데 토론하기가 내비게이션 바에서 사라지고 페이지 가장 아래로 내려와 많은 이용자가 불편을 겪고 있다. 그래서 일부 유저들은 토론하기 버튼을 다시 돌려놓자는 해시태그 운동을 하다가 현재는 운동이 중단되었다.

10. 확장 프로그램[편집]

온라인 스크래치에서는 자바스크립트를 이용한 몇가지 확장 프로그램을 이용할 수 있다[11]. 비공식 확장프로그램이라서 버그가 일어날 수도 있으니 사용시 주의하기 바란다.

  • isOnline - 사용자들끼리 서로 온라인인지 아닌지 알 수 있는 확장 프로그램이다. 비공식 확장프로그램이고, 스크래치 팀에게 허가를 받은 확장프로그램이지만 현재는 확장 프로그램과 관련된 규정으로 이용할 수 없다. isOnline의 제작자가 밴을 당한 이유도 이 때문.

  • Scratch Messaging Extension - 스크래치 상에 있는 메시지를 바로 확인할 수 있는 비공식 확장 프로그램이다.


자세한 내용은 추가바람.

11. 관련 문서[편집]

비슷한 소프트웨어로 네이버 주식회사에서 후원하고 있는 교육 플랫폼인 엔트리가 있다. 해당 문서 참조.

[1] 최신 버전 사진이 있다면 추가바람.[2] 2018년 베타버전.[3] 원본 스프라이트의 정보를 상속시켜 새로운 스프라이트인 복제본을 만드는 기능, 복제본에 스크립트를 짤 수 있으며, 삭제가 용이하다. 상속되는 정보로는 모양, 소리, 좌표, 방향, 회전방식, 모양, 가시상태, 그래픽 효과, 크기, 음량, 악기번호, 박자, 펜색깔, 펜굵기, 지역변수/리스트가 있다.[4] 함수를 만드는 기능으로, 새로운 블럭을 만들 수 있다. 매개변수 같은 여러가지 설정을 추가하여 다양한 기능을 구현 할 수 있다.[5] 관련 프로젝트를 올리거나 모으면서 활동하는 단체 비슷한 기능.[6] 툴로 강제 변환하는 방법이 있지만 비공식이라 추천하진 않는다.[7] 이럼에도 불구하고 남의 프로젝트에 또 광고를 한다면 프로젝트 코멘트까지 비허용으로 설정하는 스크래처가 있다.[8] 보편적 유희가 발생하고 큰 문제가 없는 프로젝트는 제외[9] 좋아요 및 즐겨찾기 또는 그 스크래처의 팔로워 수[10] 스크래치 에디터를 온라인상에서 사용할 수 있도록 플래시로 제작해 업로드한 형태의 스크래치 에디터.[11] 파이어폭스크롬 등 확장프로그램이 지원하는 웹브라우저에 설치하여 이용 가능하다.

파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 스크래치 문서의 r39 판, 1번 문단에서 가져왔습니다. 이전 역사 보러 가기