[서평] 참으로 Oreilly스런 책!

GunSmoke의 이미지

C 프로그래머를 위한 C++을 읽고 나서 강컴 독자 서평에 쓴 감상문입니다.

--------------------------------------------------------------------------------------

이 책은 ‘더 이상 출간되지 않는’ 책이다. 특별히 의도한 바는 아니지만 필자는 사정상 구입하고 나서 오래된 책을 뒤늦게 읽게 되는 일이 잦다. 소위 말하는 ‘지름’으로 대량구매 후, 책꽂이에 꽂혀있기만 하는 책들을 보면서 절로 나오는 한숨은 비단 필자만의 것이 아닐 것이라고 자위해본다.

결론부터 말하면 참으로 Oreilly스런 책이라고 할 수 있겠다. C를 충분히 익혔고 잘 활용하는 고급 독자를 대상으로 하고 있다는 점에서부터 특이하다. 이 책은 이런 독자들이 C++의 세계에 처음으로 발을 들여놨을 때 어려워할 만한 개념들을 잘 풀어내어 소개하고 있다. 사실 출판사 입장에서는 좀 더 많은 독자들이 책을 읽을 수 있도록 책의 수준을 되도록 낮추려는 경향이 있다. C++ 입문서 같은 경우에도 프로그래밍을 처음 시작하는 독자들까지 포용하기 위해 ‘C’ + ‘C++’ 형태로 출판되는 것이 일반적이다. 아쉽지만 이런 책을 읽을 때는 C++ 본질적인 내용이 C 입문서에 억지로 껴 맞춰진 듯한 느낌을 지울 수 없다. 그런 점에서 과감하게 기본적인 C의 내용은 잘라내어 독자층을 명확히 한 것은 참 Oreilly 아니랄까봐 혀를 내두르게 한다. (필자는 책 내용에 대해 언급하고 있지만 사실 C++: The Core Language라는 제목을 C 프로그래머를 위한 C++이라는 책 제목으로 번역해버린 한빛미디어가 더 대단하다!)

또 다른 특징은 Oreilly 책들의 단점이라고 얘기할 수 있는, 책을 읽는 도중에는 다 알 것 같은 느낌이 들지만 막상 책을 다 읽고 나서 실제로는 무엇 하나도 해볼 수 없는 허무함이다. 실제로 이 책에서 사용된 예제 중, 독자가 직접 코딩해서 컴파일하고 실행해볼 수 있는 예제는 거의 없다. 아니다. 15. 예제 프로그램이라는 장에서 소개된 소스 외에는 모든 코드가 설명을 위한 단편적인 조각에 불과하다고 할 수 있다. ‘백문이 불여일타’라는 신념을 가지고 책에서 주어진 예제는 모두 코딩하고 컴파일해야 한다는 학습론자들은 당장 이 책에서 관심을 꺼주기 바란다.

개인적으로 독자가 굳이 손으로 코딩하고 실행해보지 않더라도 주어진 코드 조각을 이해하는 데에는 전혀 지장이 없었다. 그 만큼 적절한 예제, 쉬운 설명(단, 독자가 C 문법에 대해 어느 정도 안다는 가정 하에)으로 재미있게 읽을 수 있었기 때문이다. C++의 ‘개념’을 그만큼 쉽게 소개하는 책이므로 이 책을 읽고 본격적으로 C++ 관련 서적을 시작하는 것도 C++을 이해하는 데 큰 도움이 될 것이라고 생각한다.

댓글

sh.의 이미지

"또 다른 특징은 Oreilly 책들의 단점이라고 얘기할 수 있는, 책을 읽는 도중에는 다 알 것 같은 느낌이 들지만 막상 책을 다 읽고 나서 실제로는 무엇 하나도 해볼 수 없는 허무함이다. "
이 부분이 공감이 갑니다. 마치 수업 듣고 난 후 같다고나 할까요- 하지만 책장에 동물원을 계속 늘려가게 됩니다;;

hongminhee의 이미지

동물원 ㅎㅎ 재밌는 표현이네요

keedi의 이미지

두께도 얇은데다가 설명을 참 쉽게 해서 개념잡기에 무척 좋았습니다. 역으로 저의 경우에는 C와 그외의 언어에서 객체지향을 사용할 수 있는 방법을 배울 수 있는 계기였습니다. :-)

---------------------------
Smashing Watermelons~!!
Whatever Nevermind~!!

Kim Do-Hyoung Keedi

----
use perl;

Keedi Kim

ldgood의 이미지

헤드퍼스트 시리즈가 오라일리 책이라는 것은 놀라웠죠.

------------------------------
모든것은 모든것에 잇닿아 있다.


------------------------------
모든것은 모든것에 잇닿아 있다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.