20대 초반에 스페인어를 공부한 적이 있었다. 사실 공부라고 하기에는 좀 이상한데 뭐라고 딱히 표현할 말이 없다. 방식은 간단했다. 기초 회화 교재를 사서 책은 하나도 안 보고 테이프만 (그 때는 외국어 교재에 CD나 mp3가 아니라 테이프가 있었다) 계속해서 듣고 또 들었다. '아기들은 태어나서 아무 것도 모르는데도 듣고 또 듣다 보니 말을 배우잖아? 그러면 나도 무작정 계속 외국어를 들으면 그 말을 하게 되겠지'라는 생각에서였다.

 

반 년 동안인가 그렇게 테이프를 들었다. 하루에도 몇 시간씩 들었다. 그랬더니 테이프가 저절로 외워지기 시작했다. 아직도 알파벳은 대충 생각이 난다. 아 베 쎄 체 데 에 에페 헤 아체 이 호따 까... 저것도 알파벳이라고 알고서 들은 게 아니라 테이프에서 알파베또라고 하면서 말하길래 대충 어림짐작으로 알파벳인가보다 했던 것.

 

지금은 까먹었지만 대화도 저절로 외워졌었다. 물론 무슨 뜻인지는 전혀 알지 못했다. 그러던 어느 날 고등학교 후배와 연락이 닿았는데 어쩌다 보니 스페인어 이야기가 나왔다. 그 후배는 내 기억에 스페인 문화원이었던 것 같은데 어쨌든 어디에선가 체계적으로 스페인어 수업을 받고 있었다. 그 때 내가 무슨 생각으로 그랬는지는 모르겠는데 나도 스페인어를 공부하고 있다고 말을 해버렸고, 갑자기 그 후배가 스페인어로 말을 걸었다.

 

어? 뜻은 모르겠지만 내가 테이프에서 들었던 말이었다. 그래서 테이프의 그 다음 말로 내가 대답을 했다. 그랬더니 후배가 뭐라고 또 말을 했는데 그것도 테이프에 있던 말이었다. 그래서 나는 또 테이프대로 대답을 했다. 그렇게 네 번 정도 말(?)이 오간 후에 스페인어 대화(?)는 끝이 났다. 나에게는 참 신기한 경험이었다. 지금 생각해보면 아마도 영어로 치면 하우 알 유? 아임 파인 땡큐 앤 유? 뭐 이런 대화이지 않았을까 싶다. 그러니 내가 들었던 초급 회화 교재하고 대화가 똑같이 흘러갔겠지. 나는 아직도 내가 무슨 말을 했는지 모른다. 그런데 그 후배는 어땠을까? 아마도 내가 기초 스페인어 회화를 할 줄 안다고 생각했을 거다.

시간이 흘러 아마도 대학교에서 컴퓨터공학을 복수전공하게 된 뒤에 '중국어 방'이라는 사고 실험을 알게 되었다. 인공지능에 관한 이야기인데 내용은 이렇다. 방 안에 중국어를 전혀 모르는 사람을 들어가게 하고 모든 중국어 문장에 대한 대답이 적혀 있는 책을 준다. 그런 뒤에 중국어를 할 줄 아는 사람을 불러와서 방 밖에서 종이에 글을 적어서 방 안에 넣게 한다. 그러면 방 안에 있는 사람은 자기가 가진 책에서 그 글을 찾은 뒤 대답을 적어서 방 밖으로 보낸다. 그런 식으로 필담을 계속 나눈다고 했을 때에 방 안에 있는 사람은 중국어를 전혀 모르지만 방 밖에 있는 사람은 그 사실을 알 수 없다는 이야기이다. 그러니 어떤 프로그램이 튜링 테스트를 통과해도, 즉 컴퓨터가 채팅에서 사람을 감쪽같이 속이더라도 그것을 인공지능이라고 말할 수는 없다는 것이 요지이다.

내 스페인어 대화 경험과 비슷하다. 나는 20대 초반의 시도를 통해 나도 모르는 새에, 비록 스페인어를 배우는 데에는 실패하긴 했지만 유명한 사고실험을 직접 해 보았던 것이다.

'중국어 방'에 중국어에 대한 지능이 있다고 봐야 하는지 말아야 하는지에 대해 학자들 간에 많은 토론이 있었던 것으로 안다. 토론이 있었다는 것은 다른 말로 하면 저 '중국어 방'이 중국어를 할 줄 안다고 봐야 한다는 의견이 많이 있었다는 말이다. 하지만 나는 분명히 말할 수 있다. '중국어 방'에는 중국어에 대한 지능이 없다. 왜냐하면 내가 바로 저것과 똑같은 방식으로 스페인어로 대화를 했지만 나는 스페인어를 전혀 이해하고 있지 못했으니까. 그 사실을 너무나도 잘 아니까. 내가 무슨 말을 하는지 나 스스로가 몰랐으니까.

이 글의 초안을 썼던 것이 2016년 알파고 대국 즈음인데, 그 후 8년간 인공지능은 상상할 수 없을 정도로 발전했다. 이젠 인공지능이 글을 쓰고 그림을 그리는 것이 너무나도 당연한 시대가 되었다. 그런데, 인공지능이 글을 쓴다고 해서 인공지능에게 참으로 지능이 있다고 말할 수 있을까? 혹은, 인공지능이 그림을 그려낸다고 해서 인공지능을 예술가라고 할 수 있을까? 사람 입장에서는 인공지능이 그린 그림을 보면서 충분히 아름다움을 느끼고 감동을 받을 수 있고, 그 그림을 예술이라고 말할 수도 있다. 내가 궁금한 것은 "인공지능이 예술을 한다"라고 말할 수 있는지이다. 풀밭에 핀 꽃을 보고서 내가 "와 이건 예술이다!"라고 할 수는 있지만, 그렇다고 해서 그 꽃을 예술가라고 부를 수 있는 것은 아니니까.

