전문가를 위한 C++

2019. 10. 18. 16:47연구이야기/도서이야기☆

2018년 4월에 출간된 Professional C++ 4E의 번역서를 한빛미디어에서 <전문가를 위한 C++>로 발표했습니다.  저자는 마크 그레고리(Marc Gregoire)이며, 번역은 남기혁 님께서 맡아주셨습니다. 이 책을 번역해 주신 남기혁 님께 깊은 감사의 말씀을 전하고 싶습니다.

<전문가를 위한 C++ 4E>은 기존 C++14 기준으로 작성된 <전문가를 위한 C++ 3E>에 현재 최신 버전인 C++17을 자연스럽게 녹여낸 작품입니다. C++17은 약 100여 가지의 새로운 기능이 도입되었습니다. 주요 변경 사항은 다음 링크에서 확인하세요.

참고로 C++17의 다음 개정판은 C++20으로 2017년 7월에 시작했습니다. 다음에 추가될 내용도 흥미로운 요소가 많습니다.

이 책에서 다루는 내용은?

이 책에서는 C++ 고유의 특징과 소프트웨어 개발을 위한 다양한 기법을 습득할 수 있습니다. C++ 17에 새로 추가된 기능 소개를 비롯하여 다양한 프로그래밍 방법론과 추천하는 프로그래밍 스타일을 소개하고 있습니다. 뿐만 아니라, 객체지향 디자인 방식을 이해할 수 있으며, 최신 디버깅 기술도 학습할 수 있습니다.

<전문가를 위한 C++>는 모두 5개의 장으로 구성되어 있습니다.

1장의 제목은 '전문가를 향한 C++ 첫걸음'으로 C++의 기본 소양을 다룹니다. 지면 관계로 말미암아 이 책에서 C++의 개론서에서 다루는 기본적인 내용을 모두 다루지는 못하므로 C++의 이해가 부족한 독자는 개론서를 본 후, 정리하는 차원에서 보는 것을 추천합니다. 이 장에서 다루는 코딩 스타일 가이드는 꼭 한 번 읽고 정리했으면 하는 바람이 있습니다.

2장은 '전문가답게 C++ 소프트웨어 디자인하기'입니다. 제목에서 볼 수 있듯이 프로그램 디자인에 대해 소개합니다. 코드를 재사용하도록 디자인해야 하는 이유와 방법을 소개하며, 코드의 구조화에 대한 팁과 인터페이스 디자인에 대한 원칙 등을 소개합니다.

3장은 '전문가답게 C++ 코딩하기'입니다. 동적 메모리와 관련된 주제부터 클래스와 객체에 대한 내용, 코드 재사용성과 다형성을 포함한 활용 사례 등을 다룹니다. 그리고 템플릿을 이용한 제네릭 프로그래밍의 개념을 소개합니다.

부지런히 봤는데, 리뷰를 마쳐야 할 시점에 여기까지 밖에 보지 못했습니다.  3장에서는 이외에도 I/O, 에러 처리, 표준 라이브러리, 정규 표현식 등을 소개하고 있습니다. 4장과 5장은 C++ 고급 기능와 소프트웨어 공학에 대해 다양한 관점에서 이야기를 진행합니다. 세부 목차를 보면 재미있는 주제가 많은데, 리뷰를 마치고 더 읽어보려 합니다.

마치면서

<전문가를 위한 C++>은 30 챕터와 4 부록으로 약 1,500페이지 분량으로 구성되어 있습니다. 예측할 수 있듯이, 이 책에서 다루는 내용은 방대합니다. C++에 입문하는 독자가 이 책을 보진 않겠지요? 입문서를 본 후, 이 책을 보시는 것을  추천합니다. <전문가를 위한 C++>은 C++에 대해 경험있는 개발자가 최신 스펙을 경험하고 학습하는데 도움을 줄 수 있을 것입니다. 

Java와 유사하게 어느 시점에 C++의 발전 속도가 느리다고 느꼈었는데, 최근 Java와 같이 C++의 개선속도가 놀랍도록 빨라지고 있음을 체험할 수 있었습니다. 한동안 C++에 대해 경험하지 못했는데, 이 책을 통해 C++의 개선 사항에 대해 이해할 수 있었습니다.

안타까운 점은 리뷰 기간이 짧아 이 책을 모두 보고 리뷰를 남기지 못해 아쉽습니다. 아직 <전문가를 위한 C+>의 전체 내용을 모두 읽어보진 못했지만, 천천히 시간을 두고 꾸준히 읽어볼 것입니다.