우리는 컴퓨터 프로그래밍(코딩)을 흔히, 이미 해답을 아는 상황에서 정리된 지식을 컴퓨터에 옮겨적는 작업(transcribe)이라고 생각하는 일종의 전형이 있는 것 같습니다. 그래서 컴퓨터를 켜놓고 생각하는 것은 죄악시하거나 뭔가 더 개선해야 할 상황으로 보기 쉽지요.

그러면 생각이라는 과정은 어디에서 일어나는 것이 옳다고 볼까요? 종이와 펜을 떠올리는 사람이 많을 겁니다. 문자, 기호, 그림이라는 것들은 우리의 머리속 생각을 외현화하는 놀라운 힘을 갖고 있습니다. 내 머리속은 이렇다 하고 남에게 보여줄 수도 있고 그 생각을 보면서 다시 생각할 수 있는 힘이 생긴 것입니다. 외현화의 부차적 이득은, 외현화 과정 자체가 단순히 표현하는 행위일 뿐 아니라, 그 자체로 지식을 조직화하고 연결지으며 새로운 지식을 발견하게 하는 효과가 있다는 것입니다. 친구에게 질문할 것이 있어서 문제상황을 설명해주다 보면 나도 모르게 답을 찾아내어서 "고맙다"는 말을 남긴채 훌쩍 떠납니다 -- 친구는 입도 뻥끗 안 했는데 말이죠.

이렇듯 외현화 도구로서의 종이와 펜은 인간에게 무척 유용한 사고의 도구입니다. 그런데, 한번 생각해 봅시다. 왜 컴퓨터가 이런 외현화 도구가, 사고의 도구가 될 수 없습니까? 컴퓨터 프로그래밍을 통해 내가 잘 모르거나 흐릿하게 알고 있는 것을 정리하고 분명하게 만들 수 있지 않을까요? 컴퓨터를 사고의 도구로 사용할 수는 없을까요? 이미 정리된 지식을 좌악 쏟아내기 위해서가 아니고, 머리 속에 있는 지식들을 정리하고 내가 뭘 알고 뭘 모르는지 분명히 하기 위해 사용할 수는?

저는 가능하다고 생각하며, 매우 강력한 사고의 도구가 될 수 있다고 봅니다. (좀 더 자세한 이야기는 다음에)

--김창준