6/04/2021

Python 4.0が登場しない理由

TechRepublicより

オーウェン・ヒューズ

Pythonプログラミング言語の生みの親グイド・ヴァンロッサムとの質疑応答で、Python 2.0からPython 3.0への移行がトラブル続きだったことを受けて、「Python 4について真剣に語ることはほとんどタブー」だと述べました。

グイド・ヴァンロッサムは、Microsoft Reactorとのインタビューで、Pythonバージョン 4.0の可能性をほぼ否定しました。Image: Dan Stroud under the Creative Commons licence

Python 4.0に期待しないで下さい。人気のプログラミング言語の生みの親であるグイド・ヴァンロッサは、おそらく日の目を見ることはないだろうと述べています。

Microsoft Reactorとのインタビューで、ヴァンロッサムはPythonの将来とプログラミング言語にバージョン4.0が登場するかについて質問されました。

ヴァンロッサムは、彼とPythonのコア開発チームのメンバーは、Python 2からPython 3への移行の際、2008年にPython 3が最終的な形でデビューしたときに貴重な教訓を学んだため、Python 4のアイデアにまったく興奮していないと答えました。

「私はPython 4のアイデアに興奮していませんし、コア開発チームの誰も実際そうだと思います。おそらく4.0は存在しないでしょうし、少なくとも3.33まで番号を付け続けるでしょう」とビデオの質疑応答で語っています。

「Python 4は今のところ、コア開発チームで言及されるときはいつも、冗談のようなものです... 私たちはPython 3 vs 2から教訓を学んだので、Python 4について真剣に語ることはほとんどタブーなのです。」

Python 2.7.18は、2020年4月にリリースされたPython 2.7のライフサイクルにおける最後のリリースでした。ヴァンロッサムは、Python 3はPython 2との互換性がなく、Python 2をベースにしたソフトウェアライブラリの依存関係を作成していた開発者は、バージョン3.0にアップグレードできないと警告しました。

それは、何年にもわたって続いた、ゆっくりとした苦しい移行期間でしたが、ヴァンロッサムと開発チームは明らかにその再現を急いでいるわけではありません。

「Pythonはコア開発者たちが考えていた以上に成功していたので、Python 2から Python 3への移行をもっと意識してサポートするべきだったからです」とヴァンロッサムは言います。

「私たち自身の経験では、私たちは皆、Pythonプログラミングのアインシュタインのようなもので、寝ている間にPython 2からPython 3へコードを変換できるので、移行は比較的簡単だと考えていました。」

ヴァンロッサムはPython 4.0の可能性を完全に排除しませんでしたが、これはC言語との互換性に大きな変更が加えられた場合にのみ起こる可能性が高いと示唆しました。「もし、言語そのものを変更することなく、C拡張との大幅な非互換性があったとしたら、GIL[グローバル・インタプリタ・ロック]を取り除くことができたとしたら、これらのイベントのいずれかまたは両方が起こったとしたら、C拡張レベルでの互換性の問題のため、おそらく4.0と呼ぶことを余儀なくされるだろう」と彼は言いました。

しかし、10月にはPython 3.10のリリースが予定されており、3.11ではいくつかの大幅な速度の改善が予定されているため、ヴァンロッサムは、プログラミング言語の増分更新を可能な限り長くリリースすることに重点を置いていると強調しました。

「現在、厳密な年次リリースのスケジュールがあるため、[Python 3.10]の後は3.11になり、その次は3.12になります。3.99 までは、1桁追加する必要はありません。桁を増やすことは些細なことではありませんが、[バージョン] 3から4に移行するよりははるかにましです。

Pythonの高速化は、段階的に行われる予定です。3.11でいくつかの新しい速度が導入され、3.12と3.13でさらに高速化されます。」

Pythonの高速化は、Pythonのコア開発チームの主要な関心事であり、ヴァンロッサムは今年の言語サミットで、CPythonのパフォーマンスをバージョン3.11で2倍にすることを目指していると発表しました。

インタビューの中で、ヴァンロッサムはPython 3.8.8の実装であるPystonなどの外部プロジェクトによる言語の高速化の取り組みについても言及しました。Pystonは、Dropboxで開発され、その後オープンソース化されました。Pystonの作成者は最近、Pyston 2.2をリリースし、CPython 3.8.8に比べて30%のパフォーマンス向上を約束しています。

「Pythonの高速化が突然ニュースの表舞台に戻ってきたと言ってもいいでしょう。私のチームでは、この分野に何か貢献できればと思っています。なぜなら、私はその分野について何かを知っているからです」とヴァンロッサムは語っています。

「今は、Pythonのパフォーマンスを向上させることができることを証明するのに、約1年かかると感じています。3.11は3.10よりもはるかに速くなるでしょう。」

ヴァンロッサムは、他のプログラミング言語についての考えを述べ、C++のコードを改善するRustの能力を賞賛し、新しい「Pythonic」プログラミング言語の中で最も興味深いものの1つとしてGoを挙げました。

Pythonの生みの親である彼は、近年のPythonが、物事の方向性を決定づけるものとして、TypeScriptに注目し始めていることについても説明しました。「この6年か7年の間に、私たちはPythonにオプションの静的型付け(漸近的型付け(gradual typing)とも呼ばれる)を追加してきたことに気付いたかもしれません」と彼は言いました。

「あのプロジェクトを始めたとき、実はTypeScriptを知らなかったので、最初はTypeScriptに触発されたとは言えません... 今では、私たちは間違いなくTypeScriptを例として見ており、時には新しい機能を提案することもあります。ある機能が最初はTypescriptに欠けていて、ユーザの要求に基づいて追加され、大成功を収めたことを知っているからです。」

ヴァンロッサムは、 Pythonはまだこれらの成功例を再現する方法を模索している、と述べています。「アンダース・ヘルスバーグは本当に賢い人間です。TypeScriptは、Pythonがまだ理解するのを待っているようなことをいくつかやりました。」

「アンダースとの会話から、JavaScriptがいくつかの分野でPythonから学んだように、TypeScriptもPythonから学んでいるように思えます。」

Hacker News