지금까지 방식의 인공지능이라면, 즉 뭔가 많이 복잡하고 계산이 빠를 뿐 사실 작동 원리 자체는 알고리즘일 뿐인 인공지능이라면 나는 그 인공지능에게 진짜로 지능이 있다고도, 그 인공지능 자체를 예술가라고 부르지도 못하겠다. 전기밥솥이 밥을 잘 하고 오븐이 피자를 잘 굽는다고 해서 전기밥솥과 오븐이 요리사는 아니니까. 촘스키가 그런 말을 했다고 한다. "만약 잠수함이 수영을 한다고 말할 수 있다면 로봇도 생각을 한다고 말할 수 있겠다." 적어도 내가 보기에는 잠수함이 하는 건 수영은 아니다.

결국 인공지능에게 참 지능이 있는지, 인공지능을 예술가라고 부를 수 있을지는 목적이 있는지로 판단할 수 있겠다는 생각이 든다. 내가 비록 스페인어로 대화를 하긴 했지만 내가 하고 싶은 말을 한 게 아니라 외운 것을 따라 한 것 뿐이기에 나에게는 스페인어에 대한 지능이 없는 것이고, 인공지능이 훌륭한 그림을 그려낸다고 해서 그 인공지능이 예술가인 것은 아니다. 인공지능이 목적을 갖고 어떤 일을 하기 전까지 인공지능은 그저 주어진 알고리즘에 따라 엄청 빨리 계산할 줄 아는 계산기에 불과할 것이다. 목적을 가지려면 당연히 자아라는 개념이 있어야 하는데, 자아를 가진 인공지능이 과연 나올까? 나온다면 언제쯤 나올까? 아니, 그에 앞서 자아라는 건 과연 무엇일까?

'글쓰기 > 수필' 카테고리의 다른 글

부르던 노래가 남아서  (1) 2024.11.13
머지되지 못한 커밋  (0) 2024.09.13
펄 쓰던 개발자의 회상  (0) 2022.08.23
이어령 선생님의 부고를 듣고  (2) 2022.02.27
리을 이야기  (2) 2022.01.10

초등학생 때 읽던 동화책에 이런 내용이 있었다.

어느 날 저녁에 아이가 창 밖으로 아빠의 노래소리를 듣는다. 아빠가 퇴근하고 집에 오셨구나 했는데 그 노랫소리는 저 멀리 멀어져간다. 아빠가 아니고 다른 사람이구나 하고 아이는 생각했다. 한 30분쯤 후 아빠가 집에 오셨다. 아이는 아빠에게 "아빠! 아까 아빠랑 목소리가 엄청 비슷한 사람이 노래를 부르면서 갔어요." 라고 말한다. 그러자 아빠는 그게 자기였다고 한다. 어리둥절해하는 아이에게 아빠가 설명해준다. "부르던 노래가 남아서 마저 부르고 왔단다."

당시에는 아무리 읽고 또 읽어도 도저히 무슨 소리인지 모르겠어서 결국 이해하는 걸 포기하고 다음 이야기로 넘어갔었다. 단어나 문장이 이해가지 않는 것이 아니라 도대체 왜 노래가 남았다고 더 부르고 오는지, 그게 무슨 의미를 갖는 것인지가 아무리 생각을 해 봐도 이해가 되지 않았었다.

오늘 초저녁에 나갔다가 밤에 들어오면서 노래를 흥얼거리는데 아파트 입구에 도착했는데도 노래가 남았다. 정확히는 간주와 2절이 남았다. 그래서 더 걸었다. 이어폰도 스피커도 없었지만 고등학생 때 윈앰프로 수도 없이 들었던 노래의 간주는 머릿속에서 저절로 재생이 되었다. 그렇게 들리지 않는 간주를 다 듣고, 남은 2절을 마저 부르고 집으로 들어갔다.

어떤 이야기는 이해하는 데에 생각이 아니라 인생이 필요할 때가 있다. 초등학생 때 읽었던 그 동화가 바로 그랬다. 30년이 걸렸다. 동화 하나를 이해하는 데에, 그리고 도대체 노래가 남았다는 것은 무엇이고 그 남은 노래는 왜 마저 불러야 하는지를 깨닫는, 아니, 느끼는 데에.

'글쓰기 > 수필' 카테고리의 다른 글

스페인어, 중국어 방, 인공지능  (1) 2024.11.18
머지되지 못한 커밋  (0) 2024.09.13
펄 쓰던 개발자의 회상  (0) 2022.08.23
이어령 선생님의 부고를 듣고  (2) 2022.02.27
리을 이야기  (2) 2022.01.10

회사의 주인은 주주이지만 소속감을 느끼는 것은 직원이듯, 회사에서 작성한 코드의 주인은 회사이지만 그 코드에 애착을 느끼는 것은 개발자이다. 특히나 그 코드가 30대의 내 인생의 2년 3개월을 오롯이 바쳐서 만든 코드라면 더더욱.

개발자로 일을 하다 보면 코드 전달이라는 걸 하게 될 때가 있다. 일종의 인수인계인데, 최신 코드를 설명문과 함께 전달하고 필요에 따라 코드 설명회를 여는 과정이다. 코드를 전달받는 대상은 회사 내부의 다른 직원일 수도 있고 아니면 협력사가 될 수도 있다. 내가 얼마나 오랫동안 정성을 쏟아서 만든 코드이든 나에게는 가타부타할 권리가 없다. 회사에서 작성한 모든 코드는 회사의 것이고, 그걸 다 알고 계약서에 서명을 하고 입사했으니. 모든 절차를 마치고 태연한 척 '싱숭생숭해 할 필요 없어. 우리는 다 프로잖아?' 하는 허세 가득한 마음을 속으로 먹어 주면 모든 과정은 끝이 나게 된다.

그렇지만, 조선 시대에 유씨 부인이 바늘이 부러지자 슬픔을 금할 길이 없어 조침문(弔針文)을 지었다면, 나도 이제 내 손을 떠나가게 된 코드를 위해 글 한 토막은 쓸 수 있지 않을까. 유씨 부인은 17년 간 사용했던 바늘이 부러지는 순간 정신이 아득하고 마음을 빻아 내는 듯 해서 기색 혼절하였다고 하는데, 나야 그 정도는 아니지만 어쨌든 무언가 마음 속이 허한 것은 막을 길이 없다.

