[과학산책]궁극의 프로그래밍 언어

조환규 부산대 컴퓨터공학과 교수
조환규 부산대 컴퓨터공학과 교수

월·수·금은 기독교, 화·목·토는 힌두교. 이런 종교생활을 하는 사람은 없을 것이다. 혹은 돈을 빌린 후 1년이 지나면 돈을 빌린 것은 1년 전의 자신이고 지금, 즉 1년이 지난 후의 자신은 그때와 같은 사람이 아니기 때문에 갚지 않아도 된다고 여기는 사람도 없을 것이다. 있다면 아마 정신 나간 사람 취급을 받을 것이다.

이는 사람이 가진 육체적·정신적 일관성 때문이다. 인간의 의식 속에는 통일된 설명 틀, 연속적 이론으로 세상을 설명하고자 하는 맹목성이 있다. 물리학에서 추구하는 통일장 이론이 좋은 예다. 종교끼리 또는 종교 안에서의 이단논쟁도 결국은 하나의 이론만으로 세상을 모두 설명할 수 있다는 굳은 믿음 때문에 일어난다.

프로그래머들은 이러한 궁극의 언어, 보편 언어를 만들려고 애쓴다. 0과 1의 기계어에서 시작한 프로그래밍 언어의 변천사는 영어 변천사와 맞먹을 정도로 갈래가 복잡하다. 아직까지 굳건히 살아 버티는 언어가 있는 반면에 그 탄생 철학은 기가 막히나 아무도 알아주는 사람이 없어 쓸쓸히 퇴장한 언어도 있다.

프로그래밍 언어는 문제의 새로운 해결을 위해, 넓게 보면 궁극의 언어로 자리매김하기 위해 태어난다. 하지만 최근 잡다한 언어를 굴복시키려는 궁극의 지식기반 프로그래밍 언어가 스티븐 울프람에 의해 제시돼 주목을 받고 있다.

이공계에서 자주 사용하는 메스메티카의 개발자이기도 한 울프람의 천재성은 전설 그 자체다. 열 네 살에 책 네 권 분량의 물리학 논문을 썼으며, 스무 살에 캘리포니아공대에서 입자물리학 박사 학위를 받고 바로 교수가 됐다. 그의 목표는 인간을 포함한 전 우주적 문제를 풀 수 있는 추론체계와 그를 위한 프로그래밍 언어를 만드는 것이다. 재미있는 사실은 울프람의 시스템 이름을 메스메티카로 지어준 사람은 스티브 잡스라는 것이다. 짧은 기간이었지만 두 천재의 만남은 모두에게 큰 자극과 영감을 줬다고 한다.

보통 프로그래밍에서 데이터는 각자의 책임이다. 프로그램은 주어진 데이터에 대해 계산만 할 뿐이다. 따라서 프로그램 작동의 올바름과 그 결과의 올바름은 완전 별개다. 울프람의 새로운 언어는 기존 프로그래밍 언어와는 달리 역사 이후 모인 모든 지식을 기본 데이터로 깔고, 그 위에 모든 논리적 추론을 가능하게 해주는 기능을 덧붙인다. 간단한 프로그래밍만으로 특정 도시가 자살률이 높은 이유를 추론하는 식이다.

지식과 프로그래밍 규칙이 바로 맞닿아 있는 울프람의 프로그래밍 언어는 그야말로 프로그래밍 언어계의 통일장이 될 것이다. 만일 이 언어가 기대대로만 완성되면 기존의 이단적·분파적 프로그래밍 언어는 모두 사라지게 될 운명에 처할지도 모른다.

울프람의 이 원대한 혹는 무모한(?) 계획에 대한 일반 물리학자들의 반응은 혹평에 가깝다. 울프람의 저작 ‘새로운 과학’에서 제시됐던 세포자동자(Cellular Automata)에 기반을 둔 이 원대한 꿈은 일종의 과잉의식의 발로라는 것이다. 세포자동자 모형이 매력적이긴 해도 그것은 물리현상 일부만을 설명할 뿐이라는 것이 공통적 지적이다. 울프람 언어의 결과는 지식베이스인 울프람 알파의 품질로 결정되는데, 그것에 대한 메타적 검증은 또 다른 문제로 남아 있게 된다.

울프람 이전에도 이 같은 ‘만능이론’에 대한 시도는 많았다. 하지만 논리학·수학에서는 괴델에 의해 이미 그 목표가 좌절됐다. 실용성은 없지만 튜링의 계산이론 역시 보편 계산언어로서 충분하다. 프로그래밍 언어에서 더욱 그러했지만 만능을 목표로 한 이론의 수명은 유달리 짧다는 얘기다.

모든 것을 하나의 틀로 설명하려는 것은 인간의 인식론적 욕심일 뿐이다. 다양한 세계관이 인터넷에 널리고 널려 있는 세상에 국정교과서 하나로 통일장 이념을 시도하고 구현하려는 것은 현실적으로 쓸모가 없다. 오히려 그런 시도는 세상의 모든 계산을 하나로 묶으려는 UrBit 프로젝트나 비트코인과 같은 전철을 되풀이할 것이다.

조환규 부산대 컴퓨터공학과 교수 hgcho@pusan.ac.kr