"요즘 나온 책 중에 볼만한 것 없습니까?" 우리는 이런 질문을 자주 받는다. 그렇지만 대답하는 사람마다 그 기준은 매우 다르다. 그것은 사람마다 자기고유의 눈으로 작품을 보기 때문이다. 평론가가 극찬을 아끼지 않은 작품도 내게는 별로 감동을 주지 못하고 지루하기만 했던 적도 있다. 내게는 좋은책이란 "보고나서 머리가 아프지 않고 상쾌한 작품"이라고 생각한다. 수준높은 책일수록 보고나면 기분이 좋다. 비디오도 그렇고 음악도 마찬가지다. 작품의 예술성을 주관적인 기분에 맡기는 것이 나에게는 가장 좋은 판단방법이 라고 우기고 있다. 그런데 컴퓨터 프로그램을 하나의 예술작품으로 본다면그것을 만드는 작가와 프로그래머에게도 공통점이 참으로 많다.
그 첫번째 공통점은 둘 다 항상 뭔가 끌쩍거리고 있다는 점이다. 요사이는 워드프로세서를 사용하는 작가들이 많아짐에 따라 둘 다 컴퓨터 앞에서 머리 를 싸매고 고민하고 있다. 길을 가다가도 메모를 하고 꿈속에서도 뭔가 논리 를 따라가는 경우도 있다.
둘째, 둘 다 밤을 잘 새운다. 그것은 제대로 된 작품을 하나 만들기 위해 그만큼 집중력을 요구하고, 또한 한번 빠지면 헤어나기가 쉽지 않기 때문이리 라. 셋째 괴짜들이 많은 직업이다. 작가 중에 괴짜들이 많은 것은 일반 사람에게 잘 알려진 일이지만, 그에 못지않게 프로그래머중에도 괴짜들이 많이 있다. "해커"라는 이름으로 남의 시스템에 들어가 애써 짜놓은 프로그램을 망쳐버리는 나쁜 괴짜도 있고, 자기 발을 책상에 쇠사슬로 묶어두거나, 자기상사로 하여금 밖에서 문을 잠그게 하는 이해하기 힘든 괴짜도 있다.
넷째, 둘 다 창조하는 작업을 한다. 세상에 없는 것을 만들어낸다. 하나의상황을 표현하는데도 작가마다 그 표현방법이 다 다르듯이, 프로그램에서도 하나의 기능을 구현하는데 프로그래머마다 다른 방법을 쓴다. 그만큼 프로그래머의 작업은 창조적이고 개성적인 작업이다.
다섯째, 작가의 예술세계 속에 그 작가의 성격 과거 인생관 등이 고스란히들어있듯이 프로그래머가 작성한 프로그램도 잘 들여다보거나 동작시켜보면 그 프로그래머의 인생이 고스란히 들어있다. 성격이 꼼꼼한지 덤벙대는지 임시 방편으로 급하게 작성한 프로그램인지, 오랜 시간 동안 공들여 작성한 것인지, 혹은 다음에 그 프로그램을 읽어 볼 동료를 염두에 두고 작성 한것인지 아닌지 쉽게 알아 볼 수 있다.
천재성을 가진 작가일수록 어떤 상황을 묘사하기 위해서는 단 하나의 문장 밖에 머리 속에 떠오르지 않는다고 한다. 글재주가 없는 사람일수록 머리속 이 복잡하고 많은 표현을 생각한다고 한다. 그 이유는 상황을 애매모호하게인식하고 있기 때문이라고 한다. 프로그래머도 마찬가지이다. 우수한 프로그래머일수록 문장이 깔끔하다. 그런 프로그램은 우수한 학생의 시험 답안을 보는 것과 같이 남이 읽어도 산뜻하다. 그렇지 못한 프로그램은 읽는 사람을아주 피곤하게 할 뿐 아니라 쉽게 고칠 수도 없게 만든다. 그것은 문제에 대한 인식이 부족하고 해결에 대한 논리도 불분명하기 때문이다.
이렇듯 하나의 프로그램을 작성하더라도 그것을 사용할 사용자들이 우수한 예술 작품 하나를 감상하고 난 기분이 들게 만들어야 한다. 마치 작가가 저질 삼류 작가로 전락하지 않기 위해 노력하는 것처럼.
그러나 작가와 프로그래머는 한가지 큰 차이점이 있다. 작가의 작품은 대개 일회성으로 끝나는 경우가 많으나, 프로그래머의 작품은 반복성 연속성을 갖는다는 특징이 있다. 즉 프로그램은 한번의 발표로 끝나는 것이 아니라 사용자의 요구에 따라 계속 새로운 기능, 더 나은 성능을 위해 수정.보완되어야 생명력을 오래 유지하게 된다. 이런 점에서 프로그래머의 작업은 좀더 조직 적이고 체계적인 방식을 따라야 한다. 다만 엉터리 프로그래머에게는 다행스럽게도 컴퓨터 프로그램의 소스는 일반인에게 공개되지 않기 때문에 작가보다는 덜 위험한 직업이라고 자위해 볼 수는 있겠다.