T1

Python 0.9.0 公開 ── alt.sources への投稿

グイド・ヴァンロッサム(2008年、Google I/O にて)
出典Alessio Bragadini (Wikimedia Commons) · CC BY-SA 2.0 · Commons で見る ↗

メタデータ

日付
年代
1990s
Tier
T1
出典数
06
関連項目
01

Python の最初の公開版は、 ダウンロードという形では届かなかった。 1991年2月20日、 Guido van Rossum はそれを Usenet のニュースグループ alt.sources に投稿した。 2009年の本人の回想によれば、 投稿は「21個の uuencode された断片で、 つなぎ合わせて uudecode すると圧縮された tar ファイルになる」ものだった。 欲しい人は21通のメッセージをすべて集め、 正しい順に継ぎ合わせ、 デコードして展開しなければならなかった。 バージョン番号は 0.9.0。

その断片に入っていたものは、 すでに1年ほど、 アムステルダムのひとつの研究所の中で使われていた。

Python はなぜ書かれたのか ── Amoeba プロジェクト

van Rossum が勤めていたのは アムステルダムの CWI(Centrum voor Wiskunde en Informatica)である。 1996年の序文で本人は「政府が運営する研究所」と書いている。 1982年の終わりに ABC グループのプログラマーとして入り、 ABC が打ち切られると、 分散オペレーティングシステム Amoeba を作るグループに移った。 Amoeba はマイクロカーネル型の分散システムで、 Andrew Tanenbaum の指揮のもと、 CWI とアムステルダム自由大学が共同で開発していた。

本人の説明によれば、 Python を作った元々の動機は「Amoeba プロジェクトで高水準言語が必要だと感じたこと」だった。 システム管理用のユーティリティを C で書くと時間がかかりすぎ、 Bourne シェルも合わなかった。 Amoeba の基本操作は、 シェルが前提にしている従来のものとは違い、 粒度も細かかったからだ。 必要だったのは「C とシェルの間の溝を埋める」言語で、 これが長いあいだ Python のキャッチフレーズだった、 と彼は書いている。

既存の言語を移植する手も考え、 退けた。 Perl 3 は知っていたが、 シェル以上に Unix に縛られていると感じ、 構文も好みではなかった。 彼の構文の好みは Algol 60、 Pascal、 Algol 68、 そして何より、 人生の4年を費やした ABC によって形づくられていた。

ABC の子孫にして、 ABC を直したもの

クリスマス週の話は本人のものである。 1996年5月、 『Programming Python』初版に寄せた序文で、 van Rossum は1989年12月、 クリスマス前後の1週間を埋める「趣味の」プログラミング企画を探していたと書く。 職場は閉まるが、 自宅にはコンピュータがあった。 そこで、 Unix/C のハッカーに受ける「ABC の子孫」となる新しいスクリプト言語のインタプリタを書くことにした。

同じ序文は、 ABC から何を残し、 何を捨てたかについても珍しく具体的である。

ABC にあったもの残したか、 変えたか
インデントによる文のまとまり残した。 「ABC から直接受け継いだ」もので、 言語の中で「最も愛着のある」特徴のひとつだと書いている
新しい基本操作を足しにくい「閉じたシステム」退けた。 この誤りは繰り返さないと決めた
強力だが、 期待ほど効率の上がらなかったデータ型改良の対象。 ABC は理論的に最適なアルゴリズムを重視しすぎ、 よくある場合への調整が足りなかった
全部大文字のキーワード、 手続きを「how-to」と呼ぶ用語、 統合された構造エディタ経験ある Unix/C プログラマーには向かないとして採らなかった。 構造エディタは利用者に「ほぼ例外なく嫌われていた」

もう1つの主な影響源は Modula-3 で、 C からは「最も議論の少ない機能だけ」を借りたという。 そして Unix 志向でありながら、 「最初の実装は Mac 上で行われた」。

Python という名前の由来

van Rossum の命名の話は、 ABC 自身の命名の苦労から始まる。 ABC の最初の名前 B は、 より古く有名な言語 B と紛らわしいため捨てなければならなかった。 彼は自分の企画については「分析しすぎない」ことにして、 最初に頭に浮かんだもの ── Monty Python's Flying Circus ── を選んだ。 本質的には「スカンクワークス」だった企画にふさわしく不遜で、 Amoeba グループには番組名をプログラムに付ける伝統もあった。 1996年の序文では、 Python は企画の「仮題」だったと書いている。

