Media Log

Clean Code 클린 코드 - 9점
로버트 C. 마틴 지음, 박재호.이해영 옮김/케이앤피북스
언젠가 어떤 책을 읽다가 모든 디자인 패턴은 중복을 제거하려는 시도로부터 나왔다는 내용을 읽은 적이 있다. 중복을 제거하는데 집중하게 되면 결국 현재 잘 알려진 디자인 패턴 중 하나를 사용하게 된다는 내용이었는데 나는 그 말이 참 마음에 와닿았다. 그 이후로는 쓸데없이 여기는 이 패턴을 적용해야지 하는 생각들을 버리고 그냥 맘 편하게 중복을 제거하는데 집중해서 프로그래밍 하고는 했는데 그 방법이 훨씬 더 좋은 것도 같다. 어쨌거나 그 글을 이 책에서 읽은 줄 알았었는데, 다시보니 이 책이 아니었었나 보다. 어느 책에서 읽었는지 도대체 기억이 나지가 않는다. 다시 한 번 보고 싶은데. 혹시 알고 계신 분이 있으면 좀 가르쳐주세요.

이 책은 책 제목 그대로 어떻게 클린 코드를 작성하는지에 대해서 다룬다. 디자인 패턴하고도 밀접한 관계가 있고 리팩터링하고도 관련이 있다.
변수 이름을 짓는 간단한 방법부터 시작해서 어떻게 잘 설계된 클래스와 인터페이스를 만드는지, 어떻게 리팩터링을 하는지에 대한 훌륭한 지침들이 가득 담겨져 있다. 하나하나 읽으면서 음미할 수 있고 고민이 되는 잘쓰여진 좋은 책이다.

그런데 책 중간부터는 뭔가 실전처럼 보여주기 위해 남의 코드를 리팩터링 하는데 하필 그 중 한 코드가 도널드 커누스가 작성한 코드이다.
리팩터링할 코드는 찾아보면 쌔고 쌨을텐데 하필 커누스인가. 최고의 프로그래머에 대한 예의를 갖추는 것처럼 말은 조심스럽게 하지만 결국 당신 코드는 읽기는 참 어렵단 말이야, 내 코드가 더 낫지! 라고 말하는 것 같다.

..그래서 별 반 개 깍았다. -_-ㅋ
코드로 읽는 리눅스 디바이스 드라이버 - 8점
스리크슈난 벤카테스와란 지음, 박재호 옮김/에이콘출판
에이콘 출판사에서 코드로 읽는 리눅스 디바이스 드라이버라는 새 책이 출간되었다.
이 책의 원제는 Essential Linux Device Drivers이며 2008년도에 발매되었다.

나는 아마존에서 'device driver' 로 자주 검색을 해보는데 이 책은 언제나 1위로 검색이 되어서 잘 기억하고 있다.

리눅스건 윈도우건 디바이스 드라이버에 대한 책은 그렇게 많지 않은데다가 2000년대 초반, 심지어 90년대의 책들이 수두룩하다. 생각해보니 윈도우가 리눅스보다 더 심한 것 같다.
디바이스 드라이버 세계에서 2008이라는 숫자는 엄청난 최신 버전이므로 이런 책이 번역되어져 나왔다는 것은 참 반가운 일이 아닐 수 없다.

지금은 윈도우 드라이버만 만들고 있지만 앞으로 리눅스에서 드라이버를 개발하게 될지도 모르고, 언제나 그렇듯이 다른 플랫폼을 공부하는 것은 현재 플랫폼을 잘 이해하는데 큰 도움이 되기 때문에 이 책도 꼭 읽어볼 생각이다.

책 목차를 보면 상당히 방대한 부분을 다루고 있는데, 얼마나 자세한 내용인지는 모르겠다.
나는 FUSE를 통해 파일 시스템을 만드는 것에 특히 관심이 있는데 이런 내용은 없는 것 같아서 좀 아쉽긴 하다.

반가운 점이 또 하나 있는데 바로 책의 가격이다.
이 책의 정가는 35,000원인데, 나는 책의 가격과 출판사를 몇번이나 눈알을 왔다 갔다 하며 쳐다보았다.
에이콘의 책은 가격이 아주 비싼 편인데, 이제부터는 가격을 좀 낮게 책정하기로 결정한건지는 모르겠지만 어쨌거나 독자들에게는 좋은 일이다. 앞으로도 잘 부탁해요 에이콘. 크크.

오늘 아침에 잠시 조엘의 책을 읽는데 재밌는 내용이 있었다.
그가 인터뷰를 하거나 혹은 이력서를 읽을 때의 이야기이다.

나는 자바보다 한결 오래된 언어인 OCaml 로 작업한 사람을 보고 매우 감동 받은 적이 있다. 또 아득한 향수가 깃든 어셈블러나 디바이스 드라이버 또는 커널로 작업한 프로그램을 보면 비주얼 베이직이나 PHP로 작업한 것보다 한결 가슴이 뭉클해진다.

디바이스 드라이버를 만드는 사람들이나 공부하는 사람들에게 조금이나마 힘이되는 글 아닌가? 크크.

좋은 책을 번역해주신 역자께 감사한다.