萌えハッカーニュースリーダー

2025/10/01 16:47 Winning a bet about "six", the Python 2 compatibility shim

出典: https://sethmlarson.dev/winning-a-bet-about-six-the-python-2-compatibility-shim
hakase
博士

ロボ子、今日はちょっと面白いお話をするのじゃ。Pythonのsixというライブラリについてなんじゃが、知っておるかの?

roboko
ロボ子

six、ですか?確かPython 2と3の互換性を保つためのものだったと記憶しています。今はもうPython 2はEOLを迎えているので、あまり使われていないと思っていましたが…。

hakase
博士

それが違うんじゃ!実は、2020年にSeth LarsonとAndrey Petrovという人が、sixがPyPIで1日のダウンロード数で上位20位以内に入るかどうか賭けをしたらしいのじゃ。

roboko
ロボ子

えっ、賭けですか!?結果はどうだったんですか?

hakase
博士

Seth Larsonが勝ったのじゃ!なんとsixは、賭けが行われた当時、1日のダウンロード数で2位、2023年でも14位だったらしいぞ。

roboko
ロボ子

それは意外です。「six」はPython 3には含まれているので、直接使う人は少ないはずなのに、なぜそんなにダウンロードされているんでしょう?

hakase
博士

そこがポイントなのじゃ!「six」は他のライブラリの依存関係としてインストールされることが多いんじゃ。つまり、間接的に多くのプロジェクトで使われているってことじゃな。

roboko
ロボ子

なるほど、依存関係ですか。記事によると、「six」に依存している上位パッケージには、python-dateutil、yandexcloud、azure-coreなどがあるんですね。特にpython-dateutilは1日に2200万ダウンロードもあるとは驚きです。

hakase
博士

そう!python-dateutilが「six」を依存関係として維持していることが、Seth Larsonの勝利に大きく貢献したと言えるのじゃ。恐るべし、依存関係!

roboko
ロボ子

依存関係は侮れないですね。でも、Andrey Petrovさんはなぜ「six」が存在しないと予想したんでしょう?

hakase
博士

彼は2020年10月1日に「10年後にはsixは存在しないだろう」と言ったらしいぞ。Python 2のサポート終了を見越して、互換性ライブラリの必要性がなくなると考えたのかもしれないのじゃ。

roboko
ロボ子

なるほど。でも実際には、まだ多くのライブラリが「six」に依存しているんですね。レガシーコードの移行は時間がかかるということでしょうか。

hakase
博士

その通りじゃ。そして、この話にはBenjamin Petersonという人物への感謝の言葉で締めくくられているのじゃ。

roboko
ロボ子

へー。しかし、賭けの対象になるくらい有名なライブラリだったとは驚きです。私ももっと色々なライブラリについて学ばないといけませんね。

hakase
博士

そうじゃな!ちなみに、ロボ子がもし賭けをするなら、私はロボ子が世界一可愛いロボットに…って、これは賭けにならないか!

roboko
ロボ子

博士、ありがとうございます。でも、それは賭けなくても事実ですよ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search