[O2플러스/박상민의 ‘소프트’한국]⑤지식의 역사, 소프트웨어

  • 동아일보
  • 입력 2011년 10월 25일 16시 47분


코멘트

●한국 대기업들의 뿌리 깊은 오해 "하드웨어가 중요"
●소프트웨어의 역사는 전 인류 지성의 역사와 일치

소프트웨어가 하드웨어를 보조하는 도구라고 생각이 사라지지 않는한 ‘소프트’ 한국은 불가능해진다.
소프트웨어가 하드웨어를 보조하는 도구라고 생각이 사라지지 않는한 ‘소프트’ 한국은 불가능해진다.
우리에게 '소프트웨어(S/W)란 어떤 위상으로 자리 잡고 있을까? 물론 그 지위가 높지 않다는 것은 쉽게 짐작할 수 있는 내용이다. 왜? 여전히 우리나라는 '손에 잡히는' 가치가 더 높은 대접을 받기 때문이다.

최근 한 신문기사를 통해 한국의 모 대기업 최고기술책임자(CTO)의 발언을 통해 대략 유추해낼 수 있었다.

"소프트웨어는 하드웨어를 구동시키는 하나의 부분이므로 따로 분류시키는 것은 잘못이다…"

'소프트웨어가 하드웨어를 구동 시키는 하나의 부분이라니…'. 그 의미를 곱씹어보며 나도 모르게 마음이 울컥해진 것은 꼭 필자가 소프트웨어 개발로 두 딸과 아내를 부양하는 가장이기 때문만은 아니었다.

한국 최고의 기업 기술책임자마저 역사적으로 완전히 틀린 이야기를 했다는 그 사실에서 우리 사회 전반에 깔린 소프트웨어에 대한 오해를 느꼈기 때문이다.

어쩌면 80년대부터 전자기기를 수출해 성공한 우리나라에서 소프트웨어의 역할은 그게 맞을지 모른다.

빠른 CPU, 광활한 메모리, 밝은 디스플레이로 장식된 기계를 "구동시키는" 보조자로서 소프트웨어가 우리 인식 중심에 자리 잡고 있다는 뜻이다.

얼마 전 필자의 아버지는 소프트웨어 회사에서 일하는 필자에게 "너희 회사 공장은 어디 있냐?"고 물으신 적도 있다(공장은 마음속에 있어요 아버지!).

■IT개발자 아들에게 "공장은 어디 있니?"하고 묻는 아버지

하지만 분명한 것은 우리의 인식과 상관없이 역사적으로 소프트웨어는 수천 년부터 존재했고 하드웨어를 탄생시킨 하드웨어의 "아버지" 라는 사실이다. 소프트웨어가 사람의 논리와 지식을 다룬 "본질" 이었다면 하드웨어는 소프트웨어를 구동시키기 위해 만들어진 "우연"의 산물이었다는 역사의 진실을 소개한다.

수식 계산과 논리는 인류가 기록물을 남긴 시절 이전부터 존재했다. "1+1=2"란 수식이 대표적이다. 사칙연산 말고도, 일련의 논리적 절차를 거치는 계산, 즉 알고리즘에 대한 인류의 자각은 기원전 300년의 기록에서도 찾을 수 있다.

예를 들어 주어진 10개의 숫자 중 가장 큰 수를 찾는 아주 단순한 문제에서부터 최근 화제가 되고 있는 '아이폰 4S'의 인공지능 엔진 시리(Siri)에 이르기까지 사람의 질문에 답하는 모든 과정을 알고리즘이라 할 수 있다.

17세기까지 인류는 아직 그런 계산과정(알고리즘)을 어떻게 문자로 표현할 것인가는 발견하지 못했다. 현대의 프로그래밍 언어가 바로 그런 역할을 한다.

그런데 역사상 최고의 수학자중 한명인 독일의 라이프니츠(1646-1716)는 우리 조선시대 영조 즉위 이전에 이미 이 같은 상상을 시작한 것이다.