하지만 보내줄 땐 보내주어야 한다. 언제가 붙잡아야 할 때이고 언제가 보내주어야 할 때인지 사람은 본능적으로 안다. 보내주어야 할 때는 아쉬움이나 미련이 없게 충분히 슬퍼하고 애타한 뒤 깔끔하게 보내주어야 한다. 유씨 부인도 부러진 바늘을 대장간에 가져가면 왜 못 고치겠냐마는 '동네 장인에게 때이련들 어찌 능히 때일손가' 라며 마음을 정리하고 바늘을 고이 보내주었듯, 나도 이젠 코드를 보내줄 때가 되었다. 기실 바늘이나 코드는 자기가 어떻게 되었는지도 모른다. 괜히 바늘 주인이, 코드 개발자가 슬퍼하는 것이지. 아직 못다한 리팩토링이, 마음에 들지 않아서 바꾸고 싶었던 변수명이, 별도 브랜치에 작성까지 했으나 결국 메인에 머지되지 못한 커밋이 머릿속에, 그리고 마음 속에 자꾸 맴돈다. 이럴 줄 알았으면 수많은 코드 사이 어딘가에 이스터 에그 하나쯤 남겨놓을걸, 하는 큰 허전함을 뒤로 하고 마지막으로 아쉬우니 괜히 git pull 한 번 하고 너를 보낼게. 가서도 잘 컴파일되고 지내야 한다. 라이브러리 의존성 안 맞는다고 심술내면서 에러 내뱉지 말고. 건강히 착하게 잘 지내렴. 나는 이제 exit 할게. 안녕.

 

'글쓰기 > 수필' 카테고리의 다른 글

스페인어, 중국어 방, 인공지능  (1) 2024.11.18
부르던 노래가 남아서  (1) 2024.11.13
펄 쓰던 개발자의 회상  (0) 2022.08.23
이어령 선생님의 부고를 듣고  (2) 2022.02.27
리을 이야기  (2) 2022.01.10

일주일, 월화수목금 중에서 그 주의 최저가에 주식을 사고 싶다고 합시다. 특정 요일의 가격이 그 주의 최저가일 확률은 당연히 1/5이니 20%입니다. 그렇다면 우리는 그냥 20%의 확률로 찍으면서 기도매매법을 실천해야 하는 것일까요?

간단한 전략을 통해 이 확률을 두 배 넘게 올려 보도록 하겠습니다. 우리의 전략은 "첫 k일 동안은 시장을 살펴보고, 그 다음날부터는 그때까지 중에 가장 싼 가격이면 사자"입니다. 미지수는 x로 써도 되지만 요즘 이름 앞에 k를 붙이는 게 유행이라 k라고 했습니다. 어쨌든 예를 들어보면 다음과 같습니다.

k = 0 이라면? 첫 0일 동안은 시장을 살펴보고 그 다음날, 즉 월요일부터는 그때까지 중에 가장 싸면 삽니다. 말이 꼬여 있는데 당연히 월요일에는 비교할 가격이 없으니 그냥 그날 바로 사겠다는 말이 됩니다. 이건 찍는 것과 다를 게 없습니다. 따라서 k= 0일 때의 성공률은 월요일이 최저가일 확률인 20%입니다.

k = 1 이라면? 이제 좀 재미있어질 겁니다. 첫 1일 동안은 시장을 살펴봅니다. 즉 월요일에는 네이버 주식 창 새로고침만 합니다. 살 게 아니니 15분 늦게 가격이 떠도 상관없습니다. 그리고 다음날인 화요일부터 그때까지 중에 가격이 가장 싼 날이면 주식을 삽니다. 만약 화요일 가격이 월요일보다 싸면 화요일에 삽니다. 물론 수요일에 더 떨어질 수도 있지만 하여튼 우리 전략이 그렇습니다.

만약 화요일 가격이 월요일보다 높다면? 그러면 수요일로 넘어갑니다. 그리고 수요일 가격이 월화수 중 가장 낮다면 삽니다. 그런데 수요일도 월요일보다 비싸다면? 그러면 목요일로 넘어갑니다. 목요일 가격이 월화수목 중 가장 싸다면 삽니다. 목요일도 월요일보다 비싸다면? 금요일로 넘어갑니다. 만약 금요일도 월요일보다 비싸다면? 월요일이 최저가였네요. 그러면 못 사게 됩니다.

정리해 보면 k = 1 일 때,
* 알고 보니 월요일이 최저가 -> 실패 (0)
* 알고 보니 화요일이 최저가 -> 성공 (1)
* 알고 보니 수요일이 최저가 -> 월요일이 화요일보다 싸야만 성공 (1/2)
* 알고 보니 목요일이 최저가 -> 월요일이 화, 수보다 싸야만 성공 (1/3)
* 알고 보니 금요일이 최저가 -> 월요일이 화, 수, 목보다 싸야만 성공 (1/4)

각 요일이 최저가일 확률은 똑같이 20% 씩이니 그 값을 균등하게 곱해주면 k = 1 일 때 우리 전략의 성공 확률은

20% x (0 + 1 + 1/2 + 1/3 + 1/4)
= 20% x 25/12
= 41.67%

가 됩니다. 벌써 성공 확률이 두 배 넘게 올랐습니다!

k = 2일 때도 한 번 계산해 보도록 하겠습니다. 이 때는 월, 화까지는 기다려보고 수요일부터 살지 말지를 결정합니다. k = 2 라면,
* 알고 보니 월요일이 최저가 -> 실패 (0)
* 알고 보니 화요일이 최저가 -> 실패 (0)
* 알고 보니 수요일이 최저가 -> 성공 (1)
* 알고 보니 목요일이 최저가 -> 월, 화 중에 수요일보다 싼 날이 있어야 성공 (2/3)
* 알고 보니 금요일이 최저가 -> 월, 화 중에 수, 목보다 싼 날이 있어야 성공 (2/4)

그러면 k = 2일 때 우리의 성공 확률은

