윤성우의 열혈 C++ 프로그래밍 - 개정판
윤성우 지음 / 오렌지미디어 / 2010년 5월
평점 :
장바구니담기


  이 책은 윤성우 저자의 열혈강의 C++ 프로그래밍의 개정판이다. 이 책의 초판이였던 그 책은 나를 대학교에 들어와서 중학교 이후로 다시 컴퓨터 공부를 시작하게 만들어준 열정을 제공해준 책이다. 그 책이 더욱 내용이 보강되서 드디어 개정판이 나오게 되었다.
 

  초판도 이미 정독을 한번 하였기에 여러가지 방면으로 개정판에 대한 서평을 써보도록 하겠다.

  일단 이 책은 초판의 내용을 모두 가지고 있다. 즉 초판+@의 내용이 합쳐져서 새로운 개정판이 나왔다고 생각하면 된다. 이 책은 이미 C프로그래밍을 공부했던 사람을 대상으로 쓰여져서 기존 C언어와의 차이점을 중심으로 객체지향프로그래밍(OOP)에 대한 개념과 C++에서 제공하는 다양한 기능들을 설명한다.

  사실 다른 여타 C++ 책과 비교할 때 이 책은 상대적으로 얇은 편이다. 실제로 다른 여타 책에 나와있는 C언어와 겹치는 부분, 자료구조, 제공하는 클래스에 대한 자세한 설명 등이 빠져있다. 하지만 윤성우 저자의 책이 그렇듯이 책을 읽는 사람으로 하여금 기본기를 탄탄하게 쌓을 수 있도록 도와준다. 해외 원서, 번역서, 그리고 국내 서적을 많이 읽어왔지만, 저자가 쓴 책만큼 기초에 충실한 책은 찾아보기 힘들다.

  기초라고 하면 많은 사람들이 많은 것을 안가르친다고 더 많은 것을 다루는 책들을 찾을지도 모른다. 하지만 이 책의 목적은 앞으로 C++에 관하여 더 많은 것을 공부하고자 할 때 어려움이 없도록 도와줄 수 있는 최고의 책이라고 생각한다. 초판을 읽은 후 다양한 C++코드를 봐왔고, 여러가지 더욱 어려운 것을 다룬 책들을 봐왔지만, 초판에 나온 책의 지식만으로 공부하는데에 어려운 것이 없었다. 즉 앞으로 C++과 관련된 어떤 것을 공부해도 어려움이 없도록 내공을 쌓아주는 책이다.

  개정판을 처음부터 끝까지 정독을 한 느낌을 먼저 말해보도록 하겠다. 이 책은 마치 소설 같다. 읽는 사람으로 하여금 책에 빠져들게 만든다. 저자가 의도한 전체적인 책의 구성의 흐름 또한 뛰어나며, 저자의 책의 특징인 서술형 구어체로 읽는 사람으로 하여금 마치 하나의 소설책을 읽어나가는 기분이 들게 만든다. 그 덕분인지 요즘 바쁜 가운데에 짬짬이 시간을 내서 읽었는 데에도 불구하고 최근에 읽었던 책중에서 가장 빨리 그리고 재밌게 읽었던 책인 것 같다.

  현재 시중에 "소설같은 "으로 시작하는 서명의 프로그래밍 책 시리즈가 나오는 것으로 알고 있다. 그 이름에 가장 걸맞는 책은 사실 이 책이 아닐까 싶다.

  초판과 비교를 해볼 때, 가장 먼저 눈에 틔게 달라진 것은 

  1. 특정 부분들에 대한 설명이 더욱 상세해졌다는 것이다. 아마도 많은 사람들이 질문이 들어왔던 부분에 대해서 추가적인 설명을 덧붙인 것 같다.

  2. 내용적 측면도 보강되었다. 가장 눈에 틔는 것은 객체지향을 설명을 2가지 방식으로 접근하였다. 한가지 방법은 이전 초판에서 접근했던 방법이며, 새로운 방식은 과일장수와 구매자 두사람의 관계를 통해서 객체의 개념을 설명하는 방식을 취하였다. 후자의 방식은 저자의 JAVA책에서도 똑같이 볼 수 있다. 아마도 저자는 이 방식이 많은 사람들에게 이해를 돕는데 큰 역할을 했다고 생각한 것 같다. (개인적으로는 두가지 방식 모두 훌륭하다.)

  3. 초판에서 설명하지 않은 다양한 연산자 오버로딩에 대해서 설명하였다. 아마도 추가적인 연산자 오버로딩에 대한 설명을 한 이유는 초판에서 다루지 못한 "펑터"와 "스마트포인터"에 대한 설명을 하기 위함이 아닐까 조심스럽게 생각해본다.

  4. 템플릿에 대한 설명을 강하게 보강했다. 템플릿을 사용할 때 여러가지 케이스의 경우, 그리고 템플릿을 사용할 때 발생하는 여러가지 고민 점 등을 속시원하게 해결해주었다.

  5. C++에서 제공하는 4가지 형 변환자를 설명하였다. 사실 기존 C언어에서 제공하는 형변형자 말고 C++에서 새로운 형 변형자가 생겼다. 나 같은 경우도 새로운 형변환자가 있는 것을 알고 많이 봐왔지만, 굳이 새로운 것을 사용하는 것이 불편해서 거의 외면하고 있었던 것이 사실이다. 하지만 이 책의 뒷부분을 읽고나니 C++에서 제공하는 형변환자를 사용해야만 하는 이유들을 다시한번 생각할 수 있는 기회를 제공해 주었다.

  이외에 더욱 좋은 점을 뽑으라면, 같이 제공되는 강의 수강 기간이 길어졌다. 사실 이번에는 강의를 보지는 않았지만 처음 C++를 공부할 때는 강의를 보는 것이 도움이 될 때가 많다. 또한 조금 이해가 안가는 부분에 대해서는 강의를 듣다보면 책에서 서술하지 않았던 말들을 해주는 경우가 있어서 이해에 많은 도움이 된다.

  또한 이번 C++ 강의 같은 경우는 일주일에 2강이라는 원칙을 세워놓고 지금까지는 아주 정확하게 올라오고 있다. 언제 강의가 끝날지 예측이 가능하다는 것도 하나의 장점이라고 하겠다.

  그리고 초판이 나올 때랑은 달리 질문을 빠르게 해결해줄 수 있는 카페 (http://cafe.naver.com/cstudyjava)가 개설되어있다. 지금 빠른 시간안에 2000명을 돌파했으며, 질문에 대한 답변도 많은 사람들이 동참하여서 달아주기 때문에 빠르고 정확한 답변을 얻을 수 있다. 물론 카페안의 분위기도 매우 인간적이여서 너무 좋다 ^^

  여담이지만... TCP/IP책부터 나오던 이 책의 표지가 너무 아기자기해서 예쁘다. 개인적으로 참 맘에 든다.

  그래도 서평인데 칭찬만 할 수 없지는 않은가. 그래서 개인적으로 개정판에 느꼈던 아쉬운점을 말해보도록 하겠다. (사실 별로 없다..)

  초판에 없었던 연산자 오버로딩인 new와 delete부분을 설명할 때에 저자의 책에서 가장 강점을 느꼈던 왜 이것을 사용하느냐 부분이 조금 빠져있었다. 사실 저자의 책을 보면 모든 내용에 대한 왜? 라는 의문을 들게하고 해결하는 방식으로 나아간다. 또한 대표적인 예를 들어 이렇기 때문에 이 기능의 필요성이 있다. 라고 설명하기 때문에 머리에 오래 남게 된다. 아마도 이유가 있으리라 생각하지만 저 연산자의 경우만 유독 그부분이 빠져있고 그냥 있다고만 알고 넘어가자. 하는 부분이 조금 아쉬웠다. 사실 이 부분 빼면 단점이랄게 없다. 그만큼 훌륭한 책이다.

  이 책을 읽고 다른 두꺼운 C++ 개념서를 읽지 않아도 될만큼 전체적인 설명은 충분하다. 초판을 처음 읽을 때 객체지향 프로그래밍의 강력한 힘을 느끼면서 전율이 온몸에 나면서 책을 읽었던 기억이 난다... 여러분도 이 책을 읽으며 그런 기분을 느껴보았으면 좋겠다!


댓글(0) 먼댓글(0) 좋아요(22)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
누워서 읽는 퍼즐북 - 뉴욕의 프로그래머 임백준의 퍼즐이야기
임백준 지음 / 한빛미디어 / 2010년 1월
평점 :
절판


  "누워서 읽는 퍼즐북", 우리나라 대표 컴퓨터 전문 출판사 한빛미디어에서 출판한 책이기도 하며 지금까지 컴퓨터 관련 에세이와 소설을 써오신 임백준님께서 쓰신 책이기 때문에 얼핏 제목만 봐서는 이 책이 알고리즘 책이라고 생각하기 쉽다. 실제로 이와 비슷한 이름을 가진 책인 정보문화사에서 나온 "프로그래머 두뇌 단련 퍼즐 44제"가 한 문제를 푸는 다양한 컴퓨터적 알고리즘을 설명하고 있기 때문에 그럴지도 모르겠다.

 

  그렇지만! 전혀 그렇지 않다. 이 책은 정말로 우리의 호기심을 자극하는 순수 우리가 흔히 살아오면서 한 두개는 알고 있는, 간단한 발상으로 해결할 수 있는, 우리가 때때로 친구들에게 서로 문제를 내주고 하던 그런 일종의 퀴즈 문제들의 모음이다.

 

   이책은 컴퓨터 앞에 앉아서 읽는 책이 아니다. 정말 누워서 편하게 또는 수업을 듣는 학생이라면 공강시간이나 쉬는시간에 틈틈히, 회사를 다니는 사람이라면 여가시간에 하루에 30분~1시간씩 꾸준하게 읽을 수 있는 그런 책이라고 할 수 있다. 물론 정말 책읽는 것을 좋아하는 사람이라면 한번에 쭉 읽어나갈수도 있지만, 개인적으로는 조금씩 조금씩 여유날 때마다 보는 책으로는 안성맞춤인 것 같다.

 

  이 책을 읽는 방법은 크게 두가지인 것 같다. 첫 째는, 한문제 한문제를 가능한 개인적인 정답을 생각하고 정답을 확인하면서 내가 생각한게 최선의 답이였는지를 비교하면서 읽는 것이다. 개인적으로 나는 이 방법으로 읽었다. 문제가 풀리지 않으면 책을 닫고 머리에 간직하고 있다가, 화장실에서 용무를 볼 때나 길가면서 틈틈이 생각하곤 하였다. 그래서 결론이 나면 기억하고 있다가 다음에 책을 읽으면서 정답과 확인을 해보았는데 내가 생각한 답이 최고의 솔루션인적은 반정도밖에 미치지 못했다. 정말 생각하지도 못했던 새로운 발상으로 푸는 것을 보며 "아하~"라는 소리를 외치곤 했다. 또한 내가 생각한 방법이 책에서 설명한 방법과 일치했을 때 또한 나에게 큰 쾌감을 가져다 주었다.

 
  아마도 프로그래밍을 하는 사람이라면, 많은 사람들이 어릴 때부터 수학문제 하나를 잡고 또는 컴퓨터 알고리즘 문제를 하나 잡고 한참을 고민하다가 스스로 해결했을 때의 뿌듯함과 그 때 느껴지는 쾌락을 알 것이다. 그 쾌락을 느낄 수 있는 문제들로 묶어 놓은 책들이 바로 "누워서 읽는 퍼즐북"이다. 일종의 공부를 하면서 즐거움을 느낄 수 있는 경지를 느낄 수 있는 것이다.
 

  이 책을 읽는 두번째 방법은 답을 내야한다는 부담을 가지지 않고 그냥 쭉 읽어나가는 것이다. 이것 또한 자신이 풀었다는 그 즐거움은 반감되지만, 역시 큰 즐거움을 느낄 수 있다. 적절한 예인지는 모르겠으나, 우리가 넌세스 퀴즈를 볼 때 대부분 답을 맞추지 못하고 바로 답을 보면서 아하를 외친다. 그러면서 이러한 발상에 놀라고 즐거움을 얻은 기억이 모두 있었을 거라 생각한다. 바로 이러한 즐거움을 줄 수 있는 책인 것 같다.

 
  이 책은 특별히 순서가 아주 중요하지 않기 때문에 원하는 단원 또는 부분부터 읽어나갈 수도 있다. 우리가 심심할 때 아무데나 막 펴서 고민해보고 해결하고 즐거움을 느끼는 그런책이 아닐까 싶다.

 
  이 책의 저자 임백준씨의 책은 지금까지 출판된 서적을 모두 읽어봤지만 정말 글솜씨가 뛰어난 것 같다. 우리가 수학공부나 과학공부를 하다보면 답을 보고도 이게 왜그러지? 하면서 이해를 못하는 경우가 많이 있지만 이 책같은 경우에는 문제 바로 뒤에 있는 정답을 보면 쉽게 이해할 수 있는 것 같다.

 
  지금까지 쓴 임백준씨의 책은 개인적으로 도서관에서 빌려서 읽어봤다. 그만큼 빨리 읽어나갈 수 있어서, 오래걸리지 않아도 여러번 읽어나갈 수 있는 책이였다. 물론 이책도 그렇게 읽을 수 있다. 하지만 개인적으로는 이 책은 오랜 시간을 가지고 조금씩 음미하면서 읽어나가라고 말하고 싶다. 우리가 맛있는 음식이 있으면, 조금씩 조금식 아껴먹듯이!

댓글(0) 먼댓글(0) 좋아요(3)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
객체지향적으로 생각하라! - 제3판
맷 와이스펠드 지음, 배선종 옮김 / 정보문화사 / 2009년 5월
평점 :
품절


순수 객체 지향에 대한 국내 도서 또는 번역서는 

블로그2북, 전병선의 객체지향이야기,K교수의 객체지향 이야기, Head시리즈, 성공과 실패를 결정하는 1%의 책정도가 있는데 

드디어 하나의 책이 더 나왔네요. 객체 지향에 대한 책은 거의 다 사서 보는 책이기 때문에 매우 개인적으로는 좋았스비다.

 해석도 제법 잘되있고 좋습니다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
The Complete Guide to the TOEFL Test Reading (IBT) (Paperback + CD-Rom, iBT, Split Edition, Student Book)
Bruce Rogers 지음 / Thomson Learning / 2007년 3월
평점 :
절판


IBT 토플을 대비하기 위한, 최적의 책입니다. 정말 양질의 내용을 가지고있어요

댓글(0) 먼댓글(0) 좋아요(10)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
쎈 수학 1 (상) - 2010년용
홍범준 외 지음 / 좋은책신사고 / 2006년 9월
평점 :
품절


수학의 최고봉! 쎈수학 볼것도 없죠! 강추!

댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo