바로 어제, 우연히 찰스 펫졸드의 『Code: The Hidden Language of Computer Hardware and Software』 2판에 대해 알게되었다. 사실 이 책에 눈길이 간 이유는 내가 지금 읽고 있는 로버트 C. 마틴의 『클린 아키텍처』와 표지 디자인이 90% 이상 닮아 있었기 때문이다. 그 ‘닮은꼴 표지’를 계기로 클럽 파이브 북스에 참여하게 되었고, 나의 독후감 기록도 그렇게 우연히, 갑작스럽게 시작되었다. 이 글은 아직 완독 전이지만, 책을 다 읽은 뒤 퇴고를 거쳐 한 번 더 다듬을 예정이다.
1장부터 7장까지 읽어 내려가며 느낀 점은, 저자가 실생활에서 누구나 쉽게 마주치는 사례를 통해 ‘디지털 논리 회로’라는 다소 추상적인 개념을 자연스럽게 풀어냈다는 것이다. 모스 부호로 메시지를 주고받는 방법을 설명한 뒤, 시각장애인을 위한 점자를 예로 들어 정보 부호화의 기본을 다지고, 전구에 불을 켜고 끄는 손전등 회로로 전기 신호의 흐름을 설명한다. 이어서 고양이 예제를 들어 AND·OR·NOT 같은 부울 논리 연산을 이해시켜 주는데, 배경 지식이 전혀 없어도 거부감 없이 접근 할 수 있는 책임은 분명해 보인다.
무엇보다 3장 점자와 이진 부호 부분이 가장 인상 깊었다. 평소 그냥 지나치던 점자의 돌기 여섯 개가(이것 또한 오늘에서야 처음 알게된 사실이다), 사실 수 많은 정보를 담아낼 수 있는 조합의 세계라는 사실은 내게 신선한 충격으로 다가왔다. 그리고 저자가 이를 곧장 이진수 체계로 연결해 설명하는 부분에서는 뒷머리를 얻어 맞은 듯한 깨달음을 얻었다. 이 설명이 있기 전까지 점자는 나에게 단순한 돌기였지만, 이제는 작지만 커다란 이산적인 수학처럼 느껴지게 한다.
아직 책의 1/6밖에 읽지 못했지만, 앞에서 제시된 사례만으로도 다음 장이 기대된다. 학교에서 배웠던 딱딱한 회로 이론이 이렇게 친숙한 소재로 재탄생할 수 있다는 사실이 새로웠고, 호기심과 흥미를 불러일으키기에 충분했다. 남은 장들에서도 일상 속 친숙한 예시가 계속된다면, 복잡한 디지털 논리 회로의 원리를 순식간에 이해하는 경험을 할 수 있을 것만 같다.