메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

C++ 마스터가 되고싶은 자들이여, 이 책을 읽고 찬양하라.

jrcfore***

|

2019-10-13

전문가를 위한 C++(개정4판)

C++는 마스터하기 어렵기로 악명 높지만 풍부한 기능 덕분에 게임이나 상용 소프트웨어 애플리케이션을 개발하는 대표 언어로 자리매김했다. 숙련된 C++ 프로그래머조차 잘 모르는 고급 기능도 많이 있는데, C++17이 나온 지금이야말로 C++의 모든 기능을 살펴볼 절호의 기회다.

  • 저자 : 마크 그레고리
  • 번역 : 남기혁
  • 출간 : 2019-08-20

 오랜만에 필자의 주력 언어인 C++ 책을 리뷰할 기회가 생겼다바로 "전문가를 위한 C++" 책이 그것이다위 책의 개정 3판을 상당히 재미나게본 필자에게 있어서 이번 도서 리뷰 기회는 절대로 놓칠수 없없었다여하튼 필자의 여담은 여기까지하고위 책은 기존 제 3판에서 새로이 추가되었었던 C++14의 내용에 C++17에서 새로이 추가된 내용들이 정리된 책이다솔직히 이 책을 처음부터 끝까지 정독하기에는 큰 무리가 있다일단 책의 두깨를 보는순간 필자가 왜 이런 조언을 독자에게 하는지 이해가 될 것이다그리고 위 책은 친절한 만큼 그 내용 분량이 광대하여 C++을 처음 접하는 초심자들이 공부하기엔 썩 괜찮은 책이 아니다왜냐하면 하나 하나 너무 자세히 설명하고 다루고 있기 때문에 자칫하다간 금방 실증을 느끼고 C++의 참된 아름다움을 깨닫기 전에 영영 이 언어를 꺼리게 되는 현상이 발생할 수 있기 때문이다.


【어떤 독자를 위한 책인가】

 

 이 책은 앞서 필자가 언급한 것처럼초보자들이 보기에는 볼 내용이 너무 많다아니 너무 많다못해 그냥 법전 한권을 가져다가 통으로 외우세요라는 느낌이 책이다그렇기에 초심자들이 위 책을 가지고 처음 시작하기엔 좋지 않다다만 중급자고급자들이 개발을 하다 막히거나 혹은 특정 부분에 대한 이해, 3년 주기로 c++ stl이 업데이트 되는데 이 때 새로이 추가된 내용들이 무엇인지 궁금한 독자들이 위 책을 가지고 학습을 하면 곱절의 학습효과를 얻을 수 있는 책이다물론 위의 내용들은 c++ stl 커뮤니티에 들어가서 훨씬 디테일하게 찾아서 공부할 수 있는 내용이지만책에는 친절하게 잘 정리되어 기술 되어 있기 때문에 이번 C++ STL 버전에는 무엇이 새로이 추가되었는지 한눈에 파악하기 정말 좋다따라서 위 책을 사용하고 학습하길 필자는 권한다.


【책의 구성】 '전문가를 위한 C++책의 구성은 어떠한가.

 이 책은 C++에서 다루는 거의 모든 내용들을 다루고 있다코딩 컨벤션디자인 패턴객체지향 디자인 방법론메모리 사용방법함수 재사용템플릿 디자인컨테이너제너릭 타입 등등.. 이번 C++17에서 새로이 추가된 병렬처리 쓰레드와 크로스 플랫폼 개발 방법까지 (덤으로 면접에서 나올 법한 질문들에 대해서도 매우 친절히 정리되어 있으므로 취준생 여러분들이라면 이 쳅터를 필독하시길 권한다.) 말그대로 필자가 아는 선에서의 모든 것들을 다루고 있다그만큼 독자가 원하는 챕터를 선택하여 체계적으로 공부할 수 있는 기회가 넓은 책이라는 것이다또한 각 쳅터는 이론적 배경예제 코드이에 대한 설명과 하면 안되는 예와 권장하고 있는 예그리고 주의해야할 점 등등 논리적이며 체계적으로 정리되어 있다이는 공부를 함에 있어 부족함이 없는 충분한 지식을 전달하고 있음을 의미한다따라서 C++을 꼼꼼히 학습하고자 하는 분들에게 정말로 좋은 구성이라 할 수 있겠다.


【전문가를 위한 C++를 읽으며…….

 

 필자는 막 개발 세계에 입문하신 분들에게 항상 다음과 같이 권한다주력 언어 1개 그리고 서브 언어 2개 정도를 알고 있어야 한다고이때 주력 언어는 어떠한 경우에도 막힘이 없고 최신 트랜드에 대해 정말 잘 알고 있는 수준이어야 하며 서브 언어의 경우 간단한 레퍼런스만 있으면 어느정도 구현이 가능한 수준이어야 한다는 점을 강조한다왜냐하면 대부분의 언어는 비슷한 구조를 가지고 있다진짜 무슨 어셈블 그런 언어가 아니면 진짜로 비슷한 속성들을 가지고 있다. (단 언어의 성질이 완전히 바뀌는 언어들 간에는 그 특징이 완전히 다르므로 그것들에 대해서는 제외하도록 하자.) 그렇기에 한가지 언어에 대해서 전문성을 갖춘다면 다른 언어들을 학습하는 것에 대해서 상당한 시간과 비용을 절약할 수 있다.

 크게 전문성을 갖추기에 좋은 언어들을 추천한다면 C++, Java, Javascript, Ruby, python, go 등이 있고 그중에서 C++은 진입장벽이 좀 높은 편이다따라서 이 점을 잘 파악하여 주력 언어를 선정할 것을 권한다.

 

 

 

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?