2010년 3월 16일 화요일

서평 #1

제목 : Exceptional C++

저자 : Herb Sutter

역자 : 김동현

출판 : 인포북

 

 어린 아이가 부모의 언어 활동을 흉내내서 언어를 익히게 되는 것을 보면 상당히 신기하다. 하지만, 사회적인 언어 활동을 하기 위해서는 반드시 말하는 것 말고도 정규적인 글 쓰기, 읽기, 문법 등을 배워야만 한다. 그리고 그런 언어 활동을 위한 기본적인 공부를 마치고 나서도 모두 좋고 바른 글을 쓸 수 있는 것은 아니다.

 마찬가지로 컴퓨터 언어를 배웠다고 해서 모두가 좋은 프로그램을 짤 수 있는 것은 아니다. 그렇다면 어떻게 하면 좋은 글, 좋은 프로그램을 작성할 수 있는가?

 언어 활동에서 문법이 중요한 이유는 정확하게 의미 전달을 하기 위해서이다. 문법이 없다면 표준화된 의미구조가 없어서 커뮤니케이션이라는 것 자체가 이루어지지 않을테니 말이다. 그런데 일반적으로 모국어의 경우는 거의 문법을 배우지 않고도 왕성한 언어활동을 할 수 있다고 반문할 수 있을 수 있지만, 역시 좋고 바른 글을 쓰려면 문법은 중요성은 말할 필요가 없을 것이다. 결국 의미 전달의 정확성이 좋은 글의 핵심이라고 할 수 있을 텐데, 그러한 면에서 컴퓨터 프로그램도 컴퓨터에게 정확한 의미를 전달할 수 있고 또 그 프로그램을 유지 보수할 사람에게도 정확한 의미를 전달할 수 있어야만 좋은 프로그램이라고 할 수 있을 것이다. 결국 프로그램 언어는 서로 다른 두 개체들에게 정확한 의미 전달을 할 수 있어야 하는 어려움이 따른다.

 컴퓨터에게 정확한 의미 구조를 전달하기 위해서 필수 요소는 사용하는 언어(여기서는 C++)의 작동 원리를 파악하는 것이다. 그 언어의 명세를 파악해야만 컴퓨터에게 내가 쓴 프로그램을 컴퓨터가 어떻게 이해하는 지를 알 수 있기 때문이다.

 지금까지 뜨금없는 이야기를 한 것은 XC++(이 책을 약어로 이렇게 부른다)이 내가 짠 프로그램을 컴퓨터가 어떻게 이해하는 지를 알려주는 책이기 때문이다. 일반적으로 C++ 표준 명세(spec) 문서는 정말 지루하기 그지 없다. 그리고 그 내용을 한 번 읽어서 다 이해하고 있기도 힘들고 실제 프로그램을 작성할 때 어떤 부분이 어떻게 영향을 미치는지를 파악하는 것도 그렇게 쉽지는 않다. 그렇지만 XC++, MXC++(이 책의 후속작), 그리고 다른 저자인 scott meyers의 EC, MEC 등의 책은 실제적으로 프로그램을 작성할 때 흔히 볼 수 있는 사례들을 들어서 "결국 컴퓨터가 이렇게 이해를 하게 되니 이렇게 작성하는 것이 좋은 프로그램이다." 라고 알려주는 좋은 책이라고 말을 할 수 있을 것이다.

 결국 좋은 글을 쓰기 위해서 다작도 중요하지만 다독도 중요하다. 마찬가지로 좋은 프로그램을 짜기 위해서 실제로 프로그램을 짜는 것도 중요하지만, XC++처럼 내가 짠 프로그램을 컴퓨터에서 어떻게 이해하는 지를 정확하게 이해할 수 있게 해주는 책들을 끓임없이 읽는 것도 프로그램을 많이 작성하는 것 만큼이나 중요하다고 할 수 있을 것이다.
 끝으로 부수적인 이야기로 한국어판에 대해서 말하자면, 책을 읽으면서 약간씩 이해하기 힘든 부분이 나오는 것이 사실이다. 나의 모국어 실력 부재가 문제일 수도 있겠지만, 만점을 줄 수 있을 정도의 번역은 아닌 것 같다.

댓글 4개:

  1. 만점 번역이 어디 쉬운 일인가요. T_T

    답글삭제
  2. 그래서 나는 당당히 내가 번역한 책보지 말고 원서보라고 하는 것 임.

    답글삭제
  3. trackback from: Xcode에서 Hello world만들기
    오늘은 어제 배운 Hello world프로그램을 만들어볼까 합니다. XCODE에선 처음 프로젝트를 열었을때 기본적으로 Hello world프로그램이 만들어져있지만 오늘은 지우고 만들어 보겠습니다. ▲Xcode의 첫 화면입니다. Create a new Xcode project를 클릭합니다. ▲ Create버튼을 클릭하면 이런창이 뜹니다. 이곳에서 C를 클릭합니다. ▲저장하실 위치를 선택후 ▲이런 창이 뜨면 준비가 끝난것 입니다. ▲대부분 c언어는 알고..

    답글삭제
  4. trackback from: 트위터 [책속한줄] 21~30호
    jeffryu [책속한줄-21] 학교교육은 분명히 사람들은 똑똑하게 만든다. 학교에서 가르치는 상식과 문제해결 기술은 IQ를 높인다. IQ 향상에서 학교교육 1년은 나이가 두 살 많은 것만큼의 가치가 있다. (인텔리전스 中) jeffryu [책속한줄-22] 세상에 설치된 높은 무대에 올라가 “나를 주목해 달라” “내 이야기를 들어 달라”고 외치는 것이 아니라 내가 외치지 않아도 세상이 나를 주목하게 하는 힘이 뜨거운 침묵이다. (뜨거운 침묵 中) j..

    답글삭제