테크-인문학 사전 9화
프로그래밍 언어의 이름을 짓는 건 밴드 이름을 짓는 것과 비슷합니다. 뭔가 있어 보여야 하고, 기왕이면 철학이 담겨 있어야 하고, 나중에 인터뷰에서 "그 이름은 어떻게 지으셨나요?"라는 질문에 그럴듯한 답을 할 수 있어야 하죠. 이를테면 C 언어는 B 다음이라서 C고, Java는 개발자들이 마시던 커피 브랜드에서 왔고, Ruby는 진주(Pearl/Perl) 다음에 올 보석이라서 루비예요. 이 정도면 작명 센스라기보다는 연상 게임에 가깝습니다.
그런데 파이썬은 좀 다른 경로를 탔어요. 1991년, 네덜란드의 프로그래머 귀도 반 로섬은 크리스마스 연휴에 심심해서 만들기 시작한 언어에 이름이 필요했습니다. 그가 고른 건 BBC의 코미디 프로그램 <몬티 파이썬의 날아다니는 서커스>(Monty Python's Flying Circus)였어요. 그러니까 여기서 파이썬(Python)은 비단뱀속(屬)을 의미하는 단어가 아니라 영국의 코미디언 그룹 이름이에요. 그리고 그 그룹 이름조차 심오한 뜻이 있어서 골라진 게 아니라, 이 그룹의 멤버 존 클리즈가 "뭔가 미끌미끌한 느낌"이라며 던진 단어가 행정 착오로 확정된 겁니다. 다시 강조하는데, 뱀이 아니에요.
이 사실은 파이썬 공식 문서에도 명시되어 있고, 귀도 본인이 수십 번 반복해서 말했습니다. 그런데 파이썬의 로고는 뱀 두 마리가 서로 감긴 형상이고, 파이썬 관련 도구들의 이름은 하나같이 파충류 테마를 따라갑니다. 패키지 관리자는 Anaconda고, 데이터 시각화 라이브러리는 Boa고, JetBrains 사에서 만든 파이썬 전용 코딩 프로그램 PyCharm의 아이콘에도 뱀이 들어가 있어요. 커뮤니티 전체가 만든 사람의 의도를 조직적으로 무시하고 있는 셈이죠.
왜 그랬을까요? 이유는 단순해요. 뱀이 더 그리기 쉬우니까. 몬티 파이썬의 정신을 로고로 표현하려면 어떻게 해야 할까요? 몬티 파이썬의 멤버 존 클리즈의 우스꽝스러운 걸음걸이를 벡터 이미지로 만들 수는 없는 노릇이고, 그들의 코미디 영화 제목인 "그리고 이제 완전히 다른 것"(And Now for Something Completely Different)이라는 문구를 로고에 넣을 수도 없으니까요. 뱀 두 마리는 깔끔하고, 대칭적이고, 파비콘으로 축소해도 알아볼 수 있습니다. 실용적 이유가 원래의 의미를 덮어쓴 거예요.
재밌는 건, 이 과정이 귀도 반 로섬이 이 이름을 고른 취지와 정확히 반대 방향이라는 점입니다. 몬티 파이썬이 코미디사에서 특별한 위치를 차지하는 건 그들이 특출나게 웃겨서가 아니에요. 형식을 해체했기 때문이죠. 전통적인 스케치 코미디는 설정이 있고, 전개가 있고, 펀치라인(특정 대목에서 그간 쌓아 올린 빌드업을 이용해 웃음을 터뜨리는 구성)이 있습니다. 몬티 파이썬은 펀치라인을 거부했어요. 스케치가 끝나지 않고 다음 스케치로 흘러 들어가거나, 갑자기 애니메이션이 끼어들거나, 등장인물이 "이 스케치는 너무 멍청하다"고 선언하며 중단시켜 버립니다. 코미디라는 형식 자체를 메타적으로 해체하며 조롱하는 구조를 보여줬죠.
귀도 반 로섬이 파이썬에 이 이름을 붙인 건 단순히 팬이어서이기도 했지만, "프로그래밍이 반드시 엄숙할 필요는 없다"는 태도의 표현이기도 했습니다. 관습을 따르지 않겠다는 작은 선언. 실제로 파이썬의 공식 문서에는 spam, eggs, ham 같은 몬티 파이썬 레퍼런스가 변수명으로 쓰입니다(이에 대해선 스팸 편에서 다루었습니다). 다른 언어들이 foo, bar라는 무미건조한 플레이스홀더를 쓰는 것과 대조적이죠. 그런데 커뮤니티는 그 반-관습적 이름에 가장 관습적인 해석을 덮어씌운 거예요. Python이니까 뱀이겠지, 하고요. 로고가 그리기 쉽고, 직관적이고, 파비콘으로 축소해도 알아볼 수 있다는 실용적 이유가 원래의 맥락을 조용히 지워버린 셈이죠.
그런데 이걸 단순히 "원작자의 의도가 무시됐다"고 아쉬워할 일만은 아니에요. 파이썬의 핵심 철학인 "The Zen of Python"을 읽어보면, "Practicality beats purity", 실용성이 순수함을 이긴다고 명시되어 있거든요. 커뮤니티가 몬티 파이썬의 맥락을 무시하고 뱀을 선택한 건, 따지고 보면 파이썬 자신의 철학에 오히려 충실한 행동이었던 거죠. 이름의 순수한 기원보다 실용적 해석이 이겼으니까요.
더 재밌는 건, The Zen of Python의 나머지 내용입니다. "아름다움이 추함보다 낫다", "명시적인 것이 암시적인 것보다 낫다", "하나의 명확한 방법이 있어야 한다." 이건 해체가 아니라 질서의 언어입니다. 형식을 조롱하는 코미디 극단의 이름을 달고 있는 언어가, 정작 자기 철학에서는 형식과 규범을 강하게 옹호하고 있어요.
모순일까요? 아닐 수도 있어요. 몬티 파이썬이 형식을 해체할 수 있었던 건 형식을 완벽하게 이해하고 있었기 때문이니까요. 이들이 코미디의 규칙을 부순 건 규칙을 몰라서가 아니라 너무 잘 알아서였습니다. 파이썬의 "읽기 쉬운 코드"라는 철학에서도 비슷한 패턴이 보입니다. C와 Perl의 문법적 혼란을 충분히 이해한 사람이 그걸 정리한 거니까요.
그런데 여기서 그리스 신화 이야기를 안 할 수가 없습니다. 파이썬(Python)의 원래 원래 출처, 그러니까 몬티 파이썬이라는 코미디 극단의 이름보다도 더 오래된 출처는 그리스 신화의 퓌톤(Πύθων)이에요. 델포이에 살던 거대한 뱀, 혹은 용. 대지의 여신 가이아가 낳은 존재로, 델포이의 신탁을 지키고 있었죠.
아폴론이 태어난 지 나흘 만에 이 퓌톤을 죽입니다. 그리고 퓌톤이 지키던 신탁을 자기 것으로 만들죠. 델포이 신전은 이후 아폴론의 신전이 되고, 그곳의 여사제는 퓌티아(Pythia)라고 불립니다. 죽인 뱀의 이름을 자기 사제의 칭호로 쓰는 거예요. 정복자가 피정복자의 이름을 자기 시스템에 흡수하는, 신화에서 숱하게 반복되는 패턴이죠.
흥미로운 건 퓌티아가 하는 일이에요. 사람들이 질문을 가져오면, 퓌티아는 답을 줍니다. 그런데 그 답이 명쾌하지 않아요. 유명한 사례가 있죠. 크로이소스 왕이 "페르시아를 공격하면 어떻게 되겠습니까?"라고 묻자, 퓌티아는 "거대한 제국이 멸망할 것이다"라고 답했어요. 크로이소스는 페르시아가 망할 거라고 해석했지만, 망한 건 자기 제국이었습니다. 신탁은 틀린 적이 없어요. 해석이 틀렸을 뿐이죠.
프로그래밍 언어도 비슷한 면이 있지 않나요? 우리는 컴퓨터에게 질문을 합니다. 정확한 문법으로, 정확한 구문으로. 컴퓨터는 언제나 정확하게 답해요. 문제는 우리가 질문을 잘못 했을 때 발생합니다. 버그는 컴퓨터가 틀려서 생기는 게 아니라, 우리가 원하는 것과 우리가 실제로 요청한 것 사이의 간극에서 생기죠. 퓌티아의 신탁과 파이썬 인터프리터는 이 점에서 놀랍도록 닮아 있어요. 둘 다 당신이 물은 것에 정확히 답할 뿐, 당신이 물으려고 했던 것에는 관심이 없습니다. AI 시대가 되면서 거대 언어 모델들이 질문의 맥락을 조금 더 두루 살피는 것처럼 보이긴 하지만 이 패턴은 근본적으로 달라지지 않았습니다.
오라클(Oracle)이 실제로 데이터베이스 회사의 이름이라는 건 여기서 짚고 넘어갈 만한 우연이에요. 래리 엘리슨이 1977년에 세운 이 회사는 CIA 프로젝트의 코드명에서 이름을 따왔는데, 결과적으로 "거대한 데이터에 질의하면 답을 돌려주는 시스템"이 "신탁"이라는 이름을 갖게 된 거죠. 의도한 건 아니었겠지만, 은유로서는 꽤 정확합니다.
다시 파이썬으로 돌아와서, 아폴론이 퓌톤을 죽이고 델포이를 장악한 이야기에는 더 큰 패턴이 있어요. 새로운 질서가 기존의 혼돈을 제거하고 그 자리를 차지하는 서사. 이건 프로그래밍 언어의 역사에서도 반복됩니다. 모든 새 언어는 이전 언어의 혼란을 정리하겠다고 등장해요. C가 어셈블리의 혼란을 정리했고, 자바가 C의 메모리 관리 혼란을 정리했고, 파이썬이 코드 가독성의 혼란을 정리했죠.
그런데 아폴론이 퓌톤을 죽인 뒤에 무슨 일이 벌어졌는지 아시나요? 아폴론은 퓌톤 살해의 죄를 씻기 위해 정화 의식을 치러야 했어요. 새로운 질서는 자기가 파괴한 옛 질서에 빚을 지고 있다는 거죠. 파이썬도 마찬가지예요. 파이썬 2에서 3으로의 전환은 10년 넘게 커뮤니티를 분열시켰습니다. print가 괄호와 함께 써야 하는 함수가 되고, 문자열 인코딩 체계가 바뀌고, 수많은 라이브러리가 호환성을 잃었어요. 새 질서가 옛 질서를 대체하는 과정은 신화에서든 소프트웨어에서든 깨끗하지 않습니다.
귀도 반 로섬 본인도 이 패턴에서 자유롭지 못했어요. 2018년, PEP 572를 둘러싼 논쟁이 벌어졌습니다. 바다코끼리 연산자(:=)라는 새로운 문법의 도입을 놓고 커뮤니티가 격렬하게 갈라진 거예요. 논쟁 끝에 귀도는 자신의 칭호를 내려놓았습니다. "자비로운 종신 독재자(BDFL)." 파이썬 커뮤니티가 창립자에게 부여한, 반쯤 농담이고 반쯤 진담인 이 직함을요. 자기가 만든 언어의 방향성을 두고 자기가 만든 커뮤니티와 충돌한 끝에 떠난 겁니다. 아폴론이 퓌톤을 죽이고 정화 의식을 치러야 했듯이, 파이썬의 창조자도 자기 창조물에 대한 대가를 치른 셈이죠.
그래서 결국 이런 질문이 남아요. 파이썬이라는 이름의 '진짜' 어원은 뭘까요? 귀도 반 로섬은 몬티 파이썬에서 따왔다고 말합니다. 공식 문서도 그렇게 되어 있어요. 하지만 커뮤니티는 뱀을 선택했고, 로고도 뱀이고, 생태계 전체가 파충류 메타포로 돌아가고 있죠. 그리고 그 뱀의 이름은 그리스 신화의 퓌톤에서 왔고, 퓌톤은 신탁과 혼돈과 질서 교체의 이야기를 담고 있어요.
만든 사람의 의도가 어원일까요, 아니면 사용하는 사람들의 해석이 어원일까요? 이건 이 시리즈에서 끊임없이 반복되는 질문이기도 하지만, 더 넓게는 모든 창작물이 결국 마주치는 문제입니다. 작가의 의도와 독자의 수용이 갈라질 때, 텍스트의 의미는 어디에 있는가.
귀도 반 로섬이 코미디 극단의 이름을 골랐을 때, 그는 뱀을 의도하지 않았고, 그리스 신화를 의도하지 않았고, 신탁의 은유를 의도하지 않았어요. 그런데 한 겹 더 들어가 보면, 몬티 파이썬이라는 그룹 이름 자체도 누군가의 의도에서 나온 게 아닙니다. 존 클리즈가 "미끄럽고 교활한 느낌"이라며 Python을 던졌고, 에릭 아이들이 "동네 술집 단골 아저씨" 같은 느낌의 Monty를 붙였고, 이걸 BBC에 여러 후보 중 하나로 제출했는데 방송국이 최종안으로 착각하고 편성표에 인쇄해버렸어요. 의미의 기원을 추적하면 결국 이런 식입니다. 의도를 따라가면 또 다른 우연이 나오고, 그 우연을 따라가면 또 다른 맥락이 나오고.
이름이라는 건 한번 세상에 나오면 만든 사람의 손을 떠나는 겁니다. 의미는 의도에서 오는 게 아니라, 이름이 지나간 모든 맥락의 퇴적물이에요. 그중 어느 층이 "진짜"인지 묻는 건, 글쎄요, 델포이 신전에 가서 "정답을 알려주세요"라고 요청하는 것과 비슷한 일일지도 모르겠습니다.
"테크-인문학 사전"은 테크 용어의 인문학적 어원을 추적하는 시리즈입니다. 우리가 매일 쓰는 기술 용어들이 신화, 철학, 문학, 역사에서 건너온 과정을 따라가며, 그 차용이 드러내는 의미의 변형과 긴장을 살펴봅니다.
사전 · 백과사전
Britannica, "Delphic oracle" — https://www.britannica.com/topic/Delphic-oracle
Britannica, "Monty Python's Flying Circus" — https://www.britannica.com/topic/Monty-Pythons-Flying-Circus
Britannica, "Python, Greek mythology" — https://www.britannica.com/topic/Python-Greek-mythology
Mythopedia, "Python" — https://mythopedia.com/topics/python/
Online Etymology Dictionary, "python" — https://www.etymonline.com/word/python
Online Etymology Dictionary, "Pythia" — https://www.etymonline.com/word/Pythia
Wikipedia, "Guido van Rossum" — https://en.wikipedia.org/wiki/Guido_van_Rossum
Wikipedia, "List of oracular statements from Delphi" — https://en.wikipedia.org/wiki/List_of_oracular_statements_from_Delphi
Wikipedia, "Monty Python" — https://en.wikipedia.org/wiki/Monty_Python
Wikipedia, "Oracle Corporation" — https://en.wikipedia.org/wiki/Oracle_Corporation
Wikipedia, "Python (mythology)" — https://en.wikipedia.org/wiki/Python_(mythology)
Wikipedia, "Python (programming language)" — https://en.wikipedia.org/wiki/Python_(programming_language)
Wikipedia, "Pythia" — https://en.wikipedia.org/wiki/Pythia
Wikipedia, "Zen of Python" — https://en.wikipedia.org/wiki/Zen_of_Python
공식 사이트 및 기관
Computer History Museum, "Guido van Rossum Oral History" — https://www.computerhistory.org/collections/catalog/102738720
Open University, "Herodotus and the Invention of History: Croesus Tests the Oracles" — https://www.open.edu/openlearn/history-the-arts/herodotus-and-the-invention-history/content-section-4.2
PEP 20, "The Zen of Python" — https://peps.python.org/pep-0020/
PSF Trademark FAQ — https://www.python.org/psf/trademarks-faq/
Python FAQ, "Why is it called Python?" — https://docs.python.org/3/faq/general.html
아티클
@woongbeee, "세상의 중심에서 신의 목소리를 듣다, 델피," 브런치 — https://brunch.co.kr/@woongbeee/22
Bartosz Zaczynski, "What Exactly Is the Zen of Python?," Real Python — https://realpython.com/zen-of-python/
CIO Korea, "파이썬 창시자가 말하는 사임 이유와 파이썬의 미래" — https://www.cio.com/article/3532595/파이썬-창시자가-말하는-사임-이유와-파이썬의-미래.html
Dropbox Engineering, "Incrementally Migrating over One Million Lines of Code from Python 2 to Python 3" — https://dropbox.tech/application/incrementally-migrating-over-one-million-lines-of-code-from-python-2-to-python-3
Matt Novak, "Larry Ellison's Oracle Started As a CIA Project," Gizmodo, 2014 — https://gizmodo.com/larry-ellisons-oracle-started-as-a-cia-project-1636592238
Vicki Boykis, "Why is the Migration to Python 3 Taking So Long?," Stack Overflow Blog, 2019 — https://stackoverflow.blog/2019/11/14/why-is-the-migration-to-python-3-taking-so-long/
"Breaking the Snake: How Python Went from 2 to 3," Deus in Machina — https://www.deusinmachina.net/p/breaking-the-snake-how-python-went
ZDNet Korea, "파이썬 창시자 귀도 반 로섬, BDFL 사임," 2018 — https://zdnet.co.kr/view/?no=20180713105452
데일리안, "델포이 신탁, 신의 계시인가 인간의 통찰인가," 2017 — https://dailian.co.kr/news/view/450151