챕터 1. 친한 친구와의 대화

비록 모스부호가 컴퓨터로 할 수 있는 일에 비할 바는 아니지만, 이를 통하여 부호 ( 코드 / code ) 속성에 대하여 익숙해지는 것이 컴퓨터 하드웨어와 소프트웨어에 숨겨진 언어와 내부 구조를 좀 더 깊이 이해하는 데 있어서 반드시 필요하지요.
이 책에서 부호 ( 코드 / code ) 라는 용어는 일반적으로 사람과 컴퓨터 간에 정보를 전달하는 체계를 의미합니다. 달리 말하자면 부호란 의사소통을 가능하게 하는 것이라 할 수 있습니다.
- 20쪽 발췌.

대화로 의사소통을 할 수 없는 상황에서 쓸 수 있는 모스부호 ( Morse Code ) 에 대해 소개한다. 점 ( dot ) 과 선 ( dash. line 아님 ㅋㅋㅋ ) 을 조합해 알파벳 등등을 표현한다.

SOS 라는 구조신호는 모스부호로 표현하기 쉽기에 선택된 것인데, S 는 점 세 개, O 는 대쉬가 세 개이니 점점점 대쉬대쉬대쉬 점점점 하면 끝난다.

재밌던 건 제 2 차 세계대전 중에 영국의 BBC 에서는 몇몇 방송을 시작할 때 베토벤 교향곡 5번 운명을 자주 틀었다고 한다. 시작할 때 " 바바바 바~~~암 " 하는 부분을 모스부호로 나타내면 닷닷닷 대쉬 가 되어 승리 ( Victory ) 를 뜻하는 알파벳 " V " 가 되기 때문이었다고 한다. 베토벤이 의도적으로 그렇게 만든 건 당연히 아니었지만, 당시 영국 방송사 직원들은 이런 황당한 연관성을 찾아내 요긴하게 써먹었다. 알람소리를 이렇게 맞춰볼까 하는 생각이 든다. ㅋㅋㅋ



챕터 2. 부호와 조합

모스부호는 점과 선이라는 두 가지 요소로 이루어져 있으므로 이진 ( binary : 사전적 의미로는 ' 2 개로 구성된 ' 이란 뜻입니다. ) 부호라 이야기할 수 있습니다.
- 33쪽 발췌.

이진부호와 그 조합을 통해 나올 수 있는 의사소통의 가지수 등에 대해 설명한다.



챕터 3. 점자와 이진 부호

또한, 64 개의 부호들 중 많은 부호가 문맥에 따라 두 가지 역할과 의미를 부여할 수도 있음을 보았습니다. 흥미로운 부분은 숫자를 나타내기 위한 숫자 표시 부호와 숫자 표시 부호를 취소시키기 위한 문자 표시 부호가 각각 있다는 점입니다. 이 부호들은 해당 부호의 뒤에 나오는 부호들의 의미를 문자에서 숫자로, 숫자에서 문자로 변환시키는 역할을 합니다. 이런 부호들을 일반적으로 선행 부호 또는 시프트 ( Shift ) 부호라 부르며, 이 부호 뒤에 나오는 부호의 의미를 시프트가 풀릴 때까지 계속하여 변경시키는 특징을 가지고 있습니다.
대문자 표시 부호는 바로 뒤의 한 글자에 대하여 소문자가 아닌 대문자로 해석될 수 있도록 합니다. 이러한 부호는 이스케이프 ( escape ) 부호라 부릅니다. 이 부호는 단조롭고 반복적인 부호의 해석 과정에서 ' 탈출 ( escape ) ' 하여 새로운 해석이 가능하도록 해 줍니다. 뒤에서 다시 살펴보겠지만, 시프트 부호와 이스케이프 부호는 이진부호를 이용하여 글을 표기할 때 공통적으로 사용됩니다.
- 44쪽 발췌.

왜 키보드에 이스케이프와 시프트가 있는지 참고가 될 수 있지 않을까? 뒷부분에 나올 때까지는 계속 읽어가야 한다. ㅋㅋㅋ



챕터 4. 전등을 분해해 봅시다.

난데없이 전자 ( electron ), 양자 ( proton ), 중성자 ( neutron ) 과 핵원자 ( nucleus ) 얘기가 나온다. 전류가 흐르는 원리 등을 설명하며 이진코드와 전기회로가 어떤 유사성이 있는지 설명한다. 전자와 전기라는 단어는 고대 그리스어인 elektron 에서 유래됐는데, 이는 " 호박 " 이라는 보석 ( 우리나라에서도 한복 등에 쓰이는 누런 빛깔의 보석 ) 을 의미한다고 한다. 좀 생뚱맞은 어원이지만, 보석인 " 호박 " 을 양모에 문지르면 정전기 현상이 발생한다는 걸 알게 된 계기로 이렇게 됐다고 한다.



챕터 5. 다른 방법을 찾아봅시다.

