본문 바로가기

책이야기

Code - 찰스 펫졸드

찰스 펫졸드가 쓴 'Code - 하드웨어와 소프트웨어에 숨어 있는 언어' 를 다 읽었다. 

드디어!

사실 첫번째 도전에서 중간에 포기하고(너무 어려워서...) 덮어두었다가 얼마전 생각이 나서 다시 읽었고,

한달 정도만에 드디어 완독했다.


일단 상당히 재미있다. 그러면서도 어렵다.

후레쉬 깜빡임 > 모스부호를 이용한 전신기 > 이진 덧셈기 > 컴퓨터 로 발전하는 과정을

아주 디테일하고 친절하게 보여주고 있다.


개인적으로 컴퓨터의 메모리 구조에 대해서 막막한 감이 있었는데

이 책을 보고 어느정도 해소되었다. 


2진수 16진수 비트 바이트 등등.. 어려워보이기만 했던 개념들을 풀어써주는게 좋았다. 

특히 chapter10 - 논리와 스위치 이 부분이 소름 돋을 정도로 인상적이었다.

우리가 개발하면서 흔히 쓰는 조건문들을 스위치와 전구로 변환해서 논리 회로를 구성하는데,

그렇게 함으로써 자연스럽게 비트에 대한 개념을 익히고 컴퓨터가 왜 0과 1로만 돌아가는가..

이해하게 되는 아름다운 챕터였다고 생각한다.


후반부로 갈수록 논리 회로가 복잡하게 연결되면서 멘붕이 오기도 했지만,

그런 부분은 그냥 이해만 하자는 생각으로 슥~ 넘어갔다.

뭐 그럼에도 불구하고 많은 도움이 되었다.


그리고 아스키 코드 부분에서 비트 단위 연산을 통해 비트값 하나만 변경함으로써 소문자 > 대문자 효과를 내는 것을 보면서

퍼포먼스 향상을 위해서라면 이렇게 비트 단위 연산도 할 수 있어야 겠구나 싶었다.

사실 평소에는 그 정도까지 성능에 신경 쓰면서 개발한적이 없었으니..ㅠㅠ


아무튼 이 책은 개발자라면 꼭 한번은 읽어보라고 권하고 싶다.

개발자가 아니더라도, 수학을 좋아하고 컴퓨터에 관심이 있는 사람이라면 재미있게 읽을 수 있다.


600여페이지의 꽤 두꺼운 책이지만 완독해서 너무나 뿌듯하다!