|
작년 OOPSLA 2005 때 매리 배쓰 로손 교수의 기조 연설 제목이 유저의 종언(The End of Users, 강연기록, 발표자료)이었습니다. 과연 이게 무슨 말일까요?
일단 제가 예전에 이지님 블로그에 쓴 댓글을 인용하겠습니다. 프로그래밍과 "프로그램의 사용" 간의 경계선은 오늘날 점점더 흐릿해지고 있습니다. 우리의 프로그램들이 점점 더 자동화될수록 그 프로그램을 "프로그래밍"하려는 우리의 필요와 욕구는 늘어나게 됩니다. 요즘은 사용자 참여성이 중요한 웹 2.0이 뜨고 있고, 게임에서도 사용자가 디자인해 나갈 수 있는 것(비슷하지만 비상업적, 교육적인 것으로는 크로케가 있습니다)들이 부상하고 있습니다. 저는 여기에서 매우 중요한 흐름의 변화를 보고 있습니다. 우리가 생각하기에 개발자, 프로그래머는 사용자와는 매우 이질적인 집단일 것 같습니다. 하지만 사실 대다수의 컴퓨터 사용자들은 매일 프로그래밍을 하고 있습니다. 정도의 차이(예컨대 세련도나, 의식적 행위 여부 등)가 있을 뿐입니다. 요즘에는 사용자들이 이렇게 프로그래밍 하는 것을 드러내놓고 도와주려는 시도들이 많습니다. 그만큼 사용자들의 요구와 필요가 커진 것이기도 합니다. 여기에서 중요한 것은 과연 어떻게 하면 전문 프로그래머가 되게 하지 않으면서도(즉 비용을 최소화 하면서도) 엔드 개발자의 욕구를 충족할 수 있을까 하는 겁니다. 지난 토요일에 르네상스 클럽 모임을 했고, 거기에서 김승범군이 EPL(Educational Programming Language, 교육용 프로그래밍 언어) 워크샵 참석 경험을 이야기 했습니다. 이런 연구의 내용들이 힌트가 될 겁니다. (참고로 저는 EPL의 Educational이라는 단어는 지나치게 협소한 느낌을 주며, 학습의 대상이 프로그래밍 언어라는 느낌을 주는데, 이에 반해 저는 Learningful Programming Language라는 표현이 적절하다고 말했습니다 -- 여기에서 프로그래밍 언어는 다른 것들을 풍성하게 배울 수 있는 도구와 미디어라는 느낌이 듭니다) 김승범군이 까무라치는 경험을 했다고 하는 Viscuit Land를 살펴봅시다. 일단 그림체부터가 독특합니다. 너무 귀엽습니다. 제 생각에 싸이월드에서 이 프로그램을 적극 이용하면 제2의 전성기를 맞이할 수도 있겠다는 생각까지 했습니다. ![]() 비스킷 랜드는 시각적 언어입니다. 화면에 그림을 그리는 것으로 프로그래밍이 됩니다. 예를 들어 화면에 자동차가 있고 그 차가 오른쪽으로 진행하게 하고 싶으면 어떻게 할까요? 규칙을 추가합니다. 화면에 작은 상자 두 개가 나오고 둘은 화살표로 연결되어 있습니다. 출발 상자에 자동차를 집어 넣습니다. 그리고 목적지 상자에도 역시 자동차를 넣되, 출발상자의 자동차 위치보다 약간 오른쪽에 놓습니다. 그렇게 하고 실행하면 자동차는 우측으로 진행합니다. 말이 더 어렵죠? 비스킷 랜드도 이와 유사합니다. 이 그림은 KidSim(나중에 Cocoa, 지금은 Stagecast Creator)이라는 소프트웨어에서 프로그래밍하는 방식을 보여주고 있습니다. 화면에 이런 식으로 규칙을 추가합니다. 이 규칙을 이용해서 맥주병을 나르는 동영상을 한번 보시죠. 이걸 이용하면 애니메이션을 만들 수도 있고, 게임을 만들 수도 있습니다(게임 제작 과정 동영상). 비스킷 랜드로 만든 예제들도 몇개 볼까요? 개발자분들은 이걸 보고, 아 이건 패턴 매칭 시스템/규칙 기반 시스템이네! 하고 생각이 드실겁니다. 맞습니다. 관심 있는 분들은 비스킷 랜드의 저자가 쓴 영문 논문을 보시죠. 제목이 Fuzzy Rewriting : Soft Program Semantics for Children 입니다. http://www.ipl.t.u-tokyo.ac.jp/~tops/OHP/haradaVL2003.pdf 워크샵에서는 저자가 비스킷 랜드를 이용해서 트래픽 제어 시뮬레이션도 보여주고, 논리회로(AND, OR, NAND 등)도 시연해 보였다고 합니다. 비스킷은 NTT의 후원으로 진행된 프로젝트인데, 저자는 이걸 3개월만에 첫 릴리스를 만들었다고 하며, 만든 동기는 자기 딸에게 프로그래밍을 가르치고는 싶은데 기존의 구태의연한 방법 말고 새로운 방법으로 가르치고 싶어서 이런 걸 만들었다고 하네요. 본인이 기획자라면 비스킷 랜드를 다운로드 받아서 여러가지 실험도 해보고 애들과 같이 놀아보시기 바랍니다. 많은 아이디어를 얻을 수 있을 겁니다. (일본어가 안되면 번역 사이트를 통해서라도...) 한 5분 정도만 만지작 거리다보면 재미있는 애니메이션을 바로 만들 수 있습니다!!! 이러식으로 내가 하고 싶은 것의 예를 그대로 드러내면 프로그래밍이 되는 것을 일컬어 Programming By Example (예에 의한 프로그래밍)이라고 합니다. PBE는 넓게 보면 End User Development라는 연구에 속하는 것이죠. http://web.media.mit.edu/~lieber/PBE/index.html http://eusesconsortium.org/ 자 여기에서 한발자국 더 나아가면? 당연히 연결될 수 있는 개념은 "커뮤니티"입니다. 엔드 개발자들의 커뮤니티. 로손 교수의 연구를 언급하겠습니다. (노인과 청소년들이 짝을 이루어 커뮤니티 시뮬레이션 프로그램을 만들면서 서로 학습을 했다 뭐 그런 이야기입니다)
이런 연구들은 당연히 전문 프로그래머/개발자들에게도 도움이 됩니다. 앞서 소개한 PBE를 실제 프로그래머들이 사용하는 언어에 적용한 예가 Example Centric Programming입니다. 한동안 인터넷에서 엄청난 반향을 불러 일으키기도 했죠. http://subtextual.org/ 참고. --김창준
|
메모장
이글루 파인더
최근 등록된 덧글
이오공감에서 왔습..
by Riz루운 at 08/31 비슷한 고민을 해본적.. by jenix21 at 08/29 다음카페 패디모 라는.. by 민물토끼 at 08/27 좋은글 잘읽었습니다.. by 버닝핸즈 at 08/27 긍정 심리학의 연구에.. by 전창민 at 08/26 좋은얘기 잘 읽고 갑.. by 꾸르바에서 본 하늘 at 08/26 좋은 글 읽었습니다~.. by grampus at 08/26 좋은글 정말 감사합.. by 엄상운 at 08/26 안녕하세요 그냥 한R.. by 엄상운 at 08/26 공감에서 왔습니다^.. by 민찬 at 08/25 최근 등록된 트랙백
짜장의 생각
by chcha's me2DAY 심호흡 한 번 하고. by Wind behind the .. 나는 앞으로 뭐 해먹.. by 초식동물의 겨울잠둥.. 나는 앞으로 뭐 해먹.. by Heart♪ 정말 좋아하는가? by 홀로 아리랑 이전 블로그
2008년 08월
2008년 07월 2008년 06월 2008년 05월 2008년 04월 2008년 03월 2008년 02월 2008년 01월 2007년 12월 2007년 11월 2007년 10월 2007년 09월 2007년 08월 2007년 07월 2007년 06월 2007년 05월 2007년 04월 2007년 03월 2007년 02월 2007년 01월 2006년 12월 2006년 11월 2006년 10월 2006년 09월 2006년 08월 2006년 07월 2006년 06월 2006년 05월 2006년 04월 2006년 03월 2006년 02월 라이프 로그
| |||



