Guido van Rossum이 전하는 Python의 구두 역사: Thomas Wouters 인터뷰
(gvanrossum.github.io)한글 번역본은 여기 를 참조하세요.
이제 귀도도 나이가 있으니 회고록 같은 느낌이네요.
계속 씨리즈가 나올 것 같습니다.
파이썬 커뮤니티 초기 역사: Thomas Wouters 인터뷰 요약
이 문서는 Guido van Rossum이 2015년 이전 파이썬 초기 커뮤니티 기여자들의 기록을 남기기 위해 Thomas Wouters와 진행한 인터뷰의 요약본입니다.
1. 파이썬 입문 배경
- Thomas Wouters는 1990년대 초반 파이썬과 유사한 객체 모델을 가진 텍스트 기반 다중 사용자 환경인 LambdaMOO를 통해 프로그래밍을 시작했습니다.
- 1998~1999년경 지인의 추천으로 파이썬을 처음 접했으며, 직관적이고 자신의 사고방식과 잘 맞는 언어 구조에 매료되어 Usenet의 Python-List 커뮤니티 활동을 시작했습니다.
2. 파이썬 코어 개발 주요 기여
-
복합 할당 연산자 (
+=,-=등): Michael Hudson의 초기 증명(Proof of Concept) 패치를 이어받아 완성했습니다. 이는 파이썬 2.0에 포함되었으며(PEP 203), 튜플 내부의 리스트 변경 시 발생하는 예외 등 설계적 엣지 케이스에 대한 심도 있는 논의가 있었습니다. -
Range 리터럴 제안:
[start:end]와 같은 형태의 Range 리터럴 문법을 제안했습니다. 리스트로 오인될 수 있는 구문적 혼란과 최적화의 한계로 인해 최종 반려되었으나, 그는 이 아이디어를 구체화하고 논의하는 과정 자체를 긍정적으로 평가했습니다.
3. 언어 기능 및 릴리스 프로세스의 진화
-
중첩 스코프(Nested Scopes)와
__future__모듈: Jeremy Hylton이 중첩 스코프를 도입할 당시, 기존 코드의 하위 호환성 파괴 문제로 긴 논쟁이 있었습니다. 이 논쟁을 해결하는 과정에서 Tim Peters가from __future__ import ...방식을 제안하여 도입하게 되었습니다. - 릴리스 정책의 변화: 초기에는 마이너 릴리스에서도 호환성을 깨는 기능 추가가 빈번했으나, Steve Holden 등의 비판을 수용하여 18개월 릴리스 주기를 도입했습니다. 이는 현재의 1년 단위 릴리스 주기로 발전하는 기반이 되었습니다.
4. 초기 커뮤니티 주요 인물 및 프로젝트
- Frederik Lundh (Effbot): 정규표현식 엔진, Tkinter, XML(ElementTree) 모듈의 핵심 기여자로 활동했습니다.
-
Twisted 팀: 현재의
asyncio이전에 콜백 및Deferred개념을 활용하여 비동기 프로그래밍의 기반을 다졌습니다. - 기타 인물: Tim Peters, Jeremy Hylton, Marc-André Lemburg(유니코드 기여) 등 초기 코어 개발자들의 활동이 언급되었습니다.
5. 개인적 배경 및 PSF(Python Software Foundation)의 설립
- 학력 및 경력: Thomas Wouters는 고등학교를 중퇴했으나, 실력을 중시하던 당시 IT 업계의 특성 덕분에 XS4ALL, Google 등에서 성공적인 커리어를 구축했습니다.
- PSF 이사회 선거: 2001년 제1회 국제 파이썬 콘퍼런스(IPC)에서 PSF가 공식 출범했습니다. 이사회 선거 당시 Thomas Wouters와 Eric Raymond가 동점을 기록했고, 재투표 끝에 Thomas가 당선된 일화가 있습니다.
- 초기 PyCon과 비영리 단체 승인: PSF는 501(c)(3) 비영리 단체 지위를 유지하기 위해 다수의 후원사를 모으는 등 재정 및 행정적 어려움을 겪었습니다. 이후 George Washington University에서 개최된 첫 번째 PyCon은 제한된 예산과 인력 속에서 식사 및 등록 시스템 등의 시행착오를 겪으며 치러졌습니다.