평점
★★☆☆☆
평가
C++ 입문자를 위한 책이지만, 초보자에겐 쉽지 않습니다. 입문서는 쉽고 간단하게 시작해서 점점 어려운 주제로 나아가야 하는데, 처음부터 너무 어렵고 많은 내용들을 다룹니다. 그리고 예제들도 재미있다고 보기 힘듭니다. Programming 언어 입문서는 programming에 흥미를 갖게 해 주어야 하는데, 이 책은 오히려 반대인 것 같습니다.
책 자체의 내용은 크게 문제가 없습니다. 다른 책에는 잘 나와 있지 않은, 언어 사용 관례에 대한 설명도 있습니다. 그러나 대상 독자층을 고려해 볼 때, 이 책은 문제가 많습니다. 특히 저자의 명성에 비춰 볼 때, 더 실망스럽습니다.
인상적인 구절
26쪽:
우리는 추상화(abstraction)를 선택적 생략이라고 정의하고, 그것을 현대 프로그래밍에 있어서 가장 중요한 개념이라고 여깁니다.
74쪽:
비대칭형 범위는 보통 대칭형 범위보다 더 사용하기 쉽습니다. 왜냐하면, 다음과 같은 중요한 속성이 있기 때문입니다. [m, n)과 같은 형식의 범위는 n - m 개의 요소들을 가지며, [m, n]의 형식은 n - m + 1의 요소들을 가집니다. 따라서, [0, rows)에서 요소들의 개수(즉, rows - 0 또는 rows)는 직관적인 데 반해, [1, rows]에서 요소들의 개수는 덜 직관적입니다.
343쪽:
만약, 이항 연산자를 멤버 함수로 정의하면, 그 피연산자에 대해 비대칭적인 속성을 가질 것입니다. 오른쪽 피연산자는 자동 변환의 결과를 사용할 수 있겠지만, 왼쪽 피연산자는 그렇지 못하기 때문입니다. 그러한 비대칭성은 +=과 같이 본질적으로 비대칭적인 연산자에 대해서는 문제가 없습니다. 하지만 대칭적 피연산자들이 사용되어야 하는 경우에서는, 매우 혼란스러울 뿐만 아니라 에러의 위험이 다분합니다. 대부분의 경우에, 대칭적 피연산자를 사용하는 연산자에 대해서는 두 피연산자들을 동일하게 다루는 것이 바람직하기 때문에, 그 연산자를 비멤버 함수로 만들게 됩니다.
댓글을 달아 주세요