Guido van Rossumが語るPythonのオーラルヒストリー: Thomas Woutersインタビュー
(gvanrossum.github.io)韓国語訳はこちらを参照してください。
Guidoももう年齢を重ねているので、回顧録のような雰囲気ですね。
このシリーズは今後も続きそうです。
Pythonコミュニティ初期の歴史: Thomas Woutersインタビュー要約
この文書は、Guido van Rossumが2015年以前のPython初期コミュニティ貢献者たちの記録を残すために、Thomas Woutersと行ったインタビューの要約です。
1. Python入門の背景
- Thomas Woutersは、1990年代初頭に、Pythonに似たオブジェクトモデルを持つテキストベースの多人数ユーザー環境であるLambdaMOOを通じてプログラミングを始めました。
- 1998〜1999年ごろ、知人の勧めでPythonに初めて触れ、直感的で自分の思考様式によく合う言語構造に惹かれて、UsenetのPython-Listコミュニティで活動を始めました。
2. Pythonコア開発における主な貢献
- 複合代入演算子 (
+=,-=など): Michael Hudsonの初期Proof of Conceptパッチを引き継いで完成させました。これはPython 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(Unicodeへの貢献)など、初期コア開発者たちの活動にも触れられました。
5. 個人的背景とPSF(Python Software Foundation)の設立
- 学歴と経歴: Thomas Woutersは高校を中退しましたが、実力重視だった当時のIT業界の特性もあり、XS4ALL、Googleなどで成功したキャリアを築きました。
- PSF理事会選挙: 2001年の第1回International Python Conference(IPC)でPSFが正式に発足しました。理事会選挙ではThomas WoutersとEric Raymondが同票となり、再投票の末にThomasが当選したという逸話があります。
- 初期PyConと非営利団体認可: PSFは501(c)(3)の非営利団体資格を維持するために多数のスポンサーを集めるなど、財政面・運営面で苦労しました。その後、George Washington Universityで開催された最初のPyConは、限られた予算と人員の中で、食事や登録システムなど試行錯誤を重ねながら実施されました。
まだコメントはありません。