원문작성 [2008/07/07]

"오, 얘야...." 태후는 흐느꼈다.

"그토록 갖고 싶어 하던 기차 장난감을 사 주었더라면 좋았을 것을..."


갑자기 그녀는 몇 년 전 아들에게 사 주지 않았던 기차 장난감을 떠 올리고는 비통함 속에서 흐느꼈다.

그 순간 태후는 자식을 잃어버린 어미일 뿐이었다.

태후는 모두가 잠든 깊은 밤까지 죽은 아들의 옆에 앉아 조용히 울고 있었다.
그때 방문이 열리며 누군가가 들어왔다.

그의 발자국 소리는 가볍고 조용해서 태후의 울음소리에 묻혀 버렸다.

잠시 후 그녀는 누군가 자신의 어깨를 잡는 것을 느끼고는 벌떡 일어났다.
태후는 고개를 돌려 그의 얼굴을 바라보았다.
 


"접니다." 영록이 고개를 끄덕였다.

"세 시간이 넘도록 밖에서 마마를 기다렸습니다.

 이렇게 지체하셔서는 안 됩니다.

 지금 각 문중들은 다른 이들이 황제의 죽음을 알기 전

 각자 황위 계승자를 내세우겠다고 여간 난리가 아닙니다.

 마마께서 먼저 움직이셔야 합니다."


영록의 말을 듣는 순간, 태후는 즉시 마음을 가다듬었다.

그녀는 오래 전부터 만약을 대비해 생각해 놓았던 계책을 말했다.

"내 여동생의 장손이 지금 세 살이오.

 그가 바로 내가 선택한 황위 계승자요.

 그애의 부친은 내 망부의 일곱 번째 형제인 순친왕이오."


영록은 잠시동안 무언가를 캐내려는듯 태후의 눈을 똑바로 마주보았다.

그리고 그녀의 눈이 창백한 얼굴로 인해 다소 생기를 잃은 듯 했지만

여전히 두려움 없는 확고한 결의로 차있다는 것을 깨닫고는 안심했다.

영록은 여전히 태후를 마주보며 나직하게 말했다.


"오늘 밤 마마는 무서울 정도로 아름다우십니다.

 실로 마마는 위험 속에서 더욱 더 아름다워지는 분이십니다..."
 

그러자 그녀의 절망에 빠진 눈빛이 어느덧 부드러워졌다.
"무슨 말이라도 좋으니 계속 해줘요." 그녀가 속삭였다.

"오, 내 사랑, 제발요."


영록은 천천히 고개를 저으며 태후에게 다가갔다.

그리고 그녀의 손을 꽉 잡은 채 죽은 황제가 누워 있는 커다란 침상을 내려다보았다.

태후는 잡고 있는 손을 통해 영록이 가늘게 떨고 있음을 느꼈다.

그녀는 영록에게 말했다.

"알고 있지요..." 그녀가 속삭였다.

"이 아이는 우리의..."


"쉿!"

그가 태후의 말을 가로막았다.

"지난 이야기는 하지 말아 주십시오. 누가 들을지도 모릅니다."


다시 침묵이 흘렀다. 잠시 후 두 사람은
잡고 있던 손을 놓았고,
영록은 다시 뒤로 물러나 예를 갖춤으로써

태후의 충실한 백성으로 돌아왔다.




<연인 서태후>

펄S.벅 지음, 이종길 옮김

길산, 2003

원문작성 [2008/05/10]



스승은 말한다.

     '꿀맛이 어떠냐.'

우리는 즉시 대답한다.

     '단맛입니다.'

그러면 꿀맛을 아는 것으로 간주했다.


꿀을 한 번도 먹어 본 적이 없는 사람이라도 그렇게 대답할 수만 있으면 꿀맛을 아는 것으로 간주했다.

꿀을 한번도 먹어 본적이 없는 사람이
단지 꿀맛이 달다고 말할 수
있다는 사실 하나만으로 진정한 꿀맛을 안다고 간주할 수 있을까.

우리는 대부분 진리의 겉껍질을 잠시 매만져 보고는 먹고사는 일에 바빠지기 일쑤였다.


하루 종일 우리는 같은 일을 기계처럼 반복하면서 꿀맛 모르는 인생들을 살아가고 있었다.

우리는 시간을 끌고 다니면서 살아가고 있는 것이 아니라 시간에 끌려 다니면서 살아가고 있었다.



<이외수가 전해주는 마음의 열쇠, 뼈>

이외수 지음

동방미디어, 2004

원문작성 [2008/05/05]



그러다가 어느 시점에서 특정한 조건이 충족되면 주어진(자바 언어에서 ArrayList로 선언된) 리스트의 내용을 모두
비워야 하는 순간이 있었다. 필자를 포함한 두 사람은 급히 다음과 같은 코드를 작성했다.


     for (int index = 0; index < list.size(); index++){

            list.remove(index);

     }


필요한 내용을 모두 구현한 다음에 테스트를 수행했는데, 결과가 원하는 대로 나오는 것 같더니, 어느 순간 엉뚱한 결과가 나오기도 했다. 그래서 두 사람은 디버거(debugger)를 돌리면서 변수의 상태를 하나씩 검사하다가 위의 루프에서 오류를 발견하게 되었다.

  버그를 발견한 두 사람은 서로 마주보고 웃으면서 루프의 내용을 다음과 같이 고쳤다.


     for(int index = list.size() - 1; index >= 0; index--){

            list.remove(index);

     }


프로그램은 정상적으로 동작했고 모든 것이 해결되었다. 하지만 두 사람이 급하게 작성한 코드를 제3자에게 검토(review)해달라고 부탁했을 때 제3의 프로그래머는 위의 루프가 도대체 왜 필요하냐고 말하더니, 코드를 이렇게 고쳤다.


       list = new ArrayList();


  우주의 법칙이 그렇듯이 살아있는 소프트웨어는 항상 복잡성, 즉 엔트로피가 상승하는 방향으로 운동하는 속성을 가지고 있다. 사용자의 요구조건이 늘어날수록, 프로그래머의 수가 증가할수록, 소프트웨어의 생명주기가 길어질수록, 소프트웨어의 엔트로피는 상승한다.

아무리 깔끔하고 단정하게 설계된 소프트웨어라고 하더라도 이와 같은 우주의 법칙을 거스를 도리는 없다. 커니건과 파이크가 지적한 네 가지 속성을 아무리 철저하게 구현한 프로그램이라고 해도 몇 사람의 프로그래머가 거쳐 가고 나면 깔끔하던 코드는 불어터진 스파게티처럼 보기 흉한 밀가루 반죽이 되어버린다.


- 이야기 셋. 리팩토링



어려운 문제를 드디어 풀어냈다는 성급한 기대가 K씨의 심장을 빠르게 뛰게 만들었다.

사실 프로그래머가 이와 같은 '유레카'의 순간에 느끼는 순백의 열정은
사랑에 빠진 청춘의 감격과 별로 다를 것이 없다.

적어도 그 순간만큼은 세상의 모든 사물이 그 자리에서 동작을 멈추고 시간이 정지한다.

논리의 미로를 더듬어 나가는 프로그래머의 영혼과 차츰 모습을 드러내는 숨은 그림을 제외하고

세상에 존재하는 것은 아무 것도 없게된다.

그러니까 고도로 집중되어 있는 그 순간의 환희를 위해서 
프로그래머는 평생을 비트의 세계에서 떠나지 못하는 것이다.


- 프로그래머 K씨의 하루




<임백준의 소프트웨어 산책>

임백준 지음

한빛미디어, 2005

+ Recent posts