파이썬 코딩의 기술 리뷰
"어떤 일에든 명확한 - 바람직하며 유일한 - 방법이 존재한다."
(There should be one— and preferably only one —obvious way to do it.)
- The Zen of Python
파이썬을 처음 접했을 때, "import this"를 통해 파이썬의 철학을 담은 경구들을 보며 신기했던 기억이 있다. 그 중 가장 내 마음을 사로잡았던 것은 '어떤 일에든 바람직하며 유일한 방법이 존재한다'는 아이디어였다. 학창 시절 좋아했던 모 수학 강사는 "필연의 길을 따라 집요하게"라는 말을 자주 했었는데, 파이썬은 그런 프로그래밍 언어 같았다. 실력을 쌓기 위해 한 걸음, 한 걸음 나아갈수록 코드의 스타일이 여러 방향으로 발산하는 것이 아니라 유일한 모범 답안에 수렴해가는 언어말이다.
사실 이러한 파이썬의 특징 때문에 어디에 가서 파이썬을 잘 사용한다고 말하기는 어려운 것도 사실이다. 정말 파이썬에 대한 내공이 깊은 사람이 아니라면, 자신이 정말로 최선의 방식으로 코드를 짰는지 장담할 수 없기 때문이다. 그래서 대부분의 사람들은 수많은 파이썬 서적들 - 레퍼런스부터 쿡북까지 -을 뒤적이며 "Best practice"를 연마하기 위해 노력한다. 그렇게 삽질을 하다보면 자연스레 이런 생각이 들기 시작할 것이다. "대체 그 바람직하며 유일한 방법은 어떻게 배울 수 있는거야?" - 다행히, 파이썬에도 'Effective Python'이라는 훌륭한 참고서가 존재한다. (우리나라에는 '파이썬 코딩의 기술'로 출판되었다.)
'파이썬 코딩의 기술'은 59가지의 항목을 통해 파이썬다운 코드를 작성하는 다양한 노하우를 전달한다. 물론 그저 그런 책들처럼 단순히 모범 사례를 나열하며 재미없게 코드를 설명하지 않는다. 우선은 일반적인 솔루션을 순진하게 구현하는 방법을 보여주는데, 내가 작성해오던 코드들과 비슷해 정곡을 찔린 기분이 들기도 했다. 저자는 대부분이 사람들이 생각없이 택하는 순진한 솔루션에 숨겨진 문제를 지적하고, 그것을 점진적으로 개선하여 코드의 품질을 향상시키는 방법을 제시한다. 그렇게 59가지 팁을 섭렵하며 나는 파이썬을 파이썬답게 만드는 최선의 방식에 한 발짝 다가갈 수 있었다.
물론 이 책이 모든 독자를 만족시킬 수는 없을 것이다. 프로그래밍 언어에 관한 일반적인 책과는 달리, '파이썬 코딩의 기술'은 독자가 파이썬에 대한 기본적인 지식이 있다고 가정하고 파이썬을 조금 더 효과적으로 사용할 수 있는 방법을 설명하기 때문이다. 그럼에도 이 책은 충분히 구매할 가치가 있는데, 수없이 많은 파이썬 입문서 중 한, 두권을 읽어서 초보 딱지를 뗀 사람이라면 자신의 실력을 한 단계 업그레이드시킬 수 있는 최고의 지침서이기 때문이다. 전화번호부 같이 두꺼운 기술서적을 사놓고 자랑스레 책장에 관상용으로 쌓아둘 것이 아니라면, 언뜻보기엔 소설책처럼 얇지만 하나도 버릴 것 없이 알찬 내용으로 가득한 '파이썬 코딩의 기술'이 훌륭한 선택지가 될 것이다.