Featured image of post Python2は使ってはならない?サポート期間はいつまで?Python2廃止から学ぶべきこと

Python2は使ってはならない?サポート期間はいつまで?Python2廃止から学ぶべきこと

以下の記事が発表されました。

Python 2の廃止日が決定
Pythonの開発や管理などを手がけている非営利団体のPythonソフトウエア財団が、「Sunsetting Python 2」というタイトルの記事を公開した。sunsetを動詞で使うときは「廃止する」との意味になるが、少し文学的に表現すると「Python 2のたそがれ」という感じだろうか。

この記事では「We have decided that January 1, 2020, will be the day that we sunset Python 2.(私たちは2020年1月1日をPython 2の廃止日にすることを決定した)」と明言されている。2020年以降は、Python 2自体やPython 2で書かれたソフトウエアにたとえ致命的なセキュリティーの問題が見つかっても、基本的には修正されないという。

引用: https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00682/091100013/

Python2は廃止にされ、商用としてこれから使うにはもう選択出来ない状況となってくると思います。

僕たちはPython2廃止から何を学ぶべきなのでしょうか?

Python2の廃止概要

引用記事にも記載されていますが、2020年1月1日に廃止されるようですね。

プログラミングをやられている方には周知の事実ですが、

廃止されたからといって使えなくなる訳ではありません。既存のプログラムはそのまま動作させ続けることが出来ます。

しかし、今後重大な脆弱性等が発見されても対応されません。

ここが問題なのですね。

Python2を今後使いつづけるとどうなるか

重大な脆弱性が発見された時に、対応出来なくなります。

もちろんご自身が凄い技術力をもっていて、Python2のソースコードを解析し、パッチをあてることが可能なら良いのですが、技術力があったとしてもリソースの問題や脆弱性のウォッチなど難点が多く現実的ではありません。

結果Python2を使い続けていくとどうなるかというと、

脆弱性が放置され、最悪脆弱性をクラッカーに攻撃されシステムが乗っ取られてしまう危険性があります。

どういった対応が必要か?

シンプルな回答ですが、Python3にアップデートしましょう。

もしくは別言語で実装しましょう。

前者が比較的現実的な対応になるかと思います。

後者の別言語で実装するとなると、言語習得コストや言語固有のメソッドやライブラリにソースコードを置換するなど多大な労力がかかってしまいます。インフラの再構築もありますしね。

Python2が廃止されるまでにPython3にアップデートするようにしましょう。

以下ネットの反応

ネットでは以下の意見があるようです。

  • 今から始めるならPython3一択でしょう
    いまさら2はありえない
  • 研究とかしてる奴らプログラミングに無頓着だから
    クソコードを古いバージョンのまま継ぎ足すんだよなぁ
  • 2が入らないように慎重にすすめてもいつの間にか入ってるw
  • Rubyが早く人工知能に強くならないかな。
  • 数十年後、そこにはpython4への移行をせまられる3コードの群れが
  • まじかよrubyつかうわ

Python2廃止から何を学ぶべきか?

まず言語の選定方法を学べるかと思います。

言語はバージョンによってLTSなど定められていると思いますが、なるべくサポート期間が長い言語とバージョンを選定しましょう。

また、特定の言語によっては、ずっと下位バージョンとの互換性を保ち、どのバージョンも長期間サポートされているものがあったりします。言語はこういったものを選ぶというのも一つの手です。

過去の廃止履歴なども確認すると良いかもしれませんね。

最後に

Python2のメジャーバージョンアップデートによる事例をもとに、色々お話させていただきました。

もちろん、Pythonがダメとかそういった話ではなく、単なるこの事例から何を読み取れるのだろう?と考えた記事のアウトプットとなります。

ご参考になれば幸いです。

Built with Hugo
テーマ StackJimmy によって設計されています。