출처 : Outsider's Dev Story https://blog.outsider.ne.kr/
아주 오래전에 Nephilim님이 카페에서 읽고 있는 걸 보고 번역서가 나왔을 때부터 읽고 싶어하다가 이제야 보게 되었다. 이 책의 저자인 찰스 펫졸드(Charles Petzold)는 윈도우 프로그래밍 쪽에서 유명하므로 나는 이 사람의 책은 본 적이 없지만, 이 책은 정말 좋은 책이다.
처음에는 친구와 대화를 하는 방법부터 시작한다. 옆집에 사는 친구와 밤에 의사소통하기 위해서 수신호를 만들고 플래시를 이용해서 신호를 만들면서 2진수의 개념을 설명한다. 컴퓨터를 설명하면서 이런 이야기부터 시작하나 싶을 정도로 처음에는 아주 쉬우므로 소설을 읽듯이 가볍게 읽을 수 있다. 여기서 설명하는 이진수부터 시작해서 전신을 통해서 신호를 어떻게 보내고 릴레이를 통해서 신호를 보내는 범위를 어떻게 늘리기 시작했는지로 확장하면서 논리게이트를 만들고 이를 바탕으로 작은 컴퓨터를 만드는 원리를 설명한다.
나처럼 기본이 약한 채로 프로그래밍을 하는 사람한테 기본적인 개념을 잡기에 잘 설명되어 있다. 이진수를 이용해서 간단한 덧셈을 할 수 있는 기기를 만들고 뺄셈도 할 수 있게 확장한 뒤에 값을 저장하기 위한 메모리를 추가하는 등 점점 현재 우리가 보는 컴퓨터의 개념으로 확장하고 있다. 중반을 넘어가면 마이크로프로세서가 등장하고 운영체제와 기계어를 포함한 프래그래밍 언어까지 오면서 책이 끝나게 된다.
500페이지 정도의 얇지 않은 책이지만 이 책만큼 잘 설명한 책은 본 적이 없고 더 잘 설명할 수 있을 것 같지도 않다. 때때로 너무 찬찬히 설명하는 게 아닌가 싶을 정도로 자세히 설명하고 있지만 플래시를 이용한 신호에서 프로그래밍언어를 사용하는 컴퓨터까지 발전하는 설명의 진행이 너무 자연스럽게 이루어져서 이 책을 쓰기 위해서 찰스 펫졸드가 얼마나 많은 고민을 했는지 느껴질 정도고 때때로 관련 없어 보이는 예시들까지 뒤의 개념들에 이어지는 것들을 보면서 책을 보는 내내 감탄을 자아내게 했다. 뒤로 갈수록 좀 복잡해져서 확실히 개념을 다 이해하지는 못했기 때문에 나중에 다시 읽어보고 싶은 책이다. 너무 광범위한 내용이라 요약을 하기는 어렵고 직접 읽어보시라 말하는 수밖에 없다.
댓글 없음:
댓글 쓰기