책은 정말 쉽게 설명이 되어 있는데요, 혹시 연습문제 답은 알수가 없을까요?
90년대 후반부터 Java 언어의 급격한 확장으로 위상이 좀 떨어지긴 했지만, C 계열 언어들은 아직도 꾸준히 쓰이고 있다. 물론 어느 한쪽의 인기가 높아지면 쏠림 현상이 심하지는 우리나라의 특성 상 Java 개발자가 압도적으로 많은건 현실이지만, Java가 가지지 못 하는 Pointer라는 특성으로 인해 (이 때문에 또한 많은 개발자들이 Java를 선택하지만,) C++는 계속 한정된 메모리를 가지는 분야에서 더 많은 인기를 가지고 있고, 스마트폰과 같이 임베디드성 PC급 장비가 나올수록 그 인기는 더 높아질거라 생각한다.
제목을 보면 바로 알겠지만, 이 책은 C++ 언어의 입문서이다. 출판사가 한빛미디어의 자회사인 한빛아카데미에서 나온 것을 보면 또한 대학 교재 또는 학부생을 대상으로 책을 출판했다는 것을 알 수 있다. 그만큼 책의 내용은 어렵지는 않고 기본적인 원리를 친절하게 설명해주는 것이 이 책의 큰 강점이라 할 수 있다.
이 책은 총 15장으로 구성되어 있고 프로젝트 성격의 16장, 17장을 PDF형태로 보너스(?)로 제공하고 있다. 학부 한 학기동안 학습하고 학습을 할 수 있도록 구성되어 있고, 해당 장마다 충분한 예제 소스가 설명되어 있어서 설사 책에 설명된 내용을 이해하지 못한다 해도 예제 소스를 실습하면 충분히 이해할 수 있도록 구성되어 있다.
또한 학부생이 아니더라도 C++에 관심을 가지고 처음 시작하는 입문자에게도 쉬운 원리 설명과 풍부한 예제를 곁들여 혼자서 충분히 학습할 수 있도록 구성되었다.
개인적으로 예전에 C언어를 독학하며 Pointer의 개념을 잡는게 무척 어려웠었다. 이 책에서 Pointer에 대한 내용을 다시 만났을 때 얼마나 쉽게 설명할지 궁금했었는데, 꽤 쉽게 설명해서 저자들이 꽤 많은 공을 들였구나 하는 생각이 들었다.
현재 프로그램 언어는 객체지향 언어들이 주도하고 있고, 이중 Java가 압도적인 점유율을 가지고 있다. 하지만, Java는 편리성만큼 일정 한계를 가지기 때문에 임베디드 장비 등에서는 그 사용이 제한될 수 밖에 없다. C++의 경우는 Java와 비슷한 객체지향 성격을 가지기 때문에 Java에 숙달된 개발자들이라면 학습을 그리 어렵지 않게 할 수 있다. (마치 영어에 능숙한 사람이 독일어를 금방 학습하는것처럼…) 또한 C에서 파생되었기 때문에 추후 임베디드 개발에 관심을 가진다면 임베디드에서 주로 사용되는 C언어를 학습하는데 많은 도움을 받을 수 있다. 따라서 C++ 언어 학습에 관심을 가진 입문자들에게 괜찮은 책이라고 이 책을 권한다.
책의 제목처럼 C++과 하이킹을 해봤다.
물론 도서의 깊이와는 별개로, 내가 할수 있는 가장 짧고 편한길로 하이킹을 해보았다.
전형적인 IT-COOK 시리즈의 모양과 컨셉과 스토리를 유지하고 있으며, 대학교제의 성격을 지니고 있는 도서이다.
각 목차별 이론설명 후, 예제를 통한 결과 예제에 대한 주요 설명.
전형적인 C++을 접하는 사람들의 학습을 유도하는 한빛만의 특징이 잘 드러난다.
최신판인 만큼 Visual 2012 설정에 대한 설명이 도서 첫장에 언급되고 있다.
각 목차별 이론의 설명에 있어서는 그림을 잘 활용한것이 눈에 뛰었다.
변수에 메모리가 할당되어 값이 대입되어 교환되는 절차, 포인터를 변수 접근, 배열 등 에서 대부분 그림을 활용하여 설명되는게 정석이다.
이도서에서도 그런 흐름으로 전달을 잘하고 있다. 근데 이번에는 유난히 "참 흐름을 잘 표현했다." 란 느낌이 든다.(이제 나이가 들어서인지....ㅠ)
200 page " 교환 알고리즘"을 "잘못된 교환 알고리즘"을 그림으로 비교해서, 임시 변수를 표현했으며, 그 뒷페이지로 연결되는 값참조, 포인터 부분에서 각 변수에 값이 어떻게 변화되는지 결과에 대한 설명은 정말 잘 되었다는 느낌이 들었다.
예제부분에서는 정상적인 결과외에도 잘못된 결과, 에러 등에 관한 설명도 좋았던것 같다.
예제의 주요 행에 대한 설명도 간결하고 쉽게 표현된것 같으며, 컴파일 에러에 대한 설명 사유도 결과 이해에 도움이 많이 되었다.
"저자 한마디"도 tip 을 알려주는 좋은 구성같았다.
도서의 두께나, 고수준의 독자를 위한 프로젝트는 별도 PDF로 구성하여 도서에서 제외하여, 독자를 배려한 느낌도 받았다.
마지막으로 아쉬운것이 있다면, 중반부 이후부터 C++이 객체지향 언어인만큼 객체지향의
특징에 대해서 내용이 이어진다. 후반부 연습문제에서는 클래스도 나온다.
객체지향의 특징, 상속, 오버로딩/오버라이딩 등에 대한 그림과 이론적 설명이 언급된 이후에 이론과 예제가 되었다면 좀더 좋았을것 같다는 느낌이 들었다. C언어의 확장본같다는 느낌이 강했다. 대상이 C++ 초보자이며 대학교제 성격이 강한만큼 그런 부분이 좀더 보완되었다면 좋았을것 같다.