서평

전문가를 위한 C++ (5판) 리뷰

띵킹 2023. 4. 23. 23:39

처음 프로그래밍을 시작할 때, 러닝 커브가 낮고 생산성이 뛰어난 언어를 먼저 접했고, 프론트엔드 개발을 하고 있는 지금도 그런 언어를 사용해서 개발을 하고 있다.  많은 사람들에게서 `개발자라면 C 정도는 알아야 한다`라는 말을 들어봤고, 사용중인 언어의 모태가 대부분 C이기 때문에 그러한 의견에 대해서도 인정하는 편이었으나, 굳이 공부해야 할 필요성을 못 느꼈다.  

 

그러나 개발을 해오면서 구현이나 라이브러리, 프레임워크를 다루는 실력은 금방 늘었지만, 프로그래밍 방법론이나 디자인 패턴, 코드 스타일부터 설계에 이르기까지 프로그래밍에 대한 기본기가 부족해서 힘들다고 느끼는 상황이 많았다. 언어적인 한계 떄문에 구현하지 못하는 디자인 패턴도 있었고, 아예 들어보지 못했던 생소한 언어의 명세들도 있었다. 그렇게 C나 C++에 대한 궁금증이 쌓여가던 와중에, 이 책을 볼 기회가 생겨서 C++을 처음 공부하게 됐다.

 

전문가를 위한 C++은 제목 그대로 전문가를 위한 서적이다. 1600페이지의 압도적인 분량을 가지고 있지만 언어의 기초적인 부분은 가볍게 설명하고 넘어간다. 그래도 다른 언어를 능숙하게 다뤄본 독자라면 C나 C++을 잘 모르더라도 충분히 이해할 수 있는 수준의 설명이었다. 오히려 이 책의 대상인 '전문가'(C++이 아니더라도)에 적합한 내용이라고 볼 수 있겠다. 

 

대략 200 페이지 분량의 기초적인 내용 이후에는 코드 스타일에 대해 배울 수 있다. 무엇이 좋은 스타일인지에 대해 강요하기 보다는 다양한 코드 스타일에 대한 설명이 나와있다. 이후 본격적인 내용으로 들어가는데, 객체지향, 포인터, 클래스, 상속 모듈, 템플릿, 제네릭 등 거의 C++의 고급 기능들에 대한 설명이 방대하게 수록돼있다. 정독하기에는 너무 압도적인 분량이어서, 내가 주로 사용하는 언어에 있는 기능과 같은 기능 위주로 살펴보았다. 다양한 예제와 연습문제를 통해 각종 기능들에 대해 학습하니까, C++은 물론이고 다른 언어에 있는 동일한 기능들에 대한 이해도도 같이 올라가는 느낌을 받았다.

 

또한 소프트웨어 공학적인 측면에서 충분한 설명이 되어있어서, 많은 배경지식을 얻을 수 있었다. 단순히 언어적인 측면에서의 설명에 국한된 게 아니라, 개발 기법을 주로 논하고 있기 때문에 개발 서적이라기 보다는 전공 서적 같다는 느낌을 많이 받았다. 처음 책을 접했을 때, 단순히 C++에 대해 알기 위해서 가볍게 보려던 마음가짐을 갖고 있었는데, 정독하게 된다면 개발자로서 좋은 학습이 될 것 같다는 생각이 들었다. 오래 걸리더라도 처음부터 끝까지 읽어보고 싶다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

728x90