The Art of Computer Programming 1 (도널드 커누스, 2006) 독후감
커누스 형님이 지은 책. 감히 art를 붙인 책. 10년 동안 TEX를 만들게 한 책. 빌 게이츠가 다 보면 이력서를 달라는 책. 지금 다 보고 이력서 넣으면 자선 단체에서 일하겠지만. 아 그리고 많이 추천은 하지만 본 소감을 찾아보기 어려운 책이기도 하다. 그리고 또. 다 한번 보기는 했는데, 이걸 봤다고 소감을 적어도 될지 망설여지는 책이기도 하다.
1권은 수학과 기초 알고리즘이 실려 있다. 최근 이산 수학 쪽에 부족함을 느껴 <이산수학> 책을 다시 봤는데, 지금 생각해보면 이 책 수학부분을 보는 게 더 나은 선택인 것 같다. 내가 판단하기엔 선형대수나 수치해석이 필요한 작업 말고는 컴퓨터 프로그래밍에 바닥을 깔아주는 이산수학 지식으로는 이 책 수학부분만으로도 충분한 것 같다. 위키피디아에서 참고하라고 적는 책이기도 하니깐.
기초 알고리즘은 알고리즘을 공부했다면 전혀 어렵지 않은 주제를 설명한다. 다만, 알고리즘 구현 방법이 달라질 뿐. 고 수준 언어가 아니라 커누스 형님이 고안한 MIX로 문제를 풀게 된다. 크. 난 여기서 꽤 힘들었는데, 구현 도구가 한 차원 내려가니 정말 구현에 애를 먹었다.
일단 이런 책이 번역될지도 몰랐고 언제 절판될지 몰라 번역된 걸 다 사긴 했는데, 시작할 엄두가 나지 않았다. 그래! 스터디가 이러라고 있잖아. 작년 2010 아꿈사 포스트모템에서 운을 띄우고 올해 1월부터 시작해 5개월이 걸렸다. 사실 혼자 봤으면 끝까지 못 보지 않았을까 하는 생각도 든다. 아무래도 5개월 동안 계속된 스터디이다 보니 사람이 계속 빠져서 발표를 5번이나 했다. 위키 페이지에서 스터디 기록을 볼 수 있다.
이 책을 보고 난 뒤에 나는 어떻게 변했을까? 사실 모르겠다. 어려운 책을 다 이해는 못 했지만, 끝까지 완주했다는 자신감은 생겼지만 정말 이 책에서 얻은 지식이 내게 어떤 변화를 일으켰는지는 모르겠다. 사실 이런 책을 보는 데는 용기가 필요하다. 같은 노력과 시간이면 바로 사용할 수 있는 실용 서적을 여러 권 볼 수 있으니깐. 실전 초식은 배우지 않고 내공 수련만 하는 초짜 무림 수련생이 가지는 느낌이랄까? 그래도 배운 게 어디 가겠나? 내 속에 어딘가에 내공으로 쌓여 있을 것을 기대한다. 아… 그러고 보니 최근에 내 생각으로 자료구조에 관련된 일을 꽤 그럴듯하게 풀어냈다. 어느 정도 도움을 받지 않았을까?
PS : 내년에 운 띄어보고 2권을 하던지. 아님 혼자 해야지. 1권 했으니 해볼 만 할 듯.
Update
표지 사진 교체