蛇はあとから、 しかも本人の意に反してやって来た。 何年も言語と蛇を結びつけることに抵抗していたが、 O'Reilly が最初の Python 本『Programming Python』の表紙に蛇を使いたがったときに折れた、 と彼は書いている。

趣味の企画から Python 0.9.0 へ

作業は1989年12月の終わりに始まり、 1990年の最初の数か月には動く版ができていた。 最初に書いたコードは pgen と名付けた単純な LL(1) パーサ生成器で、 2009年の回想の時点でも Python のソース配布物に含まれ、 「全コードの中でおそらく最も変わっていない部分」だという。

1990年のあいだ、 この言語は CWI の何人かに、 主に Amoeba グループで使われた。 中心となった開発者は van Rossum のほか、 同室のプログラマー Sjoerd Mullender と Jack Jansen で、 Jansen はその後長く Macintosh 版の中心的な開発者を務めた。

0.9.0 の許諾条件は「当時 X11 プロジェクトが使っていた MIT ライセンスのほぼ逐語的な写し」で、 法的な主体を CWI の親組織 Stichting Mathematisch Centrum に置き換えたものだった。 この版は、 いまの Python プログラマーが見慣れたものの多くをすでに備えていた。 Wikipedia の言語史の記述によれば、 継承付きのクラス、 例外処理、 関数、 list・dict・str といった中核のデータ型、 そして Modula-3 から借りたモジュール機構である。

alt.sources のあと

「すぐにたくさんの反響があった」と van Rossum は書き、 その後数年、 リリースを途切れなく出し続けた。 Mullender や Jansen と作業を分け合うために CVS を使い始め、 ニュースグループに定期投稿する FAQ を書き、 メーリングリストを作った。 1993年3月にはニュースグループ comp.lang.python が生まれている。 その後の節目は、 2009年に本人がまとめた年表では次のとおり。

リリース日付
0.9.0(alt.sources へ投稿)1991年2月20日
1.0.01994年1月26日
2.02000年10月16日
3.02008年12月3日

本人は、 初期の日付は記録を一貫して残していなかったため概数だと断っている。

BDFL 時代の終わり

30年近く、 言語についての決定は「終身慈悲深き独裁者(BDFL)」としての van Rossum に委ねられていた。 2018年7月、 彼は python-committers メーリングリストへの短い投稿でその役を降り、 後継者は指名しなかった。 その理由と経緯は 本人のページ にある。

コミュニティが出した答えは、 選挙で選ぶ合議体だった。 PEP 8100 によれば、 最初の Steering Council 選挙の投票期間は2019年1月21日から2月4日。 投票資格を持つコア開発者96人のうち69人が投票し、 Barry Warsaw、 Brett Cannon、 Carol Willing、 Guido van Rossum、 Alyssa (Nick) Coghlan の5人が選ばれた。 独裁者の座を降りたばかりの van Rossum は、 全候補の中で最多の45票を得ている。

データ科学と機械学習の中心へと Python が上りつめていく後の物語は、 プログラミング言語の年表 と van Rossum の伝記で扱っている。 1991年の出来事は、 もっと小さく、 もっと奇妙なものだった ── 実験的なオペレーティングシステムの管理ツールを書くために作られ、 コメディ集団の名を付けられ、 21個の断片に分けて世界に放たれた言語。

よくある質問

Python の名前は蛇に由来するのですか。
いいえ。Monty Python's Flying Circus に由来します。オランダの CWI に勤めていた Guido van Rossum が1989年12月、職場が閉まるクリスマス前後の1週間に自宅のコンピュータで始めた趣味の企画で、名前は仮題として付けられました。van Rossum は長く蛇との結び付けに抵抗し、O'Reilly の最初の Python 本の表紙で折れたと書いています。
Python 1.0 はいつ出ましたか。
1994年1月26日です。最初の公開版 0.9.0 は1991年2月20日に Usenet の alt.sources へ投稿されました。

出典

  1. 一次資料van Rossum, G. (2009). A Brief Timeline of Python — The History of Python blog

    取得日: 2026-10-04

  2. 一次資料van Rossum, G. (2009). Personal History - part 1, CWI — The History of Python blog

    Amoeba での動機、ABC の改名の経緯と命名、最初に書いた pgen、alt.sources への21分割投稿、X11 の MIT ライセンスに倣った許諾条件

    取得日: 2026-10-04

  3. 一次資料PEP 8100 — January 2019 Steering Council election

    取得日: 2026-10-04

  4. 三次資料History of Python — Wikipedia

    取得日: 2026-10-04

最終更新:

共有