찰스 펫졸드가 쓴 'Code - 하드웨어와 소프트웨어에 숨어 있는 언어' 를 다 읽었다.
드디어!
사실 첫번째 도전에서 중간에 포기하고(너무 어려워서...) 덮어두었다가 얼마전 생각이 나서 다시 읽었고,
한달 정도만에 드디어 완독했다.
일단 상당히 재미있다. 그러면서도 어렵다.
후레쉬 깜빡임 > 모스부호를 이용한 전신기 > 이진 덧셈기 > 컴퓨터 로 발전하는 과정을
아주 디테일하고 친절하게 보여주고 있다.
개인적으로 컴퓨터의 메모리 구조에 대해서 막막한 감이 있었는데
이 책을 보고 어느정도 해소되었다.
2진수 16진수 비트 바이트 등등.. 어려워보이기만 했던 개념들을 풀어써주는게 좋았다.
특히 chapter10 - 논리와 스위치 이 부분이 소름 돋을 정도로 인상적이었다.
우리가 개발하면서 흔히 쓰는 조건문들을 스위치와 전구로 변환해서 논리 회로를 구성하는데,
그렇게 함으로써 자연스럽게 비트에 대한 개념을 익히고 컴퓨터가 왜 0과 1로만 돌아가는가..
이해하게 되는 아름다운 챕터였다고 생각한다.
후반부로 갈수록 논리 회로가 복잡하게 연결되면서 멘붕이 오기도 했지만,
그런 부분은 그냥 이해만 하자는 생각으로 슥~ 넘어갔다.
뭐 그럼에도 불구하고 많은 도움이 되었다.
그리고 아스키 코드 부분에서 비트 단위 연산을 통해 비트값 하나만 변경함으로써 소문자 > 대문자 효과를 내는 것을 보면서
퍼포먼스 향상을 위해서라면 이렇게 비트 단위 연산도 할 수 있어야 겠구나 싶었다.
사실 평소에는 그 정도까지 성능에 신경 쓰면서 개발한적이 없었으니..ㅠㅠ
아무튼 이 책은 개발자라면 꼭 한번은 읽어보라고 권하고 싶다.
개발자가 아니더라도, 수학을 좋아하고 컴퓨터에 관심이 있는 사람이라면 재미있게 읽을 수 있다.
600여페이지의 꽤 두꺼운 책이지만 완독해서 너무나 뿌듯하다!
'책이야기' 카테고리의 다른 글
독하게 시작하는 c 프로그래밍 - 최호성 (0) | 2018.04.03 |
---|---|
별의 계승자 - 제임스 P.호건 (0) | 2017.09.06 |
지도로 먹는 세계사 이야기 - 후쿠다 토모히로 (0) | 2017.07.13 |
누워서 읽는 알고리즘 - 임백준 (0) | 2017.07.03 |
속 깊은 JavaScript - 양성익 (0) | 2017.07.03 |