C++을 익히는 데에 주로 사용되는 대부분의 책들은, 문법에 치중되어 있다. 심지어 The C++ Programming Language 마저 그렇다.
우선 이 책은 서점에서 검토해보고 주문한 책이 아니었다. 이 책을 고르며 생각한 이 책의 방향성은 좋은 코딩 좋은 습관처럼 코딩 규칙이나, 가이드 라인에 대한 책인줄 알았다. 실제로 부제목도 코딩 가이드라인에 대해 언급했고.
하지만 막상 읽어보니 코딩 규칙이나, 가이드 라인보다는 표현의 자유가 강하지만 그 만큼 복잡하고 잘못 사용될 여지가 많은 C++을 객체 지향적으로 잘 활용할 수 있는 방법에 대한 느낌이 더 강했다.
자바가 대세가 된지 한참 되었고, C#도 많이 성장했고, 클라이언트-서버 모델에서 웹으로 흐름이 옮겨간지도 꽤 오랜시간이 흘렀다.
하지만 나에게 있어 C++은 모호함이나 메모리를 직접 다루는 데에 있어서 오는 리스크는 인정하지만, 그런 문제의 소지를 줄이고 잘 사용했을 때 얻을 수 있는 강력함이 워낙 매력적이라 생각하기에, C++을 주력으로 사용하는 것을 포기 할 수 없었다.
그래서 C++을 잘사용하는 데에 집중했고, 나 역시 흔히 추천하시는 Effective 시리즈도 읽게 되었었다.
이 책은 아까 거론한 좋은 코딩 좋은 습관 보다는, More Effective C++이나 Effective C++과 (심지어는 Effective STL과도) 겹치는 부분이 훨씬 많다.
Effective 시리즈가 한 주제를 자세하게 파고드는 편이라면 이 책은 한 주제에 대해 단순 명료하게 설명해주었다.
설명이 짧다고해서 이해하기 어렵게 쓰여져 있는게 아니라 내 개인적으론매우 만족했다.
C++의 바른 사용법에 대해서 한번 더 정리하는 시간이 됐다고 해야 할까?
Effective 시리즈를 이미 읽었던, 읽지 않았던 간에 C++을 잘 쓰고 싶은 많은 프로그래머들에게 읽혀야 할 책이 아닌가 싶다.