sitelink1 http://opencode.tistory.com/10 
sitelink2  
sitelink3  
sitelink4  
sitelink5  
extra_vars6  

스크래치 고양이.jpg

 

 

스크래치는 가장 널리 활용되는 EPL로 블록형 코딩을 대표하는 블록형 코딩 언어이다. 아이들도 쉽게 코딩을 배울 수 있도록 하기 위한 여러 시도 중 2007년 미첼 레스닉 MIT 교수가 주도해 MIT 미디어랩이 개발해서 널리 활용되는 것이 스크래치(Scratch)'다.

 

 

 

프로그래밍 언어 중 C는 랭귀지 B이후에 개발된 것이라 C라는 이름을 붙였다는 것은 널리 알려져 있다. 그런데 스크래치는 왜 스크래치란 이름을 붙였을까? 이 부분에 대해 많은 코딩강사들에게 물어봐도 정확하게 아는 분이 없어서 좀 아쉬웠다.

 

 

 

이름은 정의이고 본질인데 그 이름을 왜 스크래치라고 지었는지 모른다면 스크래치 교육 더 나아가 블록형 코딩 교육의 본질을 이해하지 못하고 교육을 하는 것은 아닌가 하는 우려가 있다. 

 

 

스크래치 어학사전1.png

 

 

우선 스크래치를 영어 사전에서 찾아 보았다. 사전적 의미는 긁다, 긁힌 할퀸 자국, 있는 대로 그러모아 만든 등 별로 좋은 어감은 아닌 것 같다. 저렇게 귀여운 고양이가 주인공인 프로그래밍 언어를 그렇게 힘들여서 만들고는 멋진 이름을 붙이지 않고 왜 긁힌 자국 이라는 뜻의 스크래치로 지었을까?

 

dj-drops.jpg

 

 

 

70년대부터 생겨나기 시작한 클럽, 나이트 클럽에 가면 디제이가 있다. 이들은 여러 가수의 판을 가져와서 긁고 비비고 하면서 특이한 소리를 만들어 내면서 여러 음악을 mixing 해서 손님들의 흥을 돋운다. 치키치키 촤촤. 옛날 생각 난다.

 

 

 

이러한 DJing은 음악을 만들지는 않지만 있는 기존의 음악의 좋은 부분을 잘 섞어서 새로운 음악으로 만들어 내는 일을 하는 것이다. 이러한 믹싱 작업을 스크래치 한다고도 한다. 판을 긁고 문지르고 하기 때문에 그렇게 부른다. 

 

Mitchel_Resnick.jpg

 

 

 

그러면 이러한 클럽의 디제잉과 코딩이 무슨 상관이 있어서 그 랭귀지를 스크래치라고 지었을까? 스크래치의 창시자들은 학생들이 처음부터 끝까지 혼자서 코드를 만들어 내는 즉 창조(創造)해 내는 것을 생각하지 않았던 것이다. 아이디어가 떠 오르면 이미 기존에 만들어진 여러 작품들의 필요한 코드를 섞어서 자기만의 작품으로 창의(創意)하기를 윈했고 그것에 맞는 교육 툴이라고 생각했기 때문에 스크래치라고 네이밍 한 것이다.

 

 

스크래치 사이트1.png

 

 

 

 

스크래치 공식 사이트에 들어가면 몇 가지 카테고리가 있는데 사람들이 최근에 코드를 공유하기 시작한 작품과 사람들이 리믹스 중인 프로젝트를 보여주는 카테고리가 있다. 리믹스…디제이가 하는 일이 리믹스 아닌가? 

 

 

슈퍼카트11.png

 

 

 

 

그 중의 한 작품인 Super Cart란 자동차 게임을 눌러 보았다. 오른쪽 하단에 나무모양이 있고 87이란 숫자가 보인다. 그것을 눌러보면

 

슈퍼카트21.png

 

 

 

