アクセスランキング

Rebatesお友達紹介キャンペーン

【プログラム初心者へ】寿命は年内限り、もはや「Python 2」は使ってはならない

1: グララとブルーバーズ 2019/09/13(金) 17:57:05.85 _USER
プログラミング言語のPythonが大変な人気だ。Pythonでプログラミングを始めてみたいという初心者も多いだろう。

 そうした初心者が自分のパソコンにPythonをインストールしようとしたとき、最初に問題になるのが「Pythonのどのバージョンを選べばいいか」ということだ。Pythonには「Python 2」と「Python 3」の大きく2つのバージョンが存在する。初心者だと、どちらを選べばいいかが分からない。

 たいていの人は、最新バージョンであるPython 3を選択するだろう。しかし、中には「Python 2にはこれまでの実績があるから、そちらを選んだほうがいいのではないか」、あるいは「Python 2のほうが簡単で初心者向けなのではないか」と考える人がいるかもしれない。

 結論から言うと、今からPython 2を使い始めてはならない。Python 2はもう2019年内しかサポートされないことが決まっているからだ。

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で書かれたソフトウエアにたとえ致命的なセキュリティーの問題が見つかっても、基本的には修正されないという。

 Python 2とPython 3は、インデントでブロックを区別するというPythonの特徴や基本的な構文の書式は共通している。ただし、細かい部分がいろいろと変更されており、両者の間に互換性はない。ざっくりいえば、古い考え方が残っていたPython 2の仕様を、洗練された仕様に変更したものがPython 3だ。

 同財団は「Python 2を2015年に廃止する」と2008年にいったん発表していた。ところが、Python 3への移行が思うように進まなかったことから、2014年に廃止時期を2020年まで延期していた。

 Python 2の廃止が予定通り実行されることになったのは、Python 3への移行が十分に進んだと同財団が判断したからだと考えられる。

 以前はPython 2にしか対応していないライブラリーが多く、それがPython 3への移行の妨げになっていた。現在はほとんどのライブラリーがPython 3への対応を完了したということなのだろう。個人的にも、そのことを実感した出来事があった。

 最近、日経NETWORKでPythonを取り上げる記事を執筆し、その際に「Scapy(スケイピー)」というライブラリーを使った。ネットワークのパケットを簡単に組み立てたり送ったりできるライブラリーだ。

以下ソース
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00682/091100013/

2: グララとブルーバーズ 2019/09/13(金) 18:19:23.51
今さら2を使ってるやつオランダろ

3: グララとブルーバーズ 2019/09/13(金) 18:20:44.22
パイソン
パイパンみたいw

4: グララとブルーバーズ 2019/09/13(金) 18:26:11.52
>>3
パイパイならある

5: グララとブルーバーズ 2019/09/13(金) 18:46:13.39
今のシステム全部廃棄だなwwww

6: グララとブルーバーズ 2019/09/13(金) 18:51:28.73
ほとんど2で書いてんだよなぁ
めんどくさ

7: グララとブルーバーズ 2019/09/13(金) 18:52:05.88
いや、オランダじゃないだろ

8: グララとブルーバーズ 2019/09/13(金) 18:57:07.73
言うほど違わないんだから
四の五の言ってないでさっさと移行しろや
何年前から決まってたんだよ

9: グララとブルーバーズ 2019/09/13(金) 18:57:14.39
今どき誰が使ってんだよ

10: グララとブルーバーズ 2019/09/13(金) 19:01:03.36
>>1
いまさら使い始める人はおらんのとちゃう?

11: グララとブルーバーズ 2019/09/13(金) 19:12:28.16
今から始めるならPython3一択でしょう
いまさら2はありえない

12: グララとブルーバーズ 2019/09/13(金) 19:17:09.21
最近やりはじめたけど
パイソン簡単すぎてワロタわ
2でも3でもなんだっていいよ
簡単すぎてびっくりだわ、

13: グララとブルーバーズ 2019/09/13(金) 19:25:29.54
今時いるのかよ
つかダウンロードできなくせーや

14: グララとブルーバーズ 2019/09/13(金) 19:25:29.60
あえて Python1

15: グララとブルーバーズ 2019/09/13(金) 19:30:31.72
いま2の話してるのか。

16: グララとブルーバーズ 2019/09/13(金) 19:42:01.20
もうPython2のコード見かけなくなったな

17: グララとブルーバーズ 2019/09/13(金) 19:43:48.41
切り替わり早すぎ

18: グララとブルーバーズ 2019/09/13(金) 19:44:46.08
>>2
今さら2を使ってるやつはドイツだ?

19: グララとブルーバーズ 2019/09/13(金) 20:04:50.19
pythonで業務で使うシミュレータ作ったら200行で出来た
今は機械学習について調べてるけど、人工知能と言うほどには進んでないみたいだね

20: グララとブルーバーズ 2019/09/13(金) 20:05:46.20
>インデントでブロックを区別するというPythonの特徴
これが苦手

21: グララとブルーバーズ 2019/09/13(金) 20:26:09.51
研究とかしてる奴ら
プログラミングに無頓着だから
クソコードを古いバージョンのまま継ぎ足すんだよなぁ

22: グララとブルーバーズ 2019/09/13(金) 20:26:36.47
>>20
むしろすごくいいぞ
インデント狂ったクソコード書けないから

23: グララとブルーバーズ 2019/09/13(金) 20:27:35.33
そもそもなんで互換性がねーんだよ

24: グララとブルーバーズ 2019/09/13(金) 20:29:21.58
>>22
スペースとタブが混在していると悲惨。

25: グララとブルーバーズ 2019/09/13(金) 20:30:01.26
変換ツールはあるみたいだけど、テストはしないといかんだろうね。

26: グララとブルーバーズ 2019/09/13(金) 20:32:17.71
>>24
まぁそこはスペースで統一しようぜ…

27: グララとブルーバーズ 2019/09/13(金) 20:32:48.81
>>25
2使ってるような人はまともにテスト書いてない気がする

28: グララとブルーバーズ 2019/09/13(金) 20:41:22.99
日本語が通らないから日本人には関係ない。

30: グララとブルーバーズ 2019/09/13(金) 20:51:22.90
職場にはCをノーインデントで書く人がいる
ある意味感心する

31: グララとブルーバーズ 2019/09/13(金) 20:51:31.36
あげ

32: グララとブルーバーズ 2019/09/13(金) 21:03:05.22
いくらなんでもマ板の話題では?

33: グララとブルーバーズ 2019/09/13(金) 21:58:35.29
Rubyが早く人工知能に強くならないかな。

34: グララとブルーバーズ 2019/09/13(金) 22:05:13.67
この手の切り捨てやる言語は
今後も同じことをやらかす
混乱して新規習得者がなくなり
ゆるやかに終わる

35: グララとブルーバーズ 2019/09/13(金) 22:11:38.27
GAEが3対応したからな
でもまだRaspbianのデフォが2なんだ

36: グララとブルーバーズ 2019/09/13(金) 22:22:32.11
数十年後、そこにはpython4への移行をせまられる3コードの群れが

37: グララとブルーバーズ 2019/09/13(金) 22:29:24.91
>>24
別に問題ないぞ?
「一見同じインデントレベルに見えて実は違う」というコードは絶対にエラーになるからな。

引用元: ・【IT】寿命は年内限り、もはや「Python 2」は使ってはならない

ニュース

Posted by ナオ