본문 바로가기
책을 읽고 나서

[책 감상/책 추천] 박준석, <세상을 만드는 글자, 코딩>

by Jaime Chung 2019. 5. 13.
반응형

[책 감상/책 추천] 박준석, <세상을 만드는 글자, 코딩>

 

 

"코딩 의무 교육 시대 / '어떻게'가 아닌 '왜'와 '무엇'에 대한 최초의 코딩 교양서"라는 표지 문구처럼, 코딩을 하든 하지 않든 컴퓨터의 원리에 대해 알고 싶은 분들에게 도움이 되는 교양서이다.

저자가 이과적인 내용을 문과적으로 잘 풀어 써서, 나처럼 전형적인 문과인 사람들도 (대부분은) 잘 이해할 수 있을 정도다.

코딩을 컴퓨터가 읽을 수 있는 글을 쓰는 작업이라고 설명하는데, 나는 이게 무척 인상 깊었다.

오늘날 전 세계에 흩어져 있는 수십억 대의 스마트폰은 안드로이드 운영체제OS, Operating System라는 글을 읽고 거기 적힌 명령들을 동일하게 실행합니다. 그리고 세계 곳곳에 보급된 수십억 대에 육박하는 PC들은 윈도Windows OS라는 글을 읽고 거기 적힌 내용대로 움직입니다. 서점을 통해 팔리는 책은 많아야 몇십만 부에 불과하지만, 소프트웨어라는 책은 몇십억 부 이상도 팔릴 수 있습니다. 베스트셀러가 되는 판매 부수가 1,000배 이상 차이가 납니다. 그 이유는 컴퓨터는 문맹도 없고, 언어도 디지털 언어라는 1가지 종류만 사용하기 때문입니다. 만일 안드로이드 OS라는 책에 내가 쓴 코드를 1줄이라도 집어넣게 된다면 나는 수십억 대의 컴퓨터를 독자로 확보한 저자가 됩니다. 그러니 코딩은 수십억의 독자를 상대로 한 글쓰기이고, 프로그래머는 수십억의 독자를 확보한 저자인 셈입니다. 코딩은 일개 저자가 전 세계에 걸쳐 광범위한 영향력을 행사하게 해주는 유일한 수단입니다.

그동안 나는 많다면 꽤 많은 책을 읽어 왔는데, 코드를 쓰는 일을 이렇게 매력적으로 묘사한 단락은 처음 봤다. 수십억 대의 컴퓨터를 독자로 확보한 저자가 된다니!

확실히 저자에게는 이과적인 내용을 문과생들이 받아들일 수 있는 방식으로 표현하는 재능이 있는 것 같다. 


또한 코딩에 대한 설명 중 이 부분도 매력적이었다.

공학계열에 속한 대부분의 학과에서 코딩을 가르칩니다. 마치 코딩이 교양 과목인 것처럼요. 그 이유는 코딩이 어디에서나 필요하고, 누구나 코딩을 할 수 있기 때문입니다. 사실 프로그래머가 되기 위해 대학에서 관련 전공을 이수할 필요는 없습니다. 코딩을 하는 데 대단한 수학 지식이나 과학 지식이 필요하지도 않습니다. 코딩은 그냥 컴퓨터에게 업무를 지시하기 위한 '논리적 글쓰기'일 뿐입니다. 국문학과를 나오지 않아도 다들 글을 읽고 쓰듯이 컴퓨터공학과를 나오지 않아도 누구나 코드를 쓸 수 있습니다. 코딩은 전문가만 할 수 있는 특별한 일이 절대로 아닙니다. (...)
이처럼  IT 업계에서 코딩으로 성공한 개발자들 중 상당수가 대학에서 정식으로 코딩을 배우지 않았습니다. 그들은 어렸을 때부터 이미 코딩을 하고 있었거나 어른이 된 후에 독학으로 코딩을 배웠습니다. 그러니 코딩은 어려서부터도 할 수 있는 일이고 독학으로도 가능한 일임이 분명합니다.

이 얼마나 희망찬 말인가!

그래서 <생활 코딩>처럼 비전공자들도 쉽게 코딩을 배울 수 있는 웹사이트가 있는 건가 보다.

 

여기서 충격적인 사실 하나. 자바(Java)와 자바스크립트(Javascript)가 완전히 다른 거라는 사실, 알고 계셨는가?