이렇게 87개의 작품의 계통도가 나온다. 리믹스 트리이다. 누가 누구의 코드를 가져다 사용했는지 스크래치 사이트에 등록하면 자동으로 저렇게 리믹스 트리를 만들어 준다.

 

 

 

스크래치 이전의 텍스트 코딩 교육의 경우 오픈소스라는 것이 있기는 하지만 많은 것을 스스로 다 창조해 나가는 상당히 길고 어려운 과정을 마스터 해야 했다. 직업을 구하기 위한 성인교육에서는 그것을 참고 견딜 수 있을 지 모르지만 꼭 프로그래머가 되려는 생각이 없는 아이들 교육에서는 상당한 장애가 될 수 밖에 없었다.

 

 

 

아이디가 있으면 자신이 아직은 만들 수 없는 코드는 다른 사람의 코드를 가져와서 창의하는 것이니 코딩의 기술보다는 문제를 해결하는 설계 능력이 중심이 되도록 고안된 것이다. 그리고 리믹스 하면서 공유화 협업정신까지 배울 수 있도록 스크래치는 만들어진 언어인 것이다.

 

 

 

결론적으로 스크래치는 창조교육이 아니라 창의교욱의 도구로서 고안된 것이고 문제해결력이 코딩의 기술 보다 중요하다는 철학이 그것이 이름에 투영되어 있는 것이다. 그런데 현재 많은 코딩 강사들이 이렇게 좋은 툴을 기존의 텍스트 코딩 가르치듯이 활용하는 것을 많이 봐서 그냥 한 번 적어 봤다. 

 

번호 제목 글쓴이 날짜 조회 수
공지 2023 Software Development Trend 정리 황제낙엽 2024.01.19 1
108 마이크로소프트 MSDN의 이해 file 황제낙엽 2018.09.18 69
107 효율적인 양식 디자인: 구조, 입력, 레이블 및 액션 file 황제낙엽 2018.05.08 79
106 마이크로소프트 제품의 라이선스 - 패키지(FPP)와 볼륨라이선스(Volume License) 황제낙엽 2018.04.12 83
105 효과적인 모바일 애니메이션 응용예 file 황제낙엽 2018.03.30 671
104 notepad2 에서 문서내의 일부 문자열의 byte 크기 알아내기 file 황제낙엽 2018.03.29 1208
103 부동소수점 연산에 관한 정리 황제낙엽 2018.03.26 1051
102 버튼 디자인의 고찰 (12가지 팁) file 황제낙엽 2018.02.07 68
» 스크래치는 왜 이름이 스크래치 인가? file 황제낙엽 2018.02.01 108
100 윈도우10 FPP,OEM,DSP,ESD 라이선스 file 황제낙엽 2017.10.24 265
99 Atom(에디터) file 황제낙엽 2017.08.31 311
98 엑셀(excel)에서 16진수 -> 10진수 변환 file 황제낙엽 2017.08.29 4294
97 어린이, 청소년용 프로그램 입문 황제낙엽 2017.05.03 69
96 마이크로소프트로부터 기술지원을 받기 위한 Access ID 발급 방법 황제낙엽 2016.12.05 37
95 컴퓨터는 음수를 2의 보수법으로 표현한다 file 황제낙엽 2016.10.24 753
94 변수를 unsigned int형 선언 0xffffffff 할당 결과가 -1이 되는 이유는? 황제낙엽 2016.10.24 376
93 0xFFFFFFFF의 값은 왜 -1인가? 황제낙엽 2016.10.24 177
92 unsigned와 signed 황제낙엽 2016.10.24 81
91 MSDN 라이선스 종류와 혜택 file 황제낙엽 2016.07.12 69
90 컴퓨터와 인간의 대화[20]-전각 문자와 반각 문자 황제낙엽 2016.04.22 122
89 컴퓨터와 인간의 대화[19]-인텔 HEX 황제낙엽 2016.04.22 28