원초적 형태의 전신 시스템을 설명한다.



챕터 6. 전신과 릴레이

전신이라는 뜻의 telegraph 는 사전적 의미로는 원격 기록을 뜻한다고 한다. DAUM 사전에는 여전히 전보를 치다. 전신 정도로 나와 있다. ㅡㅡ;;

전기적 신호는 앞서 배운 저항의 개념때문에 무한정 길게 갈 수 없어 중간에 적절한 장치들을 배치하는데, 이게 repeater 혹은 relay ( 계전기 ) 라고 불리는 장치다.

CODE(코드)하드웨어와소프트웨어에숨어있는언어
카테고리 컴퓨터/IT > 컴퓨터공학
지은이 찰스 펫졸드 (인사이트, 2010년)
상세보기




챕터 7. 우리가 사용하는 열 개의 숫자들

이러한 관점에서 보면 10에 기반을 두고 있는 수체계 혹은 십진수 ( decimal; 라틴어로 10을 의미하죠 ) 를 수체계로써 사용하고 있는 것은 아주 자의적으로 이루어진 일이라 할 수 있겠습니다. ) 그러나 우리는 10을 기반으로 하는 숫자에 대하여 매우 중요한 의미를 부여하여 특별한 이름을 붙이고 있지요. 10년은 10년 ( decade ) 이라 부르며, 10번의 10년은 세기 ( century ), 10번의 세기는 천년 ( millennium ) 이라 부릅니다. 천번의 천번은 백만 ( million ) 이 되고, 천 번의 백만은 십억 ( billion ) 이 됩니다. 이러한 숫자들은 모두 십의 거듭제곱 수입니다.
- 85쪽 발췌.

사람이란 존재는 10진수 체계를 사용한다는 얘기와 " 0 " 의 발명이 가지는 가치에 대한 설명이 나온다. 999 를 9 * 100 + 9 * 10 + 9 처럼 거듭제곱을 표시하는 것이 얼마나 유용한지 설명하고 있다. 다음 장의 내용과 이어지는데, 이 장의 결론은 아래와 같다.

위치에 기반을 두는 숫자 체계의 장점은 단순히 매우 잘 동작한다는 점뿐 아니라 십진수 기반이 아닌 숫자에서도 매우 유용하게 사용할 수 있다는 점입니다.
- 92쪽 발췌.



챕터 8. 십진수 이외의 것

수의 위치에 따라 그 의미가 달라지기에 거듭제곱 등을 사용해서 체계적으로 표시할 수 있다는 건 엄청난 장점이다. 이런 체계 덕분에 10진수와 8진수와 2진수들이 서로 손쉽게 변환해서 사용할 수 있다. 진법을 자유롭게 변형할 수 있다는 것이다.

1948년경 미국의 수학자인 존 와일더 터키 ( John Wilder Tukey, 1915 ) 는 미래에 컴퓨터가 널리 유행이 되면 이진수라는 단어가 지금보다 훨씬 더 중요한 의미를 가지리라는 것을 알아차렸습니다. 그는 이진수라는 세 음절씩이나 가지고 있는 단어 대신에 좀 더 짧고 새로운 단어를 만들어서 대신 사용하기로 하였지요. 그는 처음에 bigit 이나 binit 과 같은 단어도 고려했지만, 결국에 짧고, 간단하고, 우아하고, 완벽하게 사랑스러운 단어인 bit ( 비트 ) 를 사용하기로 결정하였습니다.
- 113쪽 발췌.

수학자가 한 짓 치고는 아주 맘에 드는 행동이긴 한데, " 비트 " 라는 단어가 사랑스럽지는 않다. ㅋㅋㅋ

전체 25장 중 약 1/3 가량을 읽었는데 웬만한 사람들이라면 여기까지는 그냥 무난하게 따라올 수 있을 것 같다. 문제는 목표의식이 없으면 별 재미없겠지만, 컴퓨터나 프로그래밍에 매진하다가 머리가 꼬인 사람들에게는 작게 쉬어갈만한 수준으로 보여진다. 생각해 보니 작지는 않다. 모두 600 쪽이 넘는 분량이다. 단지 읽기 쉬워서 휙휙 넘어갈 뿐이다. 지금까지는..





WRITTEN BY
리컨
영화를 즐기는 취미를 기록한 블로그입니다.

,



윈도우 운영체제로 C++ 같은 프로그래밍 언어들을 공부했던 사람이라면 " 찰스 펫졸드 " 라는 이름을 한번쯤 들어봤을 것이다. " Programming Windows " 라는 책으로 많은 개발자들한테 영향을 줬다는데, 영향을 받을 만큼 깨어있는 머리와 마인드가 아니라 두꺼운 책으로만 기억하고 있다. ㅋㅋㅋ

