- Unix 체계에 대한 입문서로 충분히 활용 가능하다. (프로그래밍을 위한 기초)
- 기본적인 내용에 연연하지 않은, 실제 적용 가능한 예제들을 담았다
- 프로그래밍을 하기 위한 접근방식, 실제 작성 예제가 훌륭하다
- 방대한 양의 시스템 함수에 대한 설명과 예제가 있다
- 한번 읽고서 끝내지 않을, Unix Programming의 백과사전으로 활용이 가능하다
위에 사항은 이 책의 장점이다.
일단 놀랐던 것은 시스템 함수에 대해 직접 예제를 달고, 그 예제에 대한 comment를 달아놓았다는 것이었다. man페이지 만으로 만족할 수 없는 프로그래머들에게는 아주 중요한 도움이 될 것이라 의심치 않는다.
거의 책의 절반을 차지하는 내용으로 시스템 함수들을 다루었으며 이것만으로도 이 책의 값어치는 충분하다. 또한, 저자의 경험이 풍부하다는 것이 책 전반에 걸쳐서 잘 나타나 있다. 많은 노하우를 가지고, 실제 발생할 수 있는 Unix에 대한 문제점을 짚어나가며 프로그램을 작성하도록 유도한다.
- 본질적인 시스템 프로그래밍의 입문서로는 적합하지 않다.
위의 문제점이 이 책의 가장 큰 단점이다.
만약 책의 제목이 ‘Unix 프로그래밍 기초’ 라던가 ‘Unix 프로그래밍 입문 및 활용’ 이라는 제목이었다면 더 어울리는 내용이 아니었을까…하는 생각이 든다. 즉, 시스템 프로그래밍이라기 보다는 Unix상에서 프로그래밍을 어떻게 시작해야 할 것인지, 무엇을 알아야 하는지에 대한 성격이 짙다는 것이다.
만약 이 책이 시스템 프로그래밍을 위해 실제 업무에서 작성되는 프로그램들을 분석해 나가면서 설명했다면(물론, 공개하기 힘들고, 독자가 중급이상의 실력을 갖춰야 하겠지만) 정말로 꼭 소장해야 하는 그러한 책이 되지 않았을까 하는 생각이 든다. 실무에 뛰어들기 위해 반드시 읽어야 하는 그런 바이블이 하나 탄생하지 않았을까… 초보자를 이끌기 위한 부분이 많다 보니 실제 업무에 적용되는 팁 위주로 책이 작성된 것이 아쉽다. 하지만, 이 책을 읽고 난 후 공감하겠지만, 정말 주옥 같은 팁이 책 전반에 널려져 있다.
만약 이 책을 읽을 기회가 된다면, 3부의 시스템 정보 보여주기의 소스는 꼭 한번 작성해 보기 바란다. 참고로, 이 소스는 리눅스에서 돌아가지 않는다. 저자의 사이트를 통해 리눅스에서 적용되는 코드를 기회가 되면 올린다고 했으니 한번 기다려 보는 것도 좋겠다. 그리고 공부할 시간이 더 남는다면, 2부의 소스를 직접 작성한 후에 책의 내용을 읽어 저자와 함께 소스를 분석해 보기 바란다. (그냥 따라가며 읽어도 무방하다)
개인적으로, Unix상에서 프로그래밍을 시작하려 한다면, 이 책을 읽어본 후에 다음과 같은 도서를 함께 구비하면 좋을 것 같다.