프로그래밍은 상상이다


프로그래밍은 상상이다 cover
Cover of 프로그래밍은 상상이다

총평


되돌아보기

상상력이 풍부한 프로그래머일수록 객체 상호간의 연관성에 대해서 남보다 더 섬세하게 사고한다. 객체의 역할과 성격을 적확하게 규정하고, 기억 속에 존재하는 디자인 패턴을 끄집어내어 객체들이 이루는 관련성에 깊이 주목한다.

키보드 위를 엄청난 속도로 누비던 프로그래머의 손가락은 어느 순간 문득 멈춘다. 그는 커피를 한 모금 마시고, 잠깐 허공을 바라본다. 한 손은 커피 잔을 들고, 다른 한 손은 여전히 키보드 위에 놓여 있었다. 그리고 그의 마음속에서 논리적 추론이 조용히 고개를 든다.

한번 곰곰이 생각해보자. 우리가 회사에서 하는 일을 하는 8시간 중에서 정말로 ‘일’을 하는 시간은 얼마나 될까?

[샤샤 로보와 홀름 프리베]의 논지에 따르면 집에서건 회사에서건 내가 일에 충분히 집중하지 못하는 이유는 … 환경의 탓이 아니라 내가 하는 일이 결국 ‘나’의 일이 아니기 때문이다.

디지털 시대의 일과 놀이의 경계선

… 학교에서 배우는 내용의 대부분이 현실적으로 별로 쓸모가 없게 된 것만큼이나 분명한 사실이다. …. 내가 회사에서 일을 하기 위해서 사용하는 자바 프로그래밍 언어에 대해서 새롭게 배우는 정도를 나타내는 값은 내가 지금 자바소포트의 웹 사이트나 헤인즈 캐부트(Heinz Kabutz)가 발송하는 뉴스레터를 통해서 배우는 정도를 나타내는 값을 넘지 못할 것이다.

정교한 객체를 설계하고, 최선의 알고리즘을 작성하고, 밤늦도록 버그를 잡는 프로그래밍은 많은 순간, ‘놀이’와 구분하기 어렵다. 뭐라고 말로 설명하기는 어려운데, 프로그래밍이라는 행위 속에는 확실히 놀이의 측면이 다분하다.

프로그래머인 당신을 힘들게 하는 무엇이 있다면 …. 그 무엇이 프로그래밍 자체인 경우는 없을 것이다.

취미로 즐겨보는 컴퓨터 그래픽스

석기 시대의 인류가 물감대신 타다 남은 마루토막으로 동굴의 벽에 멋진 황소의 모습을 그렸듯이, 텍스트 모드라는 시대적 한계에 갇힌 컴퓨터 사용자들은 128개의 문자를 나열해서 꿈을 표현했다. 그들의 상상은 아무런 한계가 없었다.