"계산과정(알고리즘)을 몇 가지 글자로 표현할 수 있다면, 그럼 어쩌면 세상 모든 문제에 항상 답을 주는 마법과 같은 공식을 만들 수 있지 않을까?"

다시 말해서, 질문을 잘 정의된 언어로 표현해 낼 수 있다면, 그럼 우리는 그 언어로 써내려간 스토리를 마법의 공식에 집어넣을 수 있지 않을까? 그리고 그 공식은 즉각 답을 내어준다니, 라이프니츠의 상상은 진정 대인배다웠다.

중세시대 신의 존재 증명을 위한 논리 수식
중세시대 신의 존재 증명을 위한 논리 수식
그런데, 그가 발칙한 이유는 바로 이 단어, '항상 (Always)'에 있다. 진실로 모든 질문에 마법의 공식은 정답을 이야기 할 수 있을까? 이 질문이 주는 깊이는 대단해서, 참으로 증명되면 적절한 데이터를 주었을 때 "신이 존재하는가?" 의 질문에도 답을 할 수 있다는 뜻이다. 이에 감명 받은 어떤 신학자는 수학 공식으로 신의 존재를 증명하려는 무모한 행동까지 감행한다.

이를 "라이프니츠의 꿈의 기계(Dream Machine)"라고 부른다. 그가 상상한 마법의 기계는 물리적 기계(하드웨어)가 아닌 무형의 "수학 공식" 이다.

당시 상상으로는 이 마법 레서피가 적힌 책의 주인에게 알고 싶은 질문을 써서 주면 그 사람이 마법 레서피로 주어진 문제를 계산해 결과를 가르쳐주는 것이다.

컴퓨터는 컴퓨터인데, 사람이 계산하는 컴퓨터라니, 엄청 느렸을 거고 담당자의 그날 기분 따라서 결과가 달라졌을지도 모른다.

어쨌든, 라이프니츠는 인류가 "계산합시다!" 이렇게 외치는 날이 곧 올 것이라 믿었다. 그리고 이후 20세기까지, 불(Boole), 프뤠게(Frege), 칸토(Cantor), 힐버트(Hilbert)로 이어지는 논리학, 수학의 거장들이 조금씩 꿈의 기계에 접근해 갔다.

■좌절된 꿈의 기계, 하지만 전자시대와 함께 되살아나…

수학자 앨런 튜렁의 논리 회로 / 프로그램을 발명한 수학자 앨런 튜링
수학자 앨런 튜렁의 논리 회로 / 프로그램을 발명한 수학자 앨런 튜링
수백 년을 이어온 이 질문, "꿈의 기계를 만들수 있을까?"는 영국의 젊은 천재 수학자 앨런 튜링 (1912-1954) 에게도 최고의 도전거리였다.

그는 우선 사람의 논리적인 사고과정을 표현할 수 있는 수학 모델을 고안했다. 이를 튜링머신이라고 부르는데, 튜링머신은 문자를 기록하는 테이프 (카세트테이프와 같은), 테이프의 문자를 읽고 쓰는 헤더, 그리고 지금 읽은 문자에 따라 테이프의 다음 칸에 쓸 문자를 결정하는 표 (튜링머신의 두뇌)로 구성되어 있다.

놀라운 사실은 이 간단한 기계 튜링머신를 사용해 사람의 모든 논리적 사고과정을 다 표현할 수 있다는 것이다. 곧이어 튜링은 천재적인 능력을 발휘해 이 가상의 기계가 하는 일을 사실은 일련의 문자열로 표현할 수 있음을 증명했고, 그리고 그 문자열을 주었을 때 문자열에 기록된 일을 대신 수행하는 범용의 튜링머신을 만들 수 있다고 설명했다.

다시 말해 논리적인 생각을 표현한 "프로그램"을 주면 그 기록된 대로 수행하는 "컴퓨터"를 만들 수 있다는 것, 즉 인류 역사상 처음으로 컴퓨터의 개념을 생각했던 것이다!

