Programming and Writing

Salvatore Sanfilippo

프로그래밍과 글쓰기

원문은 Salvatore Sanfilippo님이 에 게재했습니다. 이 블로그 구독하기

1년 전 나는 프로그래밍 인생을 잠시 멈추고 소설을 쓰기 시작했다. 새로운 일은 이전 일과 근본적으로 다를 것이라는 환상을 품고서였다. 강물처럼 쏟아낸 수많은 단어들, 쓰고 또 고쳐 쓴 끝에 나는 오히려 그 반대임을 확신하게 되었다. 큰 시스템을 프로그래밍하는 일과 소설을 쓰는 일은 공통점이 많고 과정도 닮아 있다는 것이다.

두 활동 사이의 가장 명백한 공통점은 둘 다 무언가를 ‘쓴다’는 점이다. 코드는 자연어로 쓰인 산문은 아니지만, 고정된 규칙(문법)을 가지고 있으며, 대다수 프로그래머가 자연스럽다고 느끼는 형식이 있는가 하면 형식적으로는 맞지만 이해하기 어렵게 느껴지는 형식도 있다.

그러나 두 활동 사이에는 훨씬 더 깊은 연결이 있다. 훌륭한 프로그램과 훌륭한 소설은 모두 잘 작동하는 국소적 요소와 전체적 요소의 합이라는 점이다. 좋은 코드는 잘 쓰이고 읽기 쉬운 개별 문장들로 이루어져야 하지만, 동시에 프로그램의 각 부분이 서로 직교하고 일관된 방식으로 설계되며 깔끔하게 상호작용해야 한다. 좋은 소설 역시 미시와 거시라는 두 차원에서 모두 성공해야 한다. 문장 하나하나가 잘 쓰여야 하지만 전체 구조와 각 부분 사이의 관계 역시 결정적으로 중요하다.

프로그래밍과 글쓰기 사이의 덜 구조적인 공통점은 두 작업에 임할 때 필요한 추진력에 있다. 성공하려면 앞으로 나아가야 하고, 나아가려면 꾸준해야 한다. 프로그램도 소설도 저절로 쓰이지 않는다는 점에는 폭넓은 합의가 있다. 아직까지는 말이다. 20년간 코드를 써 온 경험은 이 측면에서 내게 큰 도움이 되었다. 매일 앉아 써야만 일이 진전된다는 것을 알고 있었다. 하루는 100단어를, 다른 날은 2,000단어를 쓰더라도 페이지에 단어를 적지 않고 넘어가는 날은 드물다. 그리고 더 큰 시스템을 채우는 단순한 ‘필러’가 아니라 스스로 창조한 코드를 써 본 사람이라면 프로그래밍에서도 작가의 장벽이 존재한다는 것을 안다. 유일한 차이는 대부분의 사람에게 당신은 엔지니어라는 점이며, 그래서 일을 하지 않으면 당신은 그저 게으른 사람이라는 것이다. 예술가의 경우 그와 똑같은 게으름이 창작 과정의 매혹적인 일부로 둔갑한다.

차이점.

글쓰기와 프로그래밍 사이의 가장 뚜렷한 차이는 소설은 일단 쓰고, 고치고, 최종적으로 완성되면 대체로 불변한다는 점이라고 생각한다. 몇 년이 지난 뒤 자신의 소설로 돌아와 버그를 수정한 버전을 출간하는 작가들도 있지만, 이는 드물고 설령 일어난다 해도 일회적인 과정이다. 코드는 시간이 지나며 진화하고, 종종 여러 사람에 의해 끊임없이 변경된다. 이 단순한 사실이 두 과정에 지대한 영향을 미친다. 프로그래머들은 종종 시스템의 첫 버전이 꽤 불완전해도 괜찮다고 믿는다. 어차피 개선할 시간은 있을 테니까. 반면 작가들은 소설마다 단 한 번의 기회밖에 없다는 것을 알기에, 산문을 쓴다는 것은 대부분 고쳐 쓰는 행위다. 문장을, 장 전체를, 어색하게 들리는 대사를 때로는 두 번, 세 번, 심지어 열 번이고 고쳐 쓰는 것이다.

이 점에서 프로그래밍은 글쓰기로부터 배울 수 있다고 생각한다. 새로운 시스템의 최초 코어를 작성할 때, 원래 창작자가 아직 혼자 고립되어 무엇이든 할 수 있을 때, 그녀는 이 첫 코어가 자신의 유일한 기회인 것처럼 행동해야 한다. 시스템의 태동기에 그녀는 최상의 설계를 찾기 위해 이 원시적인 커널을 몇 번이고 다시 써야 한다. 나의 가설은 이 초기 설계가 이후에 일어날 일을 크게 좌우한다는 것이다. 좋은 초기 구조를 가진 것을 유기적으로 키워 나가면, 원래 창작으로부터 수년이 지난 뒤에도, 심지어 원래의 코어가 시스템이 결국 갖게 될 전체 규모에서 극히 일부에 불과했더라도 더 나은 시스템이 될 것이다.

관심이 있다면 내 SF 소설에 대한 간단한 근황을 전한다. 여러 차례 스스로 퇴고한 끝에 원고를 편집자인 줄리오 모치에게 보냈다. 그는 몇 주 안에 수정 제안을 보내 줄 것이다. 나는 그의 의견을 바탕으로 다시 퇴고 과정을 시작할 것이고, 앞으로 한두 달 안에 소설을 최종 완성할 수 있기를 바란다. 그러면 마침내 이탈리아어판을 출간할 준비가 된다. 동시에 완성된 소설은 미국에 있는 번역가에게 전달될 것이고, 그녀가 번역을 마치면 영어판도 출간될 예정이다. 긴 여정이지만, 나는 그 과정을 깊이 즐겼다.

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.

댓글