루이스 캐럴

1832–1898

“자바스크립트가 다 무슨 소용이람, “앨리스는 생각했다, “그림과 대화가 없다면 말야.”

루이스 캐럴은 존경 받는 수학자이자 선구적인 사진작가였으며 철학가이자 성공회의 부제[nh1] 였지만, 환상적인 난센스 문학으로 [nh2] 가장 잘 알려진 인물이다.

도피문학[nh3] 의 명저로 꼽히는 『이상한 나라의 앨리스』는 『피네간의 경야』에서 『매트릭스』에 이르기까지 다양한 작품들에 영향을 끼쳤다. 작품 도처에서 볼 수 있는 풍자, 학문적 암시와 더불어, 이 작품을 고전의 반열에 들게 만든 것은 그 모든 것이 보여주는 뻔뻔스런 광기 그 자체라고 할 수 있다. 아동문학에서 다루던 이야기란 것이 대부분 지루한 도덕적 설교에 불과하던 때에, 앨리스의 이야기는 신선함 그 자체였다. 따분한 앨리스는 토끼굴에 빠지게 되고 사랑스런 미치광이 동물들과 어울려 다닌다. 캐럴은 그들의 횡설수설과 기이한 행동을 (대부분의 경우에 그러하다) 자신의 동시대인들과 달리 합리화하려 들지 않는다. 대신 독자가 모순 그 자체를 즐기며 흥청거릴 수 있는 공간을 열어준다. 아래는 정말이지 말도 안 되는 대화를 주고받는 미친 티 파티tea party [nh4] 장면이다.

“정말 재미있는 시계네!” [앨리스가] 말했다.

“이 시계는 몇 월 몇 일인지는 알려주지만 몇 시인지는 알려주지 않지.”

“그럴 필요가 있나?”모자장수가 투덜댔다. “네 시계는 몇 년도인지 알려주니?”

“물론 아니지,”앨리스는 바로 대답했다. “하지만 그건 시계가 일년이란 시간에 아주 오랫동안 머물러있기 때문이야.”

“내 시계도 그래,”모자장수가 말했다.

앨리스는 몹시 어리둥절했다. 모자장수의 말은 영어임에 분명했지만 아무 의미도 갖고 있지 않은 것처럼 보였기 때문이다. “이해가 잘 안되네요,”앨리스는 최대한 공손하게 말했다.

“겨울잠 쥐는 또 잠이 들었네,”모자장수가 말하며 쥐의 코에다 뜨거운 티를 조금 부었다.[i]

이상한 나라에 사는 이들은 하나같이 앨리스에게 무례하게 군다. 전반적으로 이런 상황이 (말 그대로) 감당도 안되고 대체로 불편하기도 하지만, 앨리스는 결코 품위를 잃는 법이 없이 멋지게 응수한다. 이러한 역동성[nh5] 이 바로 많은 유머를 샘솟게 하는 원천이기도 하다. 즉, 앨리스를 가볍게 무시하는 이들의 태도는 이들에 대한 앨리스의 가벼운 멸시와 짝을 이루고 있는 것이다.

속편인 『거울 나라의 앨리스』는 기본적으로 앨리스의 침실에 있는 거울 뒤에서 펼쳐지는 체스 게임이다. 이 작품에는 특히 많은 이들이 좋아하는 난센스 시 ‘재버워키Jabberwocky’가 들어있는데, 거울 위에 쓴 이 시는 인위적으로 만들어낸 말들로 가득하며 그 중 일부는 (특히, 혼성어인 깔깔거리다chortle) 우리가 일상적으로 쓰는 말이 되었다.

자바스크립트는 관습에 얽매이지 않는 언어로, 매력적이면서도 기이한 특징과 숨겨진 특성들로 가득하다. 수년에 걸쳐 개발자들은 이런 괴짜스러움이 창조성을 위한 수단으로 사용될 수 있음을 알아보고선 이를 받아들이고 아름다운 것들을 만드는 데 사용해 왔다. 그러나 최근에 몇몇 개발자들은 자바스크립트의 기이한 성질에 대해 부끄러워하며 자바스크립트를 주류의 언어로 새로이 고안하려고 노력해왔다. 이들은 소수만 이해할 수 있는 특징의 가치가 과연 큰 것인지 의문을 품었다. 그리고 자바스크립트를 쓰려면 누구든 이해하려고 노력해야만 가능하다며 한탄했다.

and lamenting that anyone should have to understand them.[nh1]

이 논쟁에 있어서 루이스 캐롤은 의심할 여지 없이 전자에 속한다. 사실 그는 자바스크립트를 최대한으로 괴짜처럼 만들려고 비상한 노력을 하였다. 그의 해답에서 theHatter (내 생각에 이것은 theFactor에 대한 느슨한 말장난을 의도한 것 같다)는 드물게 사용되는 Function 생성자와 수많은 두려움의 대상이 되는 this 키워드라는 수단을 통해 초기화된다. 그리고 그는 jumps through (croquet) hoops to assign an empty array to theVerdict. 비어 있는 배열을 theVerdict에 할당하기 위해 (크로케가) 시키는 데로 한다.[nh2] 그러는 한 편, theDuchess[nh3] (아마도 theCount를[nh4] 암시한 말장난?) 변수를 재버워키스러운 frumious Bandersnatch에 set한 것은 [nh5]

변수의 값을 재버워키스러운 frumious Bandersnatch로 한 것은[nh6]

순전히 관심을 딴 데로 돌리는 것에 불과하다 (theDuchess의 값은 두어 줄 뒤에 다시 할당된다).

그러나 캐롤의 결정적인 한 방은 바로, 많은 사람들이 헐뜯기는 했지만, 터무니없을 정도로 강력한 eval문을 사용한 것이다. 캐롤은 join을 반복자iterator로 사용함으로써 코드 한 덩어리 전체를 접어서 단 몇 줄의 코드로 만들어 버린다. shoehorning the logic into the voids betweeneach array element. 배열의 각 요소 사이의 voids 속으로 logic을 구겨 넣으면서.. [nh7] 결국 그는 eval을 사용해서 생성되었던 문자를 (하트의 여왕이 말하듯) 실행시킨다. 지금쯤이면 이것은 쥐의 꼬리The Mouse’s Tale[1]만큼이나 길고 3월의 토끼만큼이나 종잡을 수 없어 보일 것[nh8] 이다.

[1] 이상한 나라의 앨리스의 “긴 꼬리”라는 장에 수록된 시이다. https://en.wikipedia.org/wiki/The_Mouse%27s_Tale (옮긴이)