20% x (0 + 0 + 1 + 2/3 + 2/4)
= 20% x 26/12
= 43.33%

아까보다도 더 높아진 43.33%가 되었습니다!

같은 방식으로 계산하면 k = 3 일 때의 성공 확률은 20% x (0 + 0 + 0 + 1 + 3/4) = 20% x 7/4 = 35%, k = 4일 때는 20% x (0 + 0 + 0 + 0 + 1) = 20% 가 됩니다. k = 4라는 것은 금요일 하루에만 살 수 있다는 것이니 찍는 것과 성공 확률이 똑같겠지요.

정리해봅시다!
* 월요일부터 그때까지의 최저가면 산다: 성공확률 20%
* 화요일부터 그때까지의 최저가면 산다: 성공확률 41.67%
* 수요일부터 그때까지의 최저가면 산다: 성공확률 43.33%
* 목요일부터 그때까지의 최저가면 산다: 성공확률 35%
* 금요일부터 그때까지의 최저가면 산다: 성공확률 20%

즉 월, 화에는 시장을 지켜만 보다가 수요일부터 그 주의 그때까지의 최저가일 때 산다면 찍는 것에 비해 성공 확률이 배 이상 높은 43.33%가 됩니다! 단 이 경우 아예 못 살 확률이 40%이니 (월, 화 중에 최저가가 있는 경우), 주식을 좀 공격적으로 사 모으고 싶다면 화요일부터 이 전략을 적용하는 것도 좋겠습니다. 성공 확률은 41.67%로 비슷하고 주식을 아예 못 살 확률은 20% (월요일이 최저가인 경우)로 낮으니까요!

덧붙여 만약 주식을 팔고 싶은 경우라면 마찬가지 전략을 반대로, 즉 어느 날 이후에는 그때까지 중 가장 비싸다면 판다고 적용하면 되겠습니다.

자 그럼 성투하시기를 바라며 정성글은 춫천

- 끝 -

캘리포니아 2022 - 10. 세상이 굴러가게 하는 비용 5.5 달러


LA 시내를 돌아다니다가 블루보틀 매장에 들어갔다. 이게 그 유명하다는 푸른 병 카페란 말이지. 깔끔하고 한적한 매장에 들어가 5.5 달러 짜리 아이스 볼드 12온스 커피를 시켰다. 유명세 치고는 손님이 굉장히 적어서 대형 테이블을 나 혼자 쓰는 호사를 누렸다.

커피를 마시는데 매장 유리 밖으로 노숙자가 보였다. 지나가는 사람들과 신호에 걸린 차에게 계속해서 시비를 걸고 있었다. 한참을 그러고 있는 모습을 보며 거 참 난폭하네, 하고 생각을 하고 있는데 그 노숙자가 갑자기 카페 쪽으로 걸어왔다. 어?

순식간에 매장 안으로 들어온 노숙자는 손님들에게 시비를 걸지는 않았지만 대신 매장에 전시되어 있는 물건들을 괜히 건드리고 다녔고, 잠시 후 카운터로 가서 뭐라고 뭐라고 말을 하더니 커피 두 잔을 공짜로 받아서 양손에 들고 유유히 카페를 나섰다. 그러더니 지나가는 차에 커피를 뿌려대고 남은 커피는 땅에 쏟아버리고는 다른 곳으로 갔다.

그 광경을 본 후 고개를 숙여 내 커피를 보았다. 순간 나는 돈을 내고 커피를 사 마시는데 가게에 들어와서 난리친 사람은 커피 두 잔을 공짜로 받아갔다는 생각이 들어 피식 웃음이 나왔다. 카페 관리자 입장에서야 언제 올 지 모르는 경찰에게 신고하고, 기다리고, 그 동안 그 노숙자가 손님들에게 난동을 부리지 않을까 전전긍긍하느니 커피 두 잔 쥐어 보내는 것이 이득이었겠지. 그런데 그러면 나 같은 얌전한 손님들은 뭔가 억울하지 않나?

그런 생각을 잠시 하다가 그러거나 말거나 하고 한번 풋 웃어버리고는 남은 커피를 마저 마셨다. 창 밖에서는 또 다른 노숙자가 어디선가 나타나 길 건너편에 있는 멕시코 치킨집에 들어가서 소란을 피우는가 싶더니 잠시 후 치킨을 손에 들고 나오고 있었다.

반 년도 더 지난 지금 갑자기 그런 생각이 든다. 그 때 내가 냈던 5.5 달러는 그 곳에서 내가 남에게 폐를 끼치지 않으면서 커피를 마시기 위한 비용이었다고. 남에게 폐를 끼치지 않는 것은 좋은 일이지만 희한하게도 그 좋은 일을 하면 내가 상을 받는 것이 아니라 내가 돈을, 혹은 시간을, 혹은 정성을 써야 한다. 커피를 예로 들자면 남에게 폐를 끼치면 커피를 공짜로 받지만 얌전히 있으면 커피를 마시기 위해 돈을 내야 하는 것이지. 계산기를 두드려보면 행패를 부리는 게 이득이다. 하지만 세상은 이런 계산은 치워버리고 그러거나 말거나 규칙을 지키며 살아가는 사람들 덕에 굴러간다. 그렇게 나는 그 날 세상이 굴러가게 하는 비용 5.5 달러를 냈다.

십여 년 전, 스크립트 언어를 배워야 할 일이 생겼을 때 비주류 좋아하는 성격 탓에 당시 한창 뜨던 중인 파이썬을 안 하고 슬슬 지기 시작하던 펄을 공부했었다. C로 - 그러고보니 C++도 아니고 - 문자열 처리 코드 짜고 있던 나에게 펄은 신세계였다. 요즘은 당연하게 여겨지는 것이지만 배열 마지막 원소를 arr[-1] 같이 -1이라는 인덱스로 접근할 수 있는 것도 C에서는 상상도 못 했던 일이었다.

