외국어 문법을 안다고 해서 외국어가 바로 유창해지지는 않습니다. 문법대로 낱말을 나열해도 말이 안 되거나 어색한 경우도 있지요(예: 콩글리시). 해당 언어의 관용어도 배워야 하고 문화도 어느 정도 익혀야 합니다. 프로그래밍 언어도 마찬가지입니다. 문법을 안다고 해서 자기한테 닥친 문제를 모두 척척 해결할 수 있는 것은 아닙니다. 인간의 언어와 마찬가지로 해당 프로그래밍 언어의 특징을 잘 드러내는 이디엄도 익혀야 하고 그 언어 사용자 커뮤니티가 오랜 시간 쌓아온 개발 문화도 익혀야 그 언어의 ‘원어민’이 되어 간다고 볼 수 있습니다.

그런데 이런 내용은 그동안 대개 몸으로, 즉 메일링 리스트나 게시판을 탐독하거나 잘하는 선후배·동료 개발자에게 물어보거나 하는 방식으로 익혀야 했습니다. 그 과정에는 시행착오도 제법 따르죠. 이와 같은 내용을 프로그래밍 언어 문법을 배우듯이 어느 정도 정리된 책으로 배울 수 있다면 시행착오를 줄일 수 있지 않을까요? 이번에 소개하는 책이 바로 그와 같은 틈새를 노린 책입니다.

이 책의 지은이 줄리안 단주는 10년 넘게 오픈 소스 소프트웨어 개발에 참여해 왔고 최근 몇 년간 오픈스택 프로젝트에서 파이썬을 사용해 온 개발자입니다. 줄리안 단주는 이 책에서 파이썬 문법을 어느 정도 익히고 그럭저럭 돌아가는 프로그램을 짤 수 있게 된 개발자들이 그다음으로 익혀야 할 여러 유용한 내용을 자신의 오픈 소스 프로젝트 경험을 통해 정리하고 있습니다. 프로젝트 디렉터리 구성은 어떻게 할지, 파이썬의 풍부한 표준 라이브러리는 어떻게 활용할지, 문서는 어떻게 작성할지, 다 만든 프로그램은 어떻게 배포해야 할지, 개발 환경은 어떻게 구성해야 할지, 그리고 파이썬 중고급자로 올라서는 데 어떤 기법을 익혀야 하는지 제시하고 있습니다. 또 파이썬 세계의 실력 있는 개발자들과 인터뷰를 통해 그들의 경험을 전달하고 있는 점도 이 책에서 눈에 띄는 부분입니다.

C++나 자바에 비해 상대적으로 간결하다는 파이썬의 특성 덕에 파이썬에 비교적 쉽게 입문했지만 파이썬을 실전에 어떻게 적용하면 좋을지 고민하던 개발자 분들에게 일독을 권합니다. 마지막으로 베타 리딩에 참여해 주신 홍민희 님의 추천의 글을 인용하면서 책 소개를 마칠까 합니다.

『실전 파이썬 프로그래밍』은 고급 파이썬 프로그래밍을 다루는 최초의 한국어 번역서다. 한국에서도 파이썬의 인기는 해가 거듭할수록 커지고 있지만, 한국어로 된 파이썬 서적이 다루는 분야는 입문에서 ‘겨우’ 돌아가는 프로그램을 어떻게든 만드는 수준까지가 대부분이다. 그런 책들을 통해 파이썬의 매력에 빠진 프로그래머들의 ‘다음 단계’에 대한 갈증을 풀어줄 한국어 책이 지금까지는 딱히 없었지만, 이제는 이 책을 읽으면 된다.

『실전 파이썬 프로그래밍』은 ‘어떻게든’ 돌아가는 프로그램을 만드는 것이 목표였던 기존 책에서는 다루지 않던 중요한 고급 주제들을 모두 다룬다. 가령 단순히 ‘애플리케이션’을 만드는 것을 넘어서 다른 애플리케이션에서도 활용될 수 있는 ‘라이브러리’를 만들 때 필요해지는 PEP 8 같은 표준적인 관례, setuptools를 통한 표준적인 패키징 방식, 파이썬 2부터 파이썬 3까지 여러 버전에서 두루 잘 동작하는 코드를 작성하고, 그 코드를 한꺼번에 모든 버전에서 테스트해 보는 방법, 스핑크스를 활용한 표준적인 문서화 방식, CPython 외에도 고려해야 할 PyPy 등의 대안 파이썬 구현들을 다룬다. 그 외에도 더는 무시할 수 없어진 병렬화나 비동기 이벤트 기반 아키텍처, 함수형 프로그래밍, AST나 임포트 훅을 사용한 메타프로그래밍 등도 충실하게 짚고 넘어간다.

파이썬을 접하고 이제 ‘어떻게든’ 돌아가는 프로그램을 만들 수 있게 된 모든 프로그래머에게 이 책을 다음 단계로 권하고 싶다. 파이썬 프로그램을 ‘잘’ 짜는 비법을 배울 수 있을 것이다.

* 구입처

[Yes24] [교보문고] [알라딘] [인터파크]

정오표