책 만드는 일을 하고 있으며, 이따금 IT 관련 서적을 번역하기도 한다. 옮긴 책으로 『헬로! 파이썬 프로그래밍』 『자바 API 디자인』 『풀스택 자바스크립트 개발』 『테스트 주도 개발로 배우는 객체 지향 설계와 실천』 『자바스크립트 개론』 『모듈라 자바』 『시작하세요! 맥 OS X 라이언』 『도메인 주도 설계』 『하이버네이트 완벽 가이드』 『개념을 잡아주는 프로그래밍 정석』 등이 있다.
대학에서 처음으로 프로그래밍 과목을 들은 이후로 졸업하기 전까지 전산 관련 과목을 들었는데, 돌이켜 보니 그 중에 많은 시간을 프로그래밍 언어에 익숙해지는 데 보냈던 것 같다. 지금이야 처지가 그나마 낫지만 당시에는 교과 과정에서 배운 내용을 명쾌하게 이해하면서도 실습 시간에 C, C++, 자바로 짠 프로그램이 해당 언어의 세부 사항과 맞물려 도저히 이해하기 힘든 증상을 보여 애타했던 적이 한두 번이 아니었다. 그때는 그게 왜 그렇게 어렵고 힘들었는지 지금 생각하면 허탈하기만 하다.
이 책을 옮기면서 생각해봤다. '학교에서 수업을 들을 때 파이썬이라는 언어로 수업을 진행했다면 어땠을까'하고. 본문에도 나오지만 처음 프로그래밍을 배울 땐 주객이 전도되는 현상을 자주 겪는다. 코드 한 줄 이해하는 데 도리어 그것을 표현한 프로그래밍 언어의 세부 사항에 압도돼 버리는 현상 말이다.
동영상 사이트인 유튜브에 들어가 'MIT Introduction to Computer Science'로 검색해보자. 검색 결과로 나오는 동영상을 보면 알겠지만 세계적으로 이름난 대학 중 하나인 MIT에서도 파이썬을 이용해 프로그래밍 개론 강의를 진행한다. 그 밖에도 대학에서 프로그래밍을 가르칠 때 파이썬을 채택한 사례는 어렵지 않게 찾아볼 수 있다. 그런데 수많은 언어 가운데 굳이 파이썬을 채택한 이유는 뭘까?
본문의 예제 코드를 보면 알겠지만 파이썬 코드는 자체가 알고리즘에 가깝다. 언어 자체의 간결함과 높은 가독성은 파이썬을 배우고 쓰기 쉽게 해준다. 따라서 목적하는 개념 이해와 문제 해결에만 오롯이 집중할 수 있다. 더불어 풍부한 라이브러리와 짧은 개발 주기, 다른 프로그래밍 언어와의 손쉬운 통합은 오늘날 기업의 지상 과제인 적기출시(Time to Market)를 실현하는 데도 도움이 될 것이다.
하지만 무엇보다도 파이썬 언어가 주는 매력은 바로 프로그래밍의 재미다. 여기서 재미란, 프로그래밍 언어로 내가 하고 싶은 일에만 집중할 수 있을 때 성립하는 요소다. 특히 프로그래밍을 처음 접하거나 익숙지 않은 전산 전공자의 경우에는 이런 요소가 더 중요하리라 생각한다. 언어적 세부 사항에 압도돼 프로그래밍이 주는 즐거움을 느끼기 힘들었다는 사람이라면 더더욱 그렇다.
이런 점을 감안한다면 저자가 파이썬을 선택한 이유는 자명하다. 사실 이 책에서 저자가 전하고자 하는 바는 언어적 세부 사항에 있지 않기 때문이다. 이 책은 기본적인 프로그래밍 요소부터 알고리즘, 디버깅, 객체지향 프로그래밍, 테스트 주도 개발, GUI 제작, 데이터베이스 활용법까지 전산 전공자뿐 아니라 현장에서 근무하고 있는 프로그래머라면 꼭 짚고 넘어가야 할 내용을 이해하기 쉽게 설명한다. 다시 한 번 '예전에 프로그래밍을 처음 배울 때 이 책으로 시작했으면 어땠을까'하는 생각을 해본다.