펄은 참 재미있는 언어였다. 한국어로 치자면 "거시기"에 해당되는 변수가 자동으로 존재한다. $_ 라는 변수인데, 그 덕에 코드를 듬성듬성 짤 수 있었다. 다른 언어에서는 명확하게 변수와 값을 지정해주었어야 할 상황에서 펄은 "거시기" 변수만 불러와 보면 얼추 필요한 값이 들어있었기 때문에 변수를 생략하는 것이 가능했다. 그리고 if문과 함께 unless 문도 있었다. Unless 문의 작동방식은 if문의 정반대. 즉 if (true)는 unless (false)와 같고... 이런 조건문을 겹쳐서 if ( unless ( if ( true ) ) ) 같은 식으로 볼썽사나운 코드를 짜는 것도 가능했다.

물론 이런 코딩이 가능하다 보니 남이 짠 펄 코드를 이해하는 건 정말 어렵고 어쩔때는 내가 예전에 짠 펄 코드도 이해가 안 가기도 했다. 그래서 펄 사용자가 많이 떨어져 나가기도 했고. 이런 펄의 특성은 "어떤 일을 하는 데에는 하나 이상의 길이 있다 (There's more than one way to do it, TMTOWTDI)" 라는 펄의 슬로건에 잘 나타나 있다. 펄 코드에는 개발자의 개성이 원없이 묻어난다. 어쨌든 나는 펄이 참 좋았고, 펄은 내 석사 연구의 꽤 많은 부분과 함께 했다.

펄과 완전 반대편에 있는 언어가 바로 파이썬이다. 파이썬에서 import this를 치면 파이썬의 철학이 죽 나오는데 그 중에 이런 말이 있다. "어떤 작업을 하기 위한 하나의, 되도록이면 단 하나의 자명한 방법이 존재한다. (There should be one-- and preferably only one --obvious way to do it.)" 그래서 파이썬은 띄어쓰기를 몇 칸으로 할 것인지까지도 한번 정하면 끝까지 지켜야 한다. 펄은? 펄 사용자들끼리 신나서 자주 하는 게 어떻게 하면 한 줄 안에 코드를 잘 구겨넣을까 하는 일이다.

이런 면에서 여러모로 펄은 한국어(와 일본어)를, 파이썬은 영어를 닮았다. 한국어에서는 온갖 생략이 가능하다. "사랑해" 라고 하면 내가 너를 사랑한다는 말인 줄 다 안다. 영어에서는 "Love" 라고 하면 못 알아듣기 때문에 단 둘이 있어도 굳이 "I love you" 라고, I가 you를 love한다고 다 꼬치꼬치 말해줘야 한다. 우리는 사과를 먹었으면 됐는데 영어에서는 굳이 사과를 한 개 (an apple) 먹었는지 두 개 이상 (apples) 먹었는지를 말해줘야 한다. 영화 황산벌에 나오는 계백 장군의 대사인 "그러니께 이번 여그 황산벌 전투에서 우리의 전략 전술적인 거시기는, 한 마디로 뭐시기 할 때꺼정 갑옷을 거시기한다, 바로 요거여. 알겄제?" 는 영어로는 말이 안 되고, 번역해 봐야 억지스럽다.

이런 다양성, 다의성은 인간의 언어에서는 언어를 풍요롭게 하고 문학의 비옥한 토양이 되는 존재이지만 프로그래밍 언어에서는 그다지 환영받지 못한다. 프로그래밍에서는 간단함과 명료함이 미덕이다. 그래서 날이 갈수록 파이썬 사용자는 많아지고 펄 사용자는 줄어만 간다.

예전, 대략 버전 관리 시스템으로 git이 아니라 cvs나 svn을 쓰던 때, 수많은 개발자들의 땀과 눈물이 서려있을 Visual C++ 6.0이 현역이었을 때, 간혹 3.5인치 디스켓 드라이브를 볼 수 있었을 때, 안드로이드는 나왔는데 안드로이드 스튜디오는 없어서 이클립스로 앱 만들던 때, 도스에서 터보C를 쓰던 때의 코딩은 참 자유로웠다. 참조할 수 있는 자료가 제한되어 있으니 다 개발자가 어떻게든 직접 해야 했고, 그러다보면 좀 삐그덕대더라도 분명 내 손에서 나왔다고 자부할 수 있는 프로그램이 생기곤 했다. 홈페이지도 메모장에 직접 html 코드를 쳐 가면서 만들곤 했지.

요즘은 컴퓨터 프로그램이 거대해지면서 많은 부분이 규격화되었다. 이미 남이 만들어놓은 코드를 "라이브러리"라는 이름으로 잘 가져다가 쓰는 게 중요한 시대가 되었다. 예전처럼 내가 다 하려다가는 "왜 바퀴를 재발명하고 있냐?" 라는 핀잔을 듣기 일쑤다. 깃허브에서 여러 코드를 받아오고 스택 오버플로우에서 이것저것 찾아서 어떻게 하다 보면 금세 프로그램 하나를 뚝딱 만들 수 있다. 요즘 간단한 스마트폰 앱은 파워포인트 만들듯이 마우스로도 만들 수 있고. 그런데 그렇게 해서 나온 결과물을 보고 있노라면 마음 속 한 구석이 왠지 허전하다. '이 프로그램에서 내가 만든 부분이 도대체 뭐지?' 하는 생각과 함께.

펄을 마지막으로 써 본 지도 거의 10년이 다 되어 간다. 옛 생각이 나서 인터넷에서 펄을 검색해 보니 5년 안에 사용자가 사라질 언어 중 하나로 펄이 꼽혀 있었다. 바퀴를 재발명하던 때가 그립다. 스택 오버플로우 없이 프로그램을 짜던 때가 그립다. 괜히 커맨드 창에서 perl을 실행시키고 이것저것 눌러보다가 창을 닫았다. 기분이 참 $_ 한 오늘이다.

'글쓰기 > 수필' 카테고리의 다른 글

부르던 노래가 남아서  (1) 2024.11.13
머지되지 못한 커밋  (0) 2024.09.13
이어령 선생님의 부고를 듣고  (2) 2022.02.27
리을 이야기  (2) 2022.01.10
번데기의 천국 - 모교의 폐교 가능성 소식에 부쳐  (0) 2021.06.04

