< Effective Modern C++ > 를 읽고...

C++98 도 제대로 익히지 못한 상황에서 C++11 과 C++14 가 나와버렸다. C++11 과 C++14 의 새로운 기능들을 조각조각 접해보기는 했지만, 전체적으로 어떤 기능들이 새로이 도입되었고, 어떻게 활용하는 것이 좋은지 알지 못했다.

예전에 스콧 마이어스의 Effective 시리즈에서 많은 도움을 받았던 터라, 이번에 새로나온 Effective 시리즈 역시 큰 도움이 되리라 생각하고 구입하게 되었다.

<Effective Modern C++>, 스콧 마이어스 지음, 류광 옮김, 인사이트

읽어나가면서 역시나 Effective 시리즈구나 했다. 언제나 그렇듯 다양한 사례들을 가지고 실제 상황에서 겪을 수 있는 어려움을들을 나열하고, 이에 대한 해결책들을 제시한다.

C++11 과 C++14 의 기능들을 구별해서 알려주며, C++11 을 써야하는 경우, C++14 의 기능을 흉내내는 방법도 알려준다.

C++11 과 C++14 의 올바르고 강력한 용법을 알고 싶다면 꼭 읽어보기를 권한다.

다만, 번역과 관련된 논쟁이 있다. 옮긴이가 나름 새로운 어휘를 번역어로 채택하여 사용하고 있는데, 업계에서 쓰이던 용어와 많이 다르다보니, 이에 대한 거부감 때문에 논쟁이 일었다. 관심있는 사람은 yes24 의 리뷰를 보면 논쟁을 상세히 알 수 있을 것이다. 옮긴이의 변도 함께 있으니 한 번쯤 봐둘만 하다.

나 역시 읽으면서 다소 어색함이 있었던 것은 사실이다. 예를 들어 다음과 같은 것들이 있다. 괄호안은 기존의 번역어이다.
  • type deduction: 형식 연역(형식 추론)
  • type: 형식(타입, 유형, 자료형)
  • assignment: 배정(대입)
  • overloading: 중복적재(오버로딩)
  • linked list: 연결 목록(링크드 리스트, 연결 리스트)
  • smart pointer: 똑똑한 포인터(스마트 포인트)

낯설어서 다소 어색하기는 하지만, 잘못된 번역이라 보이지는 않는다. 책을 쭉 읽어 나가다보면 금방 익숙해지고, 큰 거부감은 나타나지 않는다. 내용을 이해하는 데에도 문제가 되지 않는다.

번역과 관련된 이런 문제는 하루 이틀의 문제가 아니다. 번역을 하다 보면 어쩔 수 없이 나타나는 문제다. 기존의 용어를 채택할 것인지, 보다 적절하다고 생각되는 새로운 용어를 채택한 것인지.

정작 책 내용 자체보다는 번역에 대해서 지나치게 많이 써버렸다. 용어에 대한 이질감, 거부감을 극복한다면 문장 자체는 매우 훌륭하다. 번역에 대해 걱정하지 말고, C++11 과 C++14 를 알아보고 싶은 개발자라면 반드시 구비해 놓도록 하자.

댓글

이 블로그의 인기 게시물

토렌트: < 왕좌의 게임 > 시즌 1 ~ 시즌 8 완결편 마그넷

토렌트: < 스타워즈 > Ep.1 ~ Ep.6 마그넷

토렌트: NGC < 코스모스 > 우리말 더빙 전편(1편~13편) 마그넷