이 책은 두께와 표지에서부터 이 책이 얼마나 많은 메세지를 안겨줄지 궁금해지는 책이었다.
다른 언어들을 소개하는 책처럼 그 언어의 특징과 사용법을 다루는 책일 것이라 생각했었다.
하지만 그 예상은 완전히 빗겨나갔고, 왜 C가 기초가 되는 언어인지 알았다.
예를 들어 part2에서는 프로세스와 메모리, part3에서는 객체지향을 다룬다.
왜 한 언어를 주제로 하는 책에서 프로세스와 메모리에 대해 알아야 하는지, 왜 C는 객체 지향이 아닌지에 대해 상당히 상세하게 알려준다.
또한 part4에서는 C와 밀접한 관계에 있을 수 밖에 없는 UNIX를 다룬다.
유닉스를 다루더라도 바로 시스템호출이나 커널 쪽으로 들어가는 것이 아닌
이 책에서 왜 유닉스를 다루는지에 대해 자세한 설명이 있기 때문에 더욱 흥미로웠다.
유닉스 챕터가 지나면 동시성, 동기화, 스레드 실행, 프로세스간 통신 등에 대해 다루면서 여러 번 고민했던 주제들이 등장함을 확인할 수 있다.
C언어에 대한 책을 펼쳤을 뿐인데 C언어 자체의 특징과 함께 전공서적에서 읽을 수 있는 다양한 지식들을 읽는 행복을 안겨주는 책이다.
물론 그것은 C언어가 프로그램의 기초가 되는 언어인 영향도 있기는 하지만,
무엇보다도 이 책 자체가 정말 짜임새 있게 잘 만들어졌다는 인상을 받았다.
방대한 내용을 다룸에도 그 짜임이 매우 유기적으로 잘 구성되어 있고, 번역도 매끄럽다.
그렇기에 900여 쪽에 달하는 두께가 압박만으로 다가오지는 않고,
수많은 것들이 함께 연결되어 있다는 기쁨을 줄 수 있는 책이다.