나는 얼마 전에 자바스크립트를 배우기로 시작했을 때조차 '자바'가 자바스크립트의 줄임말인 줄 알았다.

아니면 최소한 자바스크립트는 자바랑 관련이 있을 줄 알았는데, 웬걸.

놀라운 점은 이 자바스크립트가 자바와 아무 상관이 없다는 점입니다. 썬Sun이 자바의 상표권을 라이선싱 받아서 사바스크립트라고 이름 붙이는 바람에 많은 사람들을 헷갈리게 만들었습니다. 자바의 유명세에 편승하려고 한 거죠.

누가 알았으랴. 적어도 난 아니었다!

 

챕터 3 '코딩은 만물의 근본이다'는 모든 생물에는 소스코드가 들어 있어서 '카피 앤 페이스트'가 가능하다고 설명하는데, 이 개념 역시 문과생들에게는 놀라울 수 있다.

우리가 늙거나 병드는 이유도 우리 DNA 소스코드에 '버그'가 발생해서라고 설명을 할 때는 무릎을 탁 쳤다. 프로그래밍에 대한 이런 인문학적 접근이라니!

 

저자는 '비트로 만들어진 모니터 속 세상'이라는, 챕터 4의 한 꼭지에서 알파벳과 숫자, 한글이 0과 1이라는 디지털 언어로 되어 있음을 이렇게 설명한다.

텍스트 파일과 마찬가지로 MS 워드 파일에도 디지털 언어만 잔뜩 적혀 있습니다. 메모장, MS 워드, 아래아한글과 같은 프로그램들은 이런 디지털 언어를 읽어서 인간이 인식하는 글자로 바꿔 보여 주는 변환 프로그램입니다. 이제 무료 헥사 편집기를 하나 설치하신 후에 자신의 컴퓨터에 있는 아무 파일이나 열어 그 안에 적힌 숫자들을 확인해 보시기 바랍니다. 마치 과학자가 고해상도 현미경으로 원자를 들여다보듯이요. 그 숫자들이 컴퓨터 파일의 속살이나 맨 얼굴입니다. 우리는 항상 그 숫자들을 가공 처리한 결과물만 보고 살았기 때문에 낯설게 느껴질 겁니다. 하지만 컴퓨터는 늘 그 숫자들만 보고 산다는 것을 기억해야 합니다. 텍스트 파일을 쳐다보며 그 뒤에 숨은 숫자들을 떠올릴 수 있다면 디지털 세계가 보다 친숙하게 느껴질 것입니다. 영화 <매트릭스>에서 흘러 다니는 0과 1은 우리 주변을 늘 떠다니고 있습니다. 우리가 친구에게 문자 메시지를 보낼 때 그 문자들은 전부 숫자로 변해 전송된다는 사실을 의식해야 합니다. 비트들은 문자라는 화장을 한 채 우리 곁에 머물고 있습니다.

모든 정보가 0과 1로 구성돼 있다는 말을 이렇게 '화장을 하지 않은 맨 얼굴'이라는 식으로 표현하다니, 이 얼마나 기가 막힌가. 

다시 한 번 말하지만, 저자에게는 이과적인 내용을 문과생들도 쉽게 이해하도록 설명하는 재능이 있다.

 

참고로 이 책의 맨 마지막 장인 챕터 5는 메가바이트, 기가바이트 같은 단위나 하드디스크, 램, CPU 캐시 등, 컴퓨터 관련한 책이나 교과서에서 제일 먼저 나올 법한 내용을 다룬다.

처음에는 "왜 이런 기초적인 내용을 책 맨 끝에 놔뒀을까?" 하고 궁금해했는데 다 읽고 나니 아마도 이런저런 데서 많이 봐서 익숙한 내용이라 일부러 뒤에 밀어놓지 않았나 하는 추측을 할 수 있었다.

그냥 챕터 1부터 읽어 나가도 무리 없이 술술 잘 읽히지만, 굳이 이런 기초부터 알아야 한다고 생각하시는 분은 챕터 5를 읽고 다시 챕터 1으로 돌아가서 진행해 나가셔도 되겠다.

어쨌거나 정말 좋은 코딩 교양서이다. 코딩을 배우든 배우지 않든, 코딩에 관심이 있든 없든 한 번쯤 교양을 위해 읽어 볼 만한 인문학 서적으로 추천한다.

흥미로운 동시에 컴퓨터에 대한 교양을 배우기에 아주 유용한 책이다.

 

 

반응형