sou***
2023-04-21

더 쉽게, 더 빠르게, 더 깔끔하게! 프로그래머가 알아야 할 C++와 C++20의 모든 것
#전문가 #한빛미디어 #개정5판 #7번째C++ #1691page #역대급무게
이 책은 옛날 니콘카메라로 유명한 니콘 메트롤로지에서 근무중이고 벨기에 C++ 그룹 창립자인 마크 그레고리가 7번째로 쓴 책이다.(위 이미지의 스캇 클래퍼는 네이버 글감의 오류인듯 싶다. 그렇다고 아래 이미지를 쓰면 발매 미등록이다.). 그리고 다양한 maker책과 go책을 번역하고 etri에 근무중인 남기혁 역자가 번역했다.
기술부채라는 말이 있다. 기술부채는 현 시점에서 더 오래 소요될 수 있는 더 나은 접근방식을 사용하는 대신 쉬운(제한된) 솔루션을 채택함으로써 발생되는 추가적인 재작업의 비용을 반영하는 소프트웨어 개발의 한 관점이다. 즉 소프트웨어의 수준에 따라 운영 단계에서 쏟아야 하는 노력이 달라진다는 의미이다. 나에게 있어 C++이 그렇다. 이미 modern C++이 2011년부터 3년간격으로 꾸준히 나오고 있는데 2006년에 나온 effective C++(물론 개정판이 있지만 아직 못 봄)에서 얘기하는 내용조차 완벽하게 이해하고 적응하지 못 하고 있다.
이 책은 그런 기술부채를 안고 있는 사람들을 위한 책이다. 그 동안의 빛을 모두 탕감할 수는 없겠지만 최소한의 사유와 그에 대한 방법은 제시하고 있다. 물론 그 방법이라는 것이 단번에 해결할 수 있는 단순한 것도 아니고 모든 상황에 통용되는 만병통치약도 아니다. 하지만 cppreference를 돌아다니고 최신 e-book을 봐도 실마리조차 찾을 수 없었던 문제들에 대해서 제시해주고 있다는 점에서 놀라운 책이다.
이 책의 장점은 책제목과는 역설적으로 사실 전문가가 아니라 c++ 중급자를 위해서 쓰여진 책이다. 전문가를 꿈꾸는 사람을 위한 책이라는 뜻이다. 특히 앞부분에서는 C++의 기초적인 내용들을 다루고 뒤로 갈 수록 좋은 내용이 수두룩하다.
이 책의 단점은 너무 무겁다는 것이다. 가방에 넣고 돌아다니다가 허리와 목이 수시로 뻐근한 책이다. 그리고 처음 보는 내용들을 읽을때는 무지하게 졸립다.
만약 이 책을 구입했는데 1장부터 내용이해가 안 되거나 실습코드를 입력하기 귀찮은 독자는 C++11버전부터 보시기를 추천한다. C++11버전 책의 예시설명으로 설계된 소스코드를 5판까지 계속 동일한 맥락으로 사용하고 있기 때문이다. 물론 절판이라 새로 구입하기는 어렵고 devicemart같은 곳에서 재고를 판매하고 있다. (한빛미디어에서 구판들을 재출판해달라고 조를 수 있다.링크:https://www.hanbit.co.kr/store/books/look.php?p_code=B6704465567)
최근에 개발자 공부를 파이썬으로 쉽게 쉽게 하는 것에 익숙하다보니 C++을 보는 것이 마냥 쉽지는 않다. 그리고 rust나 go나 v나 carbon처럼 다양한 언어들이 C++을 대체할 듯이 나오고 있어 C++을 굳이 공부해야 할까 싶지만 대부분 응용 application 성능측면에서 C++보다 최소 2배에서 최대 5배까지 C++이 빠르다는 것은 부인할 수 없는 사실이다.
많은 개발자들이 C++을 보통 괴랄레프 라고 많이들 피하는 것이 사실이다. 하지만 심각하게 과장해서 비유하자면 의대생이 칼날이 무섭다고 메스를 피하는거나 비슷하다고 개인적으로 생각한다. 모든 의사가 살을 째야 하는 것이 아닌것처럼 모든 개발자가 C++이 필요한 것은 아니고 메스 없이 로봇이 수술하는 시대에 있듯이 다른 언어들도 많이 있고 뭐든 다 해줄거같은 chatGPT등이 있지만 응급수술에 메스가 필요한 상황이 있는것처럼 C++이 필요한 상황이 있다. 그 때 가서 기술부채 빛을 갚으려고 하면 늦을 수도 있기 때문에 미리미리 준비하기 위해서 이 책을 많은 개발자가 함께 읽기를 추천한다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."