갈루아의 반서재


해커가 계산이론에 대해서 알아야하는 것은 화가가 물감과 관련된 화학을 이해하는 정도면 충분하다. 예컨대 여러분이 파서를 작성한다면 시간과 공간의 복잡성을 계산하는 방법과 상태 기계의 개념에 대해서 알 필요가 있을 것이다. 그렇지만 사실 화가는 물감의 화학적 특징에 대해서 그보다 더많이 기억해야할 필요가 있다.


나는 스스로에게 다가오는 영감의 원천이 "컴퓨터"라는 말이 포함된 학과에 존재하는 것이 아니라 창조자들이 모여드는 영역에 존재함을 알게 되었다. 다시 말하자면 그림은 내게 그 어떤 계산 이론보다 풍부한 영감의 원천이 되었다.


내가 배운바로는 디버깅이란 틀린 철자나 부주의한 실수를 잡아내는 최후의 과정에 속했다. 그러나 내가 일한 방식대로라면 프로그래밍 자체가 완벽한 디버깅으로 이루어져 있다.


내가 프로그래밍하는 방식을 지칭하는 특별한 이름이 있다는 사실을 알 수 있을 것이다. 그 이름은 바로 '스케치'이다. 소설가, 화가, 그리고 건축가의 작업이 그런 것처럼 프로그램이란 전체 모습을 미리 알 수 있는 것이 아니라 작성해 나가면서 이해하게 되는 부분이다.


프로그래밍 언어는 당신이 머리 속으로 생각한 프로그램을 표현하는 도구가 아니라, 아직 존재하지 않는 프로그램을 생각해 내기 위한 도구다. 볼펜이 아니라 연필인 셈이다. 해커에게 필요한 도구는 마음껏 내갈기고, 더럽히고, 사방에 떡칠을 할 수 있는 언어이다.




해커와 화가
국내도서
저자 : 폴그레이엄 / 임백준역
출판 : 한빛미디어 2014.01.06
상세보기