책 리뷰 : Code - 하드웨어와 소프트웨어에 숨어 있는 언어

제대로 적으려고 해봐야 미뤄지기만 할테니 대충 적어둔다.

코드 - 하드웨어와 소프트웨어에 숨어 있는 언어

꽤나 오래전에 사두었던 책인데 묵혀두다, 엇그제 꺼내어 읽기 시작해서는 이틀만에 다 읽었다. 왠만한 소설보다도 빠르게 읽은 느낌 - 그림과 표가 많다.

Code책은 내가 작성한 프로그램이 어떠한 과정을 거쳐서 실제 처리되는가를 정리해 둔 책이다. 코딩이나 알고리즘은 다루지 않으며, 컴퓨터에 전원을 인가했을때 모니터에 글씨가 한자한자 나오는 일이 실제로는 어떠한 물리적, 논리적, 역사적 배경을 가지고 어떠한 과정을 거쳐서 출력되는지를 650페이지에 걸쳐 매우 친절하고 꼼꼼하게 설명해주고 있다. 실제 대학에서 강의되는 수업으로 따지면, 이산수학, 마이크로프로세서 구조, 디지털 시스템, 컴퓨터 구조 등 컴퓨터공학과 저학년들이 두세학기동안 12~16학점 정도에 걸쳐서 배우는 기초과목의 내용이다. 대학다니기 전에 읽었으면 좋았겠다 싶다. 처음에는 전구나 껏다켰다 하더니, 모스부호를 찍고, 2진수 16진수 덧셈을 하다가 AND니 NOR니 하는 논리 게이트도 그리고 기계어와 어셈블리어도 보다가 화면 해상도 이야기를 하고는 끝나는 책이다.

코딩을 배우는 경로가 다양해지다 보니, 코드를 작성할 줄은 알지만, 실제로 프로그램이 실제로 어떻게 동작하는지를 고민하지 않고 혹은 모르고 프로그램을 작성하는 개발자들이 많다. 혹은, 취업학원으로 변해버린 학교와 학문을 제대로 이해하지 못한 교수의 조합이 만들어 재앙수준의 교육과정이 문제인지도 모른다. 동작은 하지만 왜 동작하는지, 각각의 단계에서 실제로 일어나는 일은 무엇인지 잘 모르는 경우에 어디부터 이야기 해야 하는지 고민했는데, 앞으로는 추천해 줄 만한 책이 생겼다. 쉬운책 더 정확히는 어려운 부분은 그냥 무시해고 읽어도 상관 없는 책이니 컴퓨터란 무엇인가가 궁금한 많은 분들께 추천드린다. 컴퓨터 공학을 전공하지 않아서 코딩을 할때 블랙박스로 버려두고 코딩하고 있다고 느끼는 분들에게도 추천드리며, 사실 내가 무엇을 모르는지 모르는 개발자들에게 추천하고 싶은데, 무엇을 모르는지 모르는 사람은 쉽게 움직이지 않으니 별로 소용이 없는 소리일 것 같고, 혹시라도 읽었는데, 막히거나 새로 알게 된 부분이 있으면 그건 그 것대로 이상한 일이긴 하다. 지금까지 짠 코드에 대해서 아니면 지금까지의 인생과 커리어에 대해서 생각보기 좋은 책이라고 아름답게(?) 마무리 하자.

개인적으로 역주를 이용한 지적 과시(a.k.a 설명충, 맨스플레인)를 매우 싫어하는 편인데 불행히도 그에 속한다. 역주가 그다지 도움이 되지 않고, 정작 필요한 곳에는 없으며 매우 눈에 거슬리는 걸 빼면 다행이도 번역의 퀄리티는 나쁘지 않다. 번역시 역주는 불필요하다 라고 배웠기에 더 깐깐한 면도 있다.

Facebook의 Note기능으로 작성했던 것을 옮겨온 것이다.