라이프니츠에겐 유감스럽게도 튜링은 그의 장치를 사용해 라이프니츠의 꿈은 실현 불가능하다고 결론 내렸다. 즉 그의 튜링머신조차도 참, 거짓을 판별할 수 없는 복잡한 문제가 존재한다는 사실을 보인 것이다. 아이러니하게도 풀 수 없는 복잡한 문제를 설명하기 위해 고안해 낸 장치가 바로 컴퓨터였던 것이다.

세계 최고의 컴퓨터 회사 애플사의 사과 로고는 앨런튜링의 죽음에서 모티브를 따왔다는 설이 있다.
세계 최고의 컴퓨터 회사 애플사의 사과 로고는 앨런튜링의 죽음에서 모티브를 따왔다는 설이 있다.
튜링에 대한 한 가지 흥미로운 사실은 애플 컴퓨터의 로고가 그의 비극적 죽음에서 비롯됐다는 사실이다. 동성애자였던 튜링은 1950년대 보수적인 영국정부에 의해 강제로 호르몬주사를 맞고 가슴이 여자처럼 부풀어 오르는 수모를 겪었다.

결국 수모를 감당하지 못한 튜링은 백설공주 이야기처럼 독을 주입한 사과를 한입 베어 물고 1954년 자살했다. 튜링을 존경한 애플의 디자이너가 그가 한입 베어 문 사과에서 영감을 얻어 로고를 만들었다는 사실이 지금껏 전해 내려온다.

튜링의 아이디어에서 출발한 컴퓨터는 곧 1940년대 뜨거운 2차대전의 열기 가운데 미국과 유럽 전역에서 하드웨어로 만들어졌다. PC 혁명, 인터넷 혁명에 이어서 지금 21세기를 지배하는 스마트폰, 타블렛 역시 모두 튜링의 아이디어가 낳은 자식들이다.

■소프트웨어가 언제나 소프트웨어에 앞서왔다

BC 300년 시절에도 존재한 알고리즘, 라이프니츠가 상상한 모든 질문에 대답해 주는 꿈의 기계, 그리고 컴퓨터의 표본인 튜링머신까지, 그 어떤 것도 하드웨어가 아니었다. 인간의 두 뼘 남짓 뇌에서 피어난 논리의 결과물이었다. 즉 "지식(Knowledge)이란 무엇인가?"라는 질문이었다.

이 질문에 인생을 걸었던 철학자와 과학자들의 피와 땀이 만들어 낸 결과물이 바로 '소프트웨어'다. 소트프웨어란 신세계이자 이제껏 물질적 세계와는 완전히 다른 세계다.

카툰니스트 김국현 시의 작품 “자바 2명 타요”
카툰니스트 김국현 시의 작품 “자바 2명 타요”
그러나 국내의 소프트웨어 개발자는 어떤 대접을 받고 있을까? 카툰니스트 김국현 씨는 "여기 자바 2명 타요"라는 만화를 통해 하청과 재하청으로 일그러진 우리 소프트웨어 현실을 통렬하게 고발한 적이 있다.

온통 하드웨어 세상인 우리나라에서, 위 카툰처럼 소프트웨어와 프로그래머들이 받고 있는 대접이 씁쓸하다. 소프트웨어는 우연의 산물 하드웨어를 보조해주는 또 다른 우연이 아니라, 태초부터 인간의 인간다움 속에 내재돼있던 고귀한 창조물이다.

사람의 머리(소프트웨어)가 손과 발(하드웨어)을 움직이기 위해 존재하는 것이 아니듯, 소프트웨어는 하드웨어에 제한되고 하드웨어를 구동시키기 위해 만들어지는 것이 아니다. 비교적 짧은 시간동안 이루어낸 휴대폰과 전자제품의 성공에만 눈길이 머문다면, 우리는 소프트웨어의 역사를 분명히 인식하는 실리콘밸리의 영원한"손과 발"이 될지도 모른다.

"소프트웨어가 하드웨어의 하위 개념이라고? 천만의 말씀이다."

박상민 IT칼럼니스트 | twitter.com/sm_park 
  • 좋아요
    0
  • 슬퍼요
    0
  • 화나요
    0
  • 추천해요

댓글 0

지금 뜨는 뉴스