어쨌거나 이렇게 프로그래밍 분야에서 인지도가 높은 찰스 펫졸드라는 사람이 누구나 편하게 읽을 수 있도록 만든 컴퓨터 서적을 오래 전에(?) 썼는데, 2010년에야 김현규라는 분의 번역으로 인사이트 출판사에서 나왔다. 찰스 펫졸드가 스스로 최대의 역작이라고 꼽는다는데, 이 사람이 쓴 책은 이제 두번째라 제일 좋은 책인지는 모르겠다. ㅎㅎㅎ

" 현 세대가 있도록 만들어준 디지털 기술의 진화에 대하여 살펴보는 약간 독특한 여행기라고 할 수 있습니다. "
하지만, 이제는 좀 더 명확하게 이야기할 수 있을 것 같습니다.
" CODE 라는 책은 컴퓨터가 어떻게 동작하는지 설명하는 책이다! "
 - 10쪽 발췌. 지은이의 글 중에서

전체 25 챕터 중 8 챕터까지 읽었는데, 여기까지는 인문계 고등학교까지 일단 졸업한 사람이라면 크게 무리없이 읽을 수 있다고 보여진다. 뭐 중간에 왠 양자, 전자, 중성자라는 단어가 튀어나와 당황스럽긴 하지만, 결국 컴퓨터에서 전기가 흘러가는 얘기를 아주 기초적인 단계에서부터 언급하고 있어 그냥 읽어 넘길 수 있다.

너무 기초적인 부분부터 시작한 게 아닌가 싶을 정도로 지루한 면도 있는 반면, 초반 1/3 지점까지 읽었음에도 기억해 두고 싶은 문장들이 곳곳에서 발견됐고, 번역하신 분의 정성과 능력도 놀라울 정도라 틈나는대로 정리해 두고 싶다. 번역하신 분은 뭔 프로세서 아키텍쳐를 설계하신다는데, 허울좋은 스펙만은 아니라는 걸 이 책의 번역을 통해 엿볼 수 있다.

CODE(코드)하드웨어와소프트웨어에숨어있는언어
카테고리 컴퓨터/IT > 컴퓨터공학
지은이 찰스 펫졸드 (인사이트, 2010년)
상세보기

다시 보니 제목이 참 멋지다. 코드 : 하드웨어와 소프트웨어에 숨겨진 언어 ( Code : The Hidden Language of Computer Hardware and Software by Charles Petzold )

클래식이란 시간을 뛰어넘는 영원의 생명력을 얻은 작품이다.
- 5쪽 발췌. 옮긴이의 글 중에서

옮긴이가 아마 어디서 인용한 것이라 간주하는 문장인데, 개인적으로 참 와닿는 표현이다. 바흐의 샤콘느니 뭐니 하는 소리는 모르겠지만서도.. ㅋㅋㅋ 옮긴이는 " CODE " 가 이 분야에서 " 클래식 " 으로 불려도 손색이 없을 것이라고 판단해 번역했다고 한다.

컴퓨터가 정보 기술 ( Information Technology ) 을 이끄는 대표적인 발명품이라고 하는데, 이런 컴퓨터가 어떻게 동작하는지 최소한의 기초 지식만으로 소설책 읽듯이 다가갈 수 있도록 한 점이 이 책의 장점이라는 게 옮긴이의 평가다. 소설책만큼 흥미진진하고 재밌지는 않지만, 지금까지는 읽는데 짜증나는 수준은 아니었다.

25년 전이나 50년 전의 컴퓨터에 비하면 오늘날의 컴퓨터가 복잡한 것이 사실이지만, 기본적으로는 대부분 동일합니다. 따라서 어떤 기술의 과거 형태를 살펴보면 오늘날의 기술과 기본적으로는 같으며 좀 더 간단한 형태를 가지고 있기 때문에, 많은 측면에서 좀 더 편하게 기술을 파악할 수 있다는 장점이 있습니다. 이것이 바로 기술에 대한 역사를 공부하는 의의라 할 수 있겠습니다.
- 12쪽 발췌. 지은이의 글 중에서. 2000년 8월 16일 찰스 펫졸드

개인적으로 고전영화나 좀 시간이 지난 영화를 볼 때도 같은 이유에서 보고 있다. 어떤 기법이나 혁신의 이유를 원형 그대로 찾아볼 수 있기 때문이다. 요즘 나오는 어떤 영화들은 보기에 참 잘 만들어졌는데, 예전 원형들의 조합에 불과하기에 전문가들이 혹평을 한다는 걸 알게 되곤 한다. 이렇듯 좋아하는 분야에 대한 역사나 과거를 살펴보는 건 오늘날에 보여지는 모습을 제대로 파악하기 위해 필수적인 일이라고 본다. 컴퓨터와 웹을 좋아한다는 건 단순히 즐기기 위해 이용하는 것과는 확연히 다른 의미라는 걸 알았으면 싶다.


WRITTEN BY
리컨
영화를 즐기는 취미를 기록한 블로그입니다.

,