한빛리더스 활동을 하며 그동안 프로그래밍이나 보안 등의 도서들을 위주로 리뷰를 수행해왔다. 그런데 이번에는 참으로 독특한(?) 책을 선택하게 되었다.

서문에서 옮긴이 '김나솔'님은 이 책을 "한 문학덕후 프로그래머가 문학 거장들에게 빙의되어 코딩하고 쓴 책"이라고 정의하셨다.


즉, 어니스트 헤밍웨이, 셰익스피어, 찰스 디킨스, J.K 롤링 등 (본인이 들어본 작가만 꼽은 것이며 실제로는 25인 정도)의 작가들이 만약 프로그래밍을 한다면, 그들이 평소에 문학작품을 집필할 때 사용하던 나름의 문체적 습관이 코드에도 그대로 녹아있지 않을까? 하는 발상에서 이 책이 탄생한 것이다.


예를 들어, 다빈치 코드로 유명한 댄 브라운(Dan Brown)이 만약 피보나치(Fibonacci) 수열을 구현한다면 아래와 같지 않을까?


나는 자바스크립트를 잘 모르기 때문에.. 사실 대충 눈으로만 코드를 읽었다. 때로는 잘 이해가 되지 않는 코드도 있었는데, 거의 코딩 인터뷰나 알고리즘 서적을 읽는 것 같은 느낌도 들었다. 한개의 주제 안에 5명 정도의 작가가 동일한 내용을 저마다 다르게 구현하는 방식으로 전개가 된다. 꼭 그런 것은 아니지만, 처음에 나오는 작가의 코드가 가장 쉽고 많이 사용하는 방식인 것 같고, 뒤로 갈수록 괴기하고 독특한 발상이 돋보이는 코드가 등장한다.


코드가 나온 다음에는 해당 작가로 빙의된 사람이 등장하여 그 코드를 풀이해준다. 그마저도 문학적이다.


각 단원 사이에 쉬어가는 코너 처럼 배치된 '시적 간주'에는 코드가 아닌 '문학 작품'에 프로그래밍적 상황을 부여한 에피소드가 아래와 같이 등장한다. 참 독특하다.ㅋㅋ

에드거 앨런 포(Edgar Allan Poe)의 '큰 까마귀(The Raven)'에 부쳐. p50
에드거 앨런 포(Edgar Allan Poe)의 '큰 까마귀(The Raven)'에 부쳐. p50


사실... 나는 문학에 정통한 사람은 아니다. 그래서 이책을 처음 펼쳤을 때 대략난감...하였으나..

이 책의 번역자분께서 활동하시는 페이스북 그룹 '개발자 영어'(https://www.facebook.com/groups/engfordev/)에서 역자님이 투혼을 불사르신 흔적을 보니 차마.. 책을 놓을 수 없었다. ㅎㅎ 편집자분의 글은 한빛출판네트워크의 게시판에서 확인할 수 있다. [편집자 Choice : 내가 이러려고 이 책을 냈나 자괴감 들어]


어쨌든 이 책은 그동안 시도되지 않았던 다양한 시도였으며 본인에게도 큰 도전이었다. 나중에 기회가 되면 내가 주로 사용하는 파이썬으로 이 책의 코드를 포팅하고 싶다.


그리고, 이 책에 실려있는 코드가 검증된 코드인지, 아니면 그냥 감상을 위한 것인지 궁금하다. 자바스크립트에 능숙하지 않기에 이 문법이 정말 맞는지 의문도 들었다. 간혹 세미콜론이 없거나 라인 인덴트 처리가 잘 되어있지 않은 경우가 있었는데, 이 모든 것이 그저 작품 특성상 '시적 허용'과 같은 것인지, 아니면 정말로 코드 오류인지 궁금하였다.(한빛출판은 IT 전문서적에서 코드 오류를 매우 꼼꼼하게 검토하는 곳이다) 혹시나 싶어서 원소를 찾아 대조해보았는데, 원서와 역서의 코드는 일치한다. 따라서 번역이나 편집과정의 오류는 아닌 것 같고 원저자인 앵거스 크롤(Angus Croll)에 문의해보아야 할 것 같다.


이런 어려운 책을 번역하고 편집하셨을 분의 노고에 감사드리고 싶다.


P.S. 어떤 독특한(?) 분은 또 책의 코드 일부를 Java, Python, Haskell 등의 언어로 재구현하여 github에 올려두셨다.

(https://github.com/friedbrice/hemingway)



CPUU님의 창작활동을 응원하고 싶으세요?