글쓰기 세상에서 작가는 절대자다. 세상을 창조한다.
나는 현직 소프트웨어 프로그래머다. 소프트웨어 프로그래머는 프로그램 - 윈도우 프로그램, 웹 프로그램, 모바일 애플리케이션과 같은 것들 - 을 개발한다. 이 직업 외에는 다른 것을 생각해본 적이 없을 정도로 천직이라 여기며 살고 있다. 컴퓨터는 사랑하는 가족을 제외하고 지금까지 가장 많은 시간을 나와 함께 보냈다. 아내는 가끔 컴퓨터에게 샘을 낸다. 그런 아내도 품고 가야 하는 것이 나의 운명이다.
프로그래머라는 직업을 택하면서 일상의 말수는 점점 줄어들었다. 반대로 컴퓨터 세상에서만 통하는 말수는 점점 늘어갔다. 프로그래머는 기계만이 이해할 수 있는 특별한 언어를 사용한다. 프로그래밍 언어는 우리가 자주 쓰는 일상의 언어와 닮은듯하면서도 다르다. 생김새는 알파벳 문자와 비슷한데 사용 방법이 다르다.
오랫동안 동고동락을 함께한 사이라면 서로의 깊은 부분을 나눠야 하는데, 이 녀석은 늘 경직된 표정으로 사람을 숨 막히게 한다. 녀석은 나와 가까워지기 위하여 노력을 하지 않는다. 차가운 녀석의 표정에 푸념만 늘어놓는다. 일방적으로 녀석을 이해해야 하고 비위를 맞춰야 한다. 이것은 불공정한 관계다.
"IF"
소프트웨어는 정해진 약속 이외의 내용을 처리할 수 없다. 이것은 녀석이 모든 것을 완벽하게 처리할 수 없다는 것을 증거한다. 이 녀석도 빈틈이 있다. 프로그래밍 고수는 녀석의 형체를 스캔하여 허점을 집요하게 찾아야 한다. 고수는 '예외 처리' 기법을 통하여 녀석의 약점을 보완한다. 녀석의 완벽하지 못한 것을 보완하는 것은 결국 인간이다. 프로그래밍 언어에서 사용하는 약속 중, 대표적인 것은 바로 'IF' 문이다. IF는 어떤 조건을 제시하고 그것에 대한 처리 방법을 프로그래머가 결정하는 방식이다.
'IF'는 프로그래밍 언어와 인간이 대화하는 작은 약속이다. 프로그래머는 예상되는 IF 조건에 따라, 대응되는 결과를 미리 정의해야 한다. 이 세계에 변칙과 자유는 존재하지 않는다. - 인공지능이라는 새로운 학문이 예외적으로 있지만, 이것도 인간이 정해놓은 학습의 규칙에 따라서 변형된 답변을 도출하는 것이다. - 오직 정해진 대로, 내가 입력한 방식대로만 맞춰 행동한다.
"글쓰기에서의 IF"
글쓰기도 IF가 있을까? 프로그래밍에서의 IF는 원하는 조건에 대한 해답을 인간이 정해놓는 것이었다. 아무리 똑똑한 소프트웨어라 할지라도 인간이 정해놓지 않은 길을 마음대로 갈 수 없다. 프로그래머는 소프트웨어를 개발할 때 사용자의 동선을 예측한다. 사용자가 엉뚱한 곳으로 빠지지 않도록 치밀하게 기능을 설계한 후, 실제 개발을 시작한다. 시장에 출시된 소프트웨어는 오류 없이 작동해야 한다. 사용자의 요구 사항을 제대로 파악하지 못한 소프트웨어는 시장에서 냉담한 반응을 받는다.
프로그래밍에서의 'IF'는 여러 갈래의 길을 미리 만들어 놓는 것이다. 가상의 세상에서 길을 잃지 않도록 세심한 배려를 하는 것이다.
글쓰기에서도 프로그래밍의 'IF'처럼 미리 결과를 예측할 수 있다면 얼마나 좋을까? 프로그래밍에서는 IF 조건을 수정할 수도 있고 원한다면 직접 수정하여 업데이트할 수 있다. 그러나 글은 작가의 의도와 상관없이 독자에게 그릇된 정보를 제공하지라도 수정할 수 없다. 글은 대개 출판되어 종이책으로 전달되기 때문이다. 글은 소프트웨어처럼 패치 할 수 없다. 그래서일까? 소프트웨어를 개발할 때 가끔 느슨한 마음을 먹게 된다. 업데이트라는 방법으로 얼마든지 방어가 가능하기 때문이다. 글쓰기는 상황이 전혀 다르다. 잘못된 정보가 담겨있거나, 원하는 방향으로 해석이 안되더라도 이미 독자에게 전달된 순간, 돌이킬 수 있는 방법은 없다. 기껏해야 사과? 정정보도? 그 정도가 전부일지도 모른다.
인간은 아주 짧은 미래를 예측할 수 있는 능력을 가지고 있다. 먼 미래를 예측하는 것은 인간의 능력으로 불가능하다. 아인슈타인이 말한 양자역학의 원리처럼, 과거와 미래가 현재에 각인된 것이 아니라면 'IF'의 중요성은 더 커질지도 모르겠다. 이 세상이 말이다, 어쩌면 인간의 머리로 상상할 수 없는 절대자의 프로그래밍은 아닐까?, 가능한 모든 'IF'에 대한 처리를 복잡한 계산 방법으로 프로그래밍해놓은, 매트릭스와 같은 가상세계는 아닐까? 글쓰기의 세상에서 작가는 절대자다. 창조자의 자세로 일어날 수 있는 모든 상황을 가정하고, 논리적으로 치밀한 글을 쓰는 것이 프로그래밍에서의 IF와 비슷하지는 않을까?
'IF'로 내가 원하는 대로 글을 치밀하게 준비할 수 있다면 좋겠지만, 작가는 신이 아니다. 신의 영역으로 도전하기 위하여 정해진 각본을 뛰어넘으려는 발악이 작가의 본능일지도 모른다. 내가 쓴 글에 대한 독자의 완벽한 이해를 위하여 논리적으로 치밀한 구조가 필요하다. 글의 흐름이 일관성 없이 이곳저곳으로 흩어지는 예외 상황은 만들지 말아야 한다. 글쓰기에서도 작가가 의도한 시나리오의 큰 틀과 규칙 속에서 독자는 움직인다. 글 속에 우연과 필연까지 미리 정의되어 있어서, 독자는 그 이야기의 흐름에 따를 수밖에 없는 것이다.
글이 흘러가는 방향을 프로그래밍처럼 미리 정의할 수 있을까? 생각할 수 없을 정도로 뻗어가는 이야기를 프로그래밍 언어와 정교한 알고리즘 같은 수단으로 표현할 수 있을까? 아무리 성능이 뛰어나고, 위대한 프로그래밍 언어가 있고, 그것을 예술적으로 컨트롤할 수 있는 똑똑한 프로그래머가 있을지라도 작가가 쓰는 글을 'IF'와 같은 기법만으로 정의할 수는 없다.
'IF'는 프로그래밍에 있어서 원하는 대로 흐름을 바꿀 수 있지만, 글을 받아들이는 한 사람의 생각은 'IF'로 제어하기 불가능하다. 어떤 인공지능 컴퓨터가 나온다고 할지라도 작가의 내면세계를 'IF', 알고리즘, 기법 등으로 재현한다는 것도 역시 불가능하다. 심오한 글쓰기의 세상, 무엇으로 재현할 수 있을까?
하드디스크를 들춰본다.
지나간 '성공과 실패'가 고스란히 담겨있다.
새로운 미래도 담아본다.