캘리포니아 2022 - 9. 아무렇지도 않고 예쁠 것도 없는

 

https://youtu.be/PVvgPrHEqCA

 

대학생 때 한 달 넘게 일본 배낭여행을 간 적이 있었다. 하루에 한국 돈 약 4만원 정도로 숙박비와 식비를 포함한 여행비를 충당하던 빠듯한 여행이었다. 여행 중 오키나와에서 우민추(海人, 바닷사람이라는 뜻의 오키나와어)라고 적혀있는 티셔츠를 보았었는데 맘에 쏙 들었지만 한국 돈으로 약 2만원 정도 되던 금액이 당시에는 부담이 되어 몇 날 며칠을 고민하다 오키나와를 떠날 때까지 결국 사지 못했다. 웃기게도 그렇게 돈을 아껴서 그랬는지 여행 후반에는 돈이 남았었다. 그 티셔츠를 몇 장은 충분히 살 수 있을 정도로.

비록 티셔츠는 못 샀지만 그 경험 덕에 깨달은 것이 있다. 살까 말까 고민되면 일상에서는 사지 말아야 하지만 여행중에는 사야 하고, 할까 말까 고민되면 일상에서는 하지 말아야 하지만 여행중에는 해야 한다. 일상에서는 다음, 다다음 기회가 있지만 여행중에는 기회가 한 번씩 밖에 없기 때문이다. 설령 나중에 후회하더라도 여행 중에는 하고 나서 후회하는 것이 하지 않고 아쉬워하는 것 보다 낫다.

캘리포니아 1번 주도(州道)에서의 운전이 7시간을 넘어 8시간 째로 접어들던 때였다. 해는 뉘엿뉘엿 져 가고 도로에는 산그림자가 깔리기 시작했다. 이제는 밤이 되기 전에 빨리 산타 바바라에 도착해서 숙소에 짐을 풀어야 했다. 1번 주도를 달리며 태평양을 보겠다는 목표는 이미 충분히 달성한 후였다. 1번 주도가 아직 남아있기는 했지만 남은 부분은 바닷가가 아니라 내륙의 외진 마을들을 거쳐가는 길이었다. 내비게이션은 빙빙 돌아가는 1번 주도 대신 가까운 길을 알려주고 있었다.

하지만 나는 1번 주도를 더 달려보고 싶었다. 특별히 그래야 할 이유는 없었다. 반대로 그러지 말아야 할 이유는 많았다. 11년만에 운전대를 잡은 것이어서 아직 밤 운전은 위험했고, 남아있는 1번 주도는 딱히 특별할 것이 없는 평범한 도로일 것 같아 보였으며, 내일의 일정을 생각하면 조금이라도 빨리 숙소에 도착해서 쉬는 것이 좋을 것 같았다. 하지만 결국 고민 끝에 잠시 차를 멈추고 일부러 강제로 1번 주도를 달리도록 네비게이션을 재설정했다. 이유는 단 하나였다. 그러고 싶어서. 숙소에 좀 늦게 도착하면 어떻고 다음날 좀 피곤하면 어때. 여행중에 할까 말까 고민될 때에는 모름지기 해야 한다.

캘리포니아 1번 주도는 태평양 해안 도로 (Pacific Coast Highway, PCH), 카브릴로 도로 (Cabrillo Highway), 쇼어라인 도로 (Shoreline Highway), 해안 도로 (Coast Highway) 등의 구간으로 나뉘는데 보통 여행 책자에서 소개하는 캘리포니아 1번 주도는 태평양 해안 도로 구간이다. 강한 바람, 깎아지른 절벽, 태평양이 만들어내는 육중한 파도와 굉음이 계속해서 이어지는 길로, 내가 그 날 오전부터 줄기차게 달려왔던 바로 그 길이었다. 이제 태평양 해안 도로는 끝이 났고, 내가 네비게이션의 충고를 무시하고 더 가기로 한 캘리포니아 1번 주도는 카브릴로 도로 (Cabrillo Highway) 구간이었다.

별 기대 없이 들어선 카브릴로 도로는 조용한 시골길, 정지용 시인의 시 '향수'의 표현을 빌자면 아무렇지도 않고 예쁠 것도 없는 그런 곳이었다. 하지만 그래서 좋았다. 특별히 멋지거나 화려한 경치는 없었지만 그렇기 때문에 마음이 편안해졌다. 사람도 차도 거의 없는 시골길을 운전하며 카브릴로 도로의 한적함을 충분히 누리고 또 누렸다. 낮 내내 태평양 해안 도로를 달리며 바람과 절벽과 파도와 바다 때문에 흥분되었던 마음이 시골길을 천천히 달리는 동안 기분 좋게 차분해졌다.

소설은 발단, 전개, 위기, 절정을 거쳐 결말이 나야 하고 한시(漢詩)는 기, 승, 전을 지나 결까지 가야 한다. 독자를 흥분시키고 긴장하게 하는 것도 중요하지만 마지막에 가서 독자의 긴장을 풀어주고 마음을 편안하게 해 주는 것 역시 중요한 일이기 때문이다. 그런 면에서 카브릴로 도로는 캘리포니아 1번 주도를 달리는 사람이라면 꼭 가 보아야 하는 곳이다. 태평양 해안 도로가 1번 주도의 절정이라면 카브릴로 도로는 잔잔한 마무리다. '향수'의 아무렇지도 않고 예쁠 것도 없다는 표현이 참 잘 어울리는 곳, 그래서 그 곳이 차마 꿈엔들 잊히겠냐는 그 다음 표현 역시 참 잘 어울리는 곳이 바로 카브릴로 도로다.

카브릴로 도로는 롬폭(Lompoc)이라는 마을을 지나면서 끝이 났고 그 즈음부터 산타 바바라까지는 미국 101번 국도가 캘리포니아 1번 주도를 대체하면서 1번 주도가 잠시 끊어져 있었다. 해는 진작에 다 져서 깜깜한 밤이었고 아침에 운전을 시작한 지 10시간이 지나서야 산타 바바라의 숙소에 들어설 수 있었다. 체크인을 하면서 직원과 이야기를 하다가 오늘 아침에 몬터레이에서 출발해서 온 거라고 했더니 직원이 말했다. "와우, 롱 트립."

