카테고리 보관물: 기대 신간

아직 읽지 않은 책에 대해 말하는 글입니다. 책 내용에 대해 보증하지 않습니다.

IT 분야 기대 신간 정리, 2016-06-06

오랜만에 국내에 나온 책들 중에서 내 맘대로 흥미로워 보이는 책들을 정리했다.

파이썬 코딩의 기술

대체로 프로그래밍 언어의 문법과 API에 익숙해지고 나면 어떻게든 기능하는 프로그램을 작성할 수 있게 된다. 하지만 그렇다고 해서 해당 프로그래밍 언어답게, 그 언어스럽게 프로그램을 작성할 수 있게 된다는 것을 의미하지는 않는다. 자연어도 마찬가지지만 어휘와 문법만 익힌다고 해서 언어를 ‘유창하게’ 구사할 수 있게 되는 것은 아니다. 그 언어로 사고하는 법을 익히고 이미 풍부하게 자리 잡고 있는 숙어나 표현 패턴 등을 체화해야 비로소 그 언어를 유려하게 구사할 줄 아는 것이다.

어떤 프로그래밍 언어를 익힐 때는 맨 먼저 입문서를 본다. 해당 언어의 철학과 배경, 문법, 어휘, 구조 등을 익히는 것이다. 그러고 나면 본격적으로 그 언어를 이용해 각종 문제를 해결하기 위해 프로그램을 작성하게 되는데, 앞에서도 언급했지만 기능하는 프로그램을 작성할 수 있게 될 수는 있어도 그 언어답게 구현하는 것은 별개의 문제라서 이 부분에서 바로 현실과 이상 간의 괴리가 생기고 만다. 프로그래밍 책 가운데 ‘이펙티브(effective)’라는 이름이 붙은 시리즈가 대체로 이 부분을 메꾸는 역할을 하는 책이다.

이번에 나온 『파이썬 코딩의 기술』은 제목에 ‘이펙티브’라는 표현이 붙지는 않았지만 원서 제목인 ‘Effective Python’이 붙어 있는 진짜 이펙티브 시리즈 책이다. 그래서 책의 구성도 다른 책과 마찬가지로 파이썬을 쓸 때 유용하게 참고할 수 있는 내용들을 각 요소별로 조언 형태로 59가지나 담고 있다. 파이썬 코드를 작성하다가 ‘이렇게 짜는 게 파이썬답게 짜는 건가?’라는 의문이 들 때마다 이 책을 들춰보면 파이썬스럽게 코드를 작성한다는 게 무엇인지 알게 될 것이다. 단순히 기능하기만 하는 프로그램에서 벗어나 유창한 코드로 작성된 프로그램을 작성하고 싶은 분들이 읽어야 할 책이다.

오픈 소스 ANTLR4 입문

모든 컴퓨터 책이 그렇듯 어떤 언어나 프로젝트의 창시자가 쓴 책은 믿고 봐도 된다는 게 정설이다(물론 번역서는 번역의 품질이라는 변수가 있지만). 이번에 ANTLR 프로젝트의 창시자인 Terence Parr가 쓴 『The Definitive ANTLR 4 Reference』의 번역서가 나왔다. 자바 기반의 파서 제너레이터인 ANTLR 프로젝트는 그동안 자바 개발자들에게 많은 사랑을 받아온 프로젝트다. ANTLR은 나도 잠깐 3 버전을 SQL 비슷한 문법을 파싱하기 위해 쓴 적이 있고, 역시 Terence Parr가 만든 템플릿 엔진(ANTLR 내에서도 사용한다)은 그 이후로도 종종 쓴 적이 있다. 컴퓨터 공학 전공이 아니라서 컴파일러 및 프로그래밍 언어론 같은 수업을 들은 적이 없다 보니 처음엔 ANTLR을 사용하기가 어려웠는데, 이 분야에 관심이 있거나 기본적인 배경지식을 갖춘 분이라면 ANTLR을 활용하는 데 어려움이 없을 것 같다. 그리고 나 같은 사람에게 ANTLR의 장점은 ANTLRWorks라는 GUI 도구 및 인텔리J IDEA나 이클립스용 플러그인이 있어서 문법을 시각적으로 확인하고 편집할 수 있다는 것이었다. 아무튼 이처럼 결코 대중적이지 않은 주제의 책이 나와서 반갑다. 문자열 파싱이나 문법 처리에 관심이 있는 분들이 읽어볼 만한 책.