Code: The Hidden Language of Computer Hardware and Software

by Dongeun Paeng
May 05, 2025 · 만 35세

Logic gate가 점점 복잡해지면서 위기가 찾아오지만(내 경우 14장 Feedback and Flip-Flops부터) 그 부분만 잘 넘기면 정말 재밌는 책. 재미를 떠나서, 코드를 다루는 사람이라면 누구나 읽어야 하는 책이다. 책이 나온 지는 20년도 더 지났지만 아직까지 거의 모든 내용이 유효하다.


컴퓨터가 인간사를 송두리째 바꿀 수 있었던 것은 그것이 가진 특별한 힘, 곧 '추상화' 덕분이다. 이 책은 이웃집 친구에게 손전등으로 모스 부호를 보내는 것에서 출발해 Java를 소개하는 데에 이른다.


이 책의 경이로운 점은 손전등을 깜빡이는 것과 Java 프로그래밍 언어 사이에 놓인 발전 단계를 거의 빠짐 없이 차곡차곡 쌓아올린다는 것이다.


이론적으로, 이 책에서 하라는 대로 잘 따라하면 1980년대에 나온 IBM 컴퓨터 한 대와, 그 위에서 동작하는 OS, 그리고 그 OS 위에서 동작하는 프로그램을 만들 수 있다는 뜻이다. 물론 12-17장 사이에서 99%가 탈락하겠지만.


이 책의 또다른 장점은 어떤 기술의 등장 배경이 되는 역사적 사실들을 자세히 설명한다는 것이다. 덕분에 각 기술의 의의를 자연스럽게 이해할 수 있다. 가령 이 책에는 smalltalk과 GUI를 PARC에서 만들었고, smalltalk의 개발에 참여한 PARC 연구원 Alan Kay가 마우스를 만들었다는 내용이 나온다. 이를 통해 "객체 지향 언어"가 어떤 맥락에서 어떤 목적으로 등장했는지 자연스럽게 이해할 수 있다.


더 나아가 폰 노이만 구조에서 뚜렷이 구분되던 코드(명령)와 데이터를 객체 지향 언어에서 비로소 묶어냈다는 설명도, 책을 읽기 전에는 전혀 생각해보지 못한 관점이다.


이외의 내용들은 며칠만에 이해하고 넘어가는 게 솔직히 어려웠다. 어려운 부분은 대충 읽고 지나갔다. 보통 책과 다르게 이 책은 그러고 말기가 아쉬운 책이다. 한 번 더 읽으면서 꼭꼭 씹어 먹어야겠다는 생각이 드는 책이다.

NEXT POST

바가와드 기따

May 05, 2025 · 만 35세

예상 외로 술술 읽히는 책. 아마 깊이 있게 파고들지 않아서일 것이다. 어떤 사람들에게는 경전이겠지만, 나한테는 전래 동화나 서사시와 다를 게 더 보기

PREVIOUS POST

<코딩을 지탱하는 기술> 중

Apr 19, 2025 · 만 35세

이 책에서 클래스를 바라보는 세 관점을 소개한다. 더 보기