101번 국도 때문에 끊어진 캘리포니아 1번 주도는 산타 바바라 이후에 다시 나타나서 LA로 향하게 된다. 원하면 다음 날 1번 주도를 더 탈 수도 있었다. 하지만 카브릴로 도로가 내 캘리포니아 1번 주도 여행을 잘 마무리해 주었기에 더 이상 미련은 없었다. 내일 LA로 갈 때에는 고속도로를 타야지. 노곤한 몸으로 기분좋게 잠에 들었다.


캘리포니아 2022 - 8. 인생은 운전

나는 하나를 완벽히 끝내지 않으면 다음 단계로 잘 넘어가지 못하는 성격이다. 어릴 때 비디오 게임을 할 때면 화면에 나타나는 동전을 하나도 빼놓지 않고 다 먹어야 했고 이야기 진행이 중요한 컴퓨터 게임을 할 때면 맵에 있는 장소를 다 방문하고 모든 등장인물을 다 만나봐야 직성이 풀렸다. 대학원생 때는 기말고사까지 다 끝난 다음에도 수업 때 이해가 가지 않았던 내용을 들고 교수님을 찾아갔었고, 대학교 때 배웠던 함수형 프로그래밍 언어가 깊이 이해가 가지 않아 사회인이 된 지금까지도 시간이 날 때마다 틈틈이 함수형 프로그래밍 언어 공부를 시도해 왔다.

이런 나에게 있어 볼거리가 넘쳐나는 캘리포니아 1번 주도(州道)에서의 운전은 어떤 의미에서 고역이었다. 황홀한 풍경이 쉬지 않고 계속해서 나타났지만 나는 계속 앞만 보고 차만 몰아야 했다. 낮에는 그래도 마음에 여유가 있어서 도로 옆 간이 쉼터 공간이 나타나면 차를 대고 경치를 보곤 했지만 해가 조금씩 붉은빛을 띠며 서쪽 수평선에 가까워지기 시작한 후로는 마음이 급해져서 비어있는 도로를 끝없이 달리고 또 달렸다.

그렇게 달리다 보니 끝없이 이어질 것만 같던 깎아지른 해안 절벽과 삐죽삐죽한 젊은 산들이 어느새 시나브로 사라지고 그 자리를 둔탁하게 닳은 오래된 얕은 언덕과 초원이 메우고 있었다. 하얗게 쨍했던 한낮의 햇빛이 북쪽의 날카로운 절벽과 참 잘 어울렸다면 붉은 기가 도는 초저녁의 햇빛은 얕은 언덕과 초원에 잘 어울렸다. 어느새 이렇게 경치가 바뀌었지 하고 놀라던 찰나 멀리 무언가 검은 것이 보였다. 자세히 보니 소였다. 여러 마리의 소가 넓은 풀밭을 돌아다니며 자유롭게 풀을 뜯고 있었다.

아, 이게 말로만 듣던 방목형 목장이구나. 소들이 주인도 없이 여기저기 돌아다니는 게 신기해서 자세히 보고 싶었지만 목장이 도로 옆에 있었기에 소를 오랫동안 볼 수가 없었다. 운전자에게는 전방 주시의 의무가 있지 않나. 못내 아쉬워 운전하면서 고개를 잠깐씩 돌려 소들을 보려 했지만 그러자 운전도 잘 안 되고 소도 잘 안 보였다. 그렇게 한참을 시도하다가 결국에는 소를 제대로 보는 것을 포기하기로 했다. 아쉬웠지만 어쩔 수 없었다. 소를 보자고 도로 한복판에서 멈출 수도, 아니면 차를 돌려 오던 길을 되돌아갈 수도 없는 노릇 아닌가. 이 소들은 - 적어도 이번 여행에서는 - 내가 자세히 관찰할 정물화의 대상이 아니라 휙휙 지나가는 크로키의 대상이라는 것을 인정하기로 했다. 그러자 마음이 편해졌다.

인생은 유턴 없는 운전과 참 비슷하다. 유턴 없는 길에서는 한번 지나온 곳에 다시 갈 수 없고, 인생에서는 한번 지나온 시간을 다시 살 수 없다. 운전을 하다가 창 밖에 있는 소를 제대로 보지 못 했더라도 다시 볼 수 있는 방법은 없고, 살면서 제대로 하지 못해 후회되는 일이 있더라도 그 시간으로 되돌아가 그 일을 고칠 수는 없다. 갈림길 직전에 방향을 잘못 잡고 있는 것을 깨달았다면 우물쭈물할 시간 없이 바로 그 순간 잽싸게 길을 바꿔야 한다. 그렇게 계속해서 수많은 아쉬움을 남기며 앞으로 앞으로 가야 하는 것이 운전이고 우리의 삶이다. 그리고 지금 놓친 풍경에 아쉬워하기보다는 앞에 있는 모퉁이를 돌았을 때 갑자기 눈앞에 펼쳐질 장관을 기대하는 것이 여행자의 바른 운전 태도이고 바른 삶의 태도이다. 덧붙이자면 그렇게 멋진 경치가 많이 나타날 길을 선택하는 것이 삶의 지혜이고.

이런 생각을 하자 마음이 편해졌고 해는 점점 지면서 붉다 못해 주황색이 된 게으른 빛을 느릿느릿 뿌리고 있었다. 그 빛을 받으며 나는 남으로 남으로 향했다. 그리고 한참 뒤 이야기이지만, 캘리포니아 여행을 다 마치고 집에 돌아간 나는 책장에 있던 함수형 프로그래밍 언어 책을 버릴 수 있었다.


캘리포니아 2022 - 7. 내 소리는 다음 사람에게 닿을 것

박지원의 열하일기에는 호곡장론(好哭場論)이라 불리는 유명한 글이 있다. 평생을 산이 가득한 조선에서 살던 박지원은 요동을 지나다가 처음으로 끝없는 벌판과 지평선을 보았고, 그 자리에서 감탄해서 "호곡장! 가이곡의. (好哭場! 可以哭矣.)" 라고 외쳤다. 한문으로 쓰다 보니까 말이 그렇다는 거지 실제로 했던 말은 "이야, 여기 진짜 울기에 좋은 곳이네! 정말 울어볼 만 하네!" 정도였을 것이다. 이 멋진 풍경을 보고 왜 하필이면 우냐는 일행의 말에 박지원은 아기도 태어나면 울지 않냐며, 갓 태어난 아기는 슬퍼서 우는 게 아니라 좁은 태중에 있다가 갑자기 무한히 넓은 세상을 만나게 되자 속이 시원해서 크게 한바탕 우는 것이라고 대답한다. 그처럼 자기도 지금 무한을 보게 되자 속이 시원해서 갓난아기처럼 울고 싶은 것이라고.

주차할 수 있도록 갓길이 확장된 곳에 차를 대고 문을 열자 바람 소리가 귀를 울렸다. 차에서 내리니 육중한 파도가 절벽과 암초를 만나면서 만들어내는 무섭게 하얀 물보라가 생겼다가 없어지기를 반복하고 있었다. 최남선의 해(海)에게서 소년에게에 나오는 파도는 자기의 큰 힘을 아느냐 모르느냐고 호통을 쳤다지만 지금 이 파도는 그런 말조차 귀찮다는 듯, 아무 말도 없이 그저 자기의 거대함과 육중함, 무겁고 검푸른 물과 두텁고 하얀 물보라 그 자체로 자신을 드러내고 있었다. 주위에 아무도 없이, 나 홀로 갓길에서 그 광경을 보고 있었다.

얼마나 그렇게 있었을까, 갑자기 소리를 지르고 싶어졌다. 박지원이 요동 벌판을 보고 정말이지 울기에 좋은 곳이라고 감탄했다던 이야기도 순간 생각이 났다. 열하일기를 제대로 읽지도 않았으면서 그 순간 그 내용이 떠올랐던 것은 아마도 내가 살면서 읽었던 여러 문장 중 목놓아 울기에 좋은 곳이라는 바로 그 표현이 당시의 내 감정과 가장 비슷했기 때문이지 않았을까. 선 채로 잠시 고민을 하다가 크게 소리를 질렀다. 주위에 아무도 없기 때문이기도 했고 바람과 파도 소리가 워낙에 커서 내가 소리를 질러봤자 잘 안 들릴 것이기 때문이기도 했지만 무엇보다도 소리를 지르지 않고는 가슴이 터질 것 같아 견딜 수 없어서였다. 한참 길게 소리를 질렀지만 그것으로는 부족해서 또 다시 크게 소리를 질렀다. 그제야 속이 뻥 뚫렸다. 시대도 장소도 달랐지만 박지원도 요동 벌판을 보며 이런 기분이었을 것임을 감히 알 수 있었다.

호곡장론의 맨 끝에서 박지원은 울 만한 곳이 또 있다며 금강산과 황해도 몽금포 이야기를 꺼낸다. 금강산 비로봉에 올라 동쪽 바다를 바라보면서, 황해도 몽금포의 모래사장을 걸으면서도 크게 울 만하다고. 박지원이 금강산 여행을 갔던 것은 29살이던 영조 41년, 1765년이었다. 박지원은 몰랐겠지만 그 때 금강산 비로봉 꼭대기에서 동해를 향해 목놓아 울었던 박지원의 울음소리는 바닷물에 녹아들어 태평양 전역으로 퍼져나갔고, 그렇게 바다에서 257년을 떠돌다가 육중한 파도 소리가 되어 태평양 반대편에 서 있던 내 귀에 들어왔다. 그리고 나는 큰 소리를 질러 그 소리에 화답했다. 내 소리 역시 대양을 돌고 돌다가 누군가의 귀에 들어갈 것이다. 그리고 그 사람은 자기의 소리로 내 소리에 화답할 것이다. 지금 이를 이렇게 글로 남기는 것은 내 소리에 화답할 그 사람이 내 소리를 들었을 때에 그것이 내 소리인 줄 알 수 있게 하기 위해서이다.



캘리포니아 2022 - 6. 맥주 마시던 어린이

십여 년 전 미국에 처음 갔을 때 일이다. 패스트푸드점에 들어갔는데 잘 해야 초등학교 3학년 정도로 보이는 아이가 빨대로 캔맥주를 마시고 있었다. 대낮에 아이가 맥주를 너무나도 당당하게 마시고 있는 것에 한 번 놀랐고, 캔에 beer라고 크게 쓰여 있는데도 주위의 어른들 중 그 누구도 그 아이에게 뭐라고 하지 않는 것에 두 번 놀랐었다. 신문에서 봤던 미국의 공교육 붕괴 기사가 머릿속에서 맴돌았고 척화비를 세우던 흥선대원군의 심정이 이해가 가기 시작했다. 아니 인의예지가 없어도 너무 없네. 미국이 쇠락할 날이 멀지 않았구만.

그 아이가 마시던 것이 맥주가 아니라 루트 비어(root beer)라는 이름의 탄산음료라는 것을 안 것은 그로부터 며칠 후였다.

루트 비어는 이름과는 달리 맥주와는 전혀 상관 없는 음료수다. 맥주도 아닌데 이름에 왜 비어(beer)가 들어가는지 미국 사람에게 물어봤지만 자기도 잘 모르겠다는 대답만 들을 수 있었다. 맛은 뭐랄까, 수정과에 물파스를 섞고 탄산을 넣은 맛인데 이게 묘하게 중독성이 있어서 그 후로 나도 기회 될 때마다 찾아 마시곤 하게 되었다.

소살리토에서 한참을 걷다가 점심을 먹기 위해 들어간 햄버거집에서 루트 비어를 발견했다. 반가운 마음에 바로 주문을 했다. 예의 그 물파스 향이 코를 찔렀다. 동시에 십여 년 전의 맥주 마시던 어린이 사건도 다시금 떠올라서 조용히 혼자 씩 웃었다.

+ Recent posts