なぜ機械学習にPythonが選ばれるのか

# はじめに
日本ではWeb系のLL言語としてはPHP・Perl・Rubyが強く、Pythonは海外では普及しているが日本ではマイナーな言語である。Google AppEngineの開始当初(2008年4月)にPythonをサポートしていた際には、なんでPythonなんだろうと軽く調べ、教育用として海外では普及しているという認識だった。

2012年～2013年頃にデータサイエンスがバズワードとなり機械学習する上でR言語と次点でPythonという感じだったと思う。そして昨今は人工知能ブームということでTensorFlowやChainerといったPythonのフレームワークが公開されたことで、Python一色になってきている。

※タイトルは科学技術計算より世間的に馴染みがある機械学習にしました。

# 科学計算や機械学習にはPython
特に科学計算分野ではPythonコミュニティが非常に活発で、機械学習など新しい技術は真っ先にPythonで実装されるようになっている。
なぜ、この分野が強くなったのか疑問を持ち「科学計算|機械学習 Python なぜ」検索してみると下記上位2サイト(どちらも著者は同じ:原作は海外の方)が見つけられる。

* [科学計算における均質化、あるいはなぜPythonが着実に他言語のシェアを奪っているか](http://chezou.hatenablog.com/entry/20140118/1389978078)
* [なぜ科学計算にはPythonか？](http://www.slideshare.net/chezou/python-forsc)
* [Pythonや機械学習、そして言語の競争について – 極めて主観的な見地から](http://postd.cc/python-machine-learning-and-language-wars-a-highly-subjective-point-of-view/)
* [Deep learning はなぜ pythonで実装されることが多いのですか？ - teratail](https://teratail.com/questions/33373)

「なぜ科学計算にはPythonか？」の一部から引用すると
>要約すると エコシステムが充実&加速
>>Rで出来たことがpandas, statsmodelでかなり できるようになった(著者は無くて困らない) 
>>機械学習もscikit-learnで楽に
>
>言語間のデータのやり取りの必要がなくなるメ リットが大きい 

# 科学/エンジニアリングコミュニティから早期に注目
前述では機能面によるものであったが、私としては何故このように科学計算分野のライブラリが作成され強化されるように至ったのかを知りたくなり歴史から調べてみました。年表は長くなったので後方に記載。

RubyがRailsにより注目されたように、Pythonでは当初数値コンピューティング用に設計されたものではなかったが、リストの概念や関数型言語の基本機能を実装したこと、Jim Fulton氏(元ZOPE社CTO)が多次元配列・行列ライブラリ「Matrix Object in Python」を開発したことで、早い段階(Python 1.0(1994年)から1年後)で科学/エンジニアリングコミュニティに注目され「Matrix-SIG」が設立、後の「NumPy」が紆余曲折(Numeric(1995年)とNumArray(2001)を統合)を経て2005年にリリースされた。また幾つかの科学計算用ライブラリをパッケージ化した「SciPy」が2001年にTravis Oliphant氏らによりリリースされた。
その後はEnthought社が2001年に米国で設立され、SciPyをベースにツールやパッケージやサポートを提供、また科学技術計算向けの「SciPy Conference」と呼ばれる会議の開催を支援して行く。

参照：[Travis E. Oliphant, "NumPy and SciPy: History and Ideas for the Future" - SlideShare](http://www.slideshare.net/shoheihido/sci-pyhistory)

# コミュニティと民間企業のサポート
「[科学技術計算のためのPython入門](http://amzn.to/2lCZXt8)」の本の第1章「科学技術計算とPython」に「なぜ Python が使われるのか？」についての記載があるとのことKindleで購入。
Pythonが、科学技術計算で使われるようになるであろう理由のもう一つに着目した。

>オープンソースプロジェクトは開発リソース(おもにマンパワー)が限られ、開発の中心メンバーが何らかの理由で参加しなくなった場合、一気にそのプロジェクトが衰退する場合があるが、特に科学技術計算関係のパッケージについては民間企業が本格的にサポートとしており、オープンソースソフトウェアとして公開する体制が整っている。

民間企業の代表的なのが、Enthought社とContinuum Analytics社である。
Enthought社は科学技術計算用パッケージ群「Scipy Stack」を提供し、科学技術計算向けの「SciPy Conference」と呼ばれる会議の開催を支援している。Continuum Analytics社はPythonディストリビューション「Anaconda」を提供し、データ分析向けの「Py Data」と呼ばれる会議の開催を支援している。
また、GoogleもPython作者のGuido van Rossum氏を2005年に雇用したり、「[Google Summer of Code](https://ja.wikipedia.org/wiki/Google_Summer_of_Code)」というオープンソースの開発に資金を提供するプロジェクトを2005年に作成し、機械学習ライブラリの「scikit-learn」や多変量回帰分析・時系列分析ライブラリ「statsmodels」がリリースされています。

# キーマン
科学技術計算分野のキーマンは、「SciPy」と「NumPy」の作者でもあるTravis Oliphant氏であろう。Oliphant氏は、2001年から2007年にかけてBrigham Young University(BYU)の電気・コンピュータ工学の助教授を務め、BYU生物医学イメージングラボを指導し、スキャン・インピーダンス・イメージングに関する研究を行っていました。
その後、前述したEnthought社の社長を2007年から2011年まで務め、2012年1月にContinuum Analytics社を設立しました。

# R言語との差について
主観的な観点ですが科学計算や機械学習の分野においてはPythonとR言語が二大勢力で、その分野に特化したR言語の方がパッケージが充実しており、Pythonの同分野のパッケージと比べると、機能が少なかったり細かいところに手がとどかなかったりとイマイチでR言語が明らかに有利な点もありましたが、ここ数年でかなり安定しその差は急速に縮まってきています。

統計屋や数理屋が使うようなマニアックな統計処理や多変量解析のライブラリはR言語の方がまだ充実しているのでしょうが、普通のプログラマや非エンジニアがデータ解析に使う分には、Pythonで事足りるようになってきているのだと思います。

代替パッケージを挙げてみます。

|R|Python|内容|
|:--|:--|:--|
|dplyr/tidyr|[pandas](http://pandas.pydata.org/)|データ解析ライブラリ|
|ggplot2|[Seaborn(シーボーン)](http://seaborn.pydata.org/),[bokeh](http://bokeh.pydata.org/en/latest/)|可視化ライブラリ|
|RStudio|[Rodeo(ロデオ)](https://www.yhat.com/products/rodeo)|統合開発環境(IDE)|

# 教育言語として
Pythonは「同じインデントレベルの文は同じ塊」というルールを採用しており、見掛け上のPythonプログラムの最大の特徴となっています。

Python作者のGuido van Rossum氏(オランダ人でアムステルダム大学卒)はPythonを開発する以前に、オランダで教育向けの「[ABC言語](https://ja.wikipedia.org/wiki/ABC_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E))」の開発に関わっており、Python自体はRAD(迅速なアプリケーション開発)がメインで教育用を念頭に開発してはいなかったものの、ルーツとなったABC言語では文法に関してさまざまな研究が行われ、インデントを使うのが初心者にとってもっとも間違いにくいブロックの表現として採用していたのです。([Donald Knuth](https://ja.wikipedia.org/wiki/%E3%83%89%E3%83%8A%E3%83%AB%E3%83%89%E3%83%BB%E3%82%AF%E3%83%8C%E3%83%BC%E3%82%B9)氏が推進していた。)

* [Rubyist のための他言語探訪 【第 1 回】 Python](http://magazine.rubyist.net/?0008-Legwork)
* [Pythonがプログラミングの学習に向いているたった一つの理由](http://coreblog.org/ats/the-best-reason-why-python-is-good-for-lerning-programming/)
* [From ABC to Python](http://python-history.blogspot.jp/2009/02/early-language-design-and-development.html)
* [Python(パイソン)言語の由来](https://freelance.techcareer.jp/skills/40/articles/550/)
 

2014年７月の記事「[Pythonが大学の入門用プログラミング言語として人気を集めていると判明](http://gigazine.net/news/20140715-python-most-popular-language/)」ですが、「アメリカのコンピュータサイエンス教育のトップ39大学で教えられている言語」はPythonがトップになっています。アメリカの大学辺りではプログラミング初等教育用言語として導入されているケースが増えてるとのこと。

Pythonはオブジェクト指向言語として利用できるが、無理してオブジェクト指向設計を行う必要はない。敷居が少しでも低いことは重要である。

【2018/01/07追記】
>石本）pandasもかなり最近。Fortranの代わりに使うための行列演算のパッケージというのは昔からあった。歴史的にも、Guido *3がNumPyはひいきにする傾向があって。(中略)
佐藤）なぜNumPyを気に入ってるんですかね。
石本）Pythonのユースケースとして。科学技術計算用にPythonを学校などで使ってほしいという狙いですね。
佐藤）それは当たりましたね。なぜPythonは科学技術計算のほうで強いのかという理由はよく知らなかったですね。
[【その3】Pythonがなぜデータ分野で強いのか？の真実 〜 Pythonエンジニア列伝 Vol.3 石本敦夫氏](http://blog.pyq.jp/entry/lives_of_engineer_003_3)

# CG世界のスクリプト言語として
Pythonは統合3DCGソフト(Maya,Blender,LightWave等)ではデファクトスタンダードのスクリプト言語となっています。
また、ドローソフト「Inkscape」や画像処理ソフト「Paint Shop Pro」でも使われています。

# オランダ生まれ
日本は江戸時代に鎖国していたが、長崎の出島に限ってオランダは出入りを許されていました。これは、キリスト教がプロテスタント系のオランダ人は、目的は貿易だけであり、カトリック系と違いキリスト教布教には一切関わらない方針だったためと言われています。蘭方医学や自然科学や芸術の面では洋風画など、日本に影響をもたらせてくれました。

世界がPython使ってる時に、日本ではPerl主流となりその後もPythonへ流れる事もなくJAVA,PHPへ行きました。
オランダ生まれのPythonを日本が受け入れる時期が来たのかも知れません。なんてね！

# 最後に
今はR言語からPythonに置き換わりつつあり、日本国内でも普及期に入ってきています。世間では人工知能が騒がれており、この分野の市場がこれ以上縮小しようがないでしょう。
私自身は目的を果たせるなら、プログラム言語は何でもいいと思っています。Pythonとて、いずれJuliaに置き換わる可能性もありえます。今でもPythonのライブラリ群の一部ではC++等で作られ、他の言語でも利用が可能となっているのだから。

Ruby作者のまつもとゆきひろ氏が「言語の人気が運によるというのはほんとにそう思う」とつぶやいたように、言語それ自体の優劣よりやはり「運」と言えるようなものに引っ張られるということは大いにあるでしょう。

# 年表
年表は大まかです。

|年|出来事|
|:--|:--|
|1960|Python作者の[グイド・ヴァン・ロッサム(Guido van Rossum)](https://ja.wikipedia.org/wiki/%E3%82%B0%E3%82%A4%E3%83%89%E3%83%BB%E3%83%B4%E3%82%A1%E3%83%B3%E3%83%AD%E3%83%83%E3%82%B5%E3%83%A0)氏がオランダで誕生。|
|1979|Guido van Rossum氏が最初に触れたコンピュータは「AppleⅡ」。当時のお気に入りのゲームの一つがアドベンチャーゲーム「[Colossal Cave](https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%89%E3%83%99%E3%83%B3%E3%83%81%E3%83%A3%E3%83%BC%E3%82%B2%E3%83%BC%E3%83%A0)」であった。|
|1982|Guido van Rossum氏がアムステルダム大学で数学・計算機科学の修士号を取得。卒業後にオランダの国立情報工学・数学研究所（CWI）へ入所し、教育向けの「[ABC言語](https://ja.wikipedia.org/wiki/ABC_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E))」の開発プロジェクトに参加、その後はいくつかの研究機関に所属。|
|1987|ラリー・ウォール(LarryWall)氏がプログラム言語の「[Perl 1.0](https://ja.wikipedia.org/wiki/Perl)」を12月にリリース。|
|1989|Guido van Rossum氏が「[Amoeba](https://ja.wikipedia.org/wiki/Amoeba_(%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0))」という分散オペレーティングシステムのシステム管理を行う目的もありクリスマス前後の週の暇つぶしのためPythonの開発に着手。名前は[空飛ぶモンティ・パイソン](https://ja.wikipedia.org/wiki/%E7%A9%BA%E9%A3%9B%E3%81%B6%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%BB%E3%83%91%E3%82%A4%E3%82%BD%E3%83%B3)から。しかし、オライリーの表紙は伝統的に動物のため、蛇(Pythonの意味はニシキヘビ)のイラストが使用される。[蛇との結びつけに抵抗があった](http://python-history-jp.blogspot.jp/2009/04/guido-cwi.html)が受け入れた。|
|1990|AmoebaプロジェクトでPythonが使用され、同僚からのフィードバックにより多くの初期の改善点が追加されました。|
| |純粋関数型プログラミング言語「[Haskell 1.0](https://ja.wikipedia.org/wiki/Haskell)」をリリース。|
|1991|1年余りの開発を経て、「Python 0.90」のソースコードを2月にUSENETに投稿。オブジェクト指向言語の特徴や抽象データ型である文字列、リストの概念を利用していた。|
|1994|「Python 1.0」を1月にリリース。主な特徴として関数型言語の基本であるラムダ計算を実装、map関数、reduce関数などを組み込んだ([Pythonの"関数型"の機能の起源](http://python-history-jp.blogspot.jp/2009/05/python.html))。Jim Fulton氏が多次元配列や行列ライブラリ「Matrix Object in Python」を作成する。|
| |11月に初めて[Python ワークショップが開催](https://legacy.python.org/workshops/1994-11/annotated.html)される。参加者は20人か30人くらいで小さなイベントであった。|
|1995|Pythonは早い段階で科学/エンジニアリングコミュニティの注目を集め、多次元配列・行列ライブラリを定義する目的で「Matrix-SIG」が設立され、Python作者のGuido van Rossum氏も参加。Pythonの構文（特に索引構文）の拡張を実装して、配列計算を簡単にしました。Matrix-SIGは多次元配列・行列ライブラリ「NumArray」を後に開発。|
| |MITの大学院生であったJim Hugunin氏(他作者: Konrad Hinsen,Paul Dubois, David Ascher, Jim Fulton)が中心となり多次元配列・行列ライブラリ「Numeric」をリリース。|
| |Guido van Rossum氏がオランダから米国ヴァージニア州レストンにあるCorporation for National Research Initiatives (CNRI) へ移住。 |
| |ラスマス・ラードフ(Rasmus Lerdorf)氏がプログラム言語の「[PHP 1.0](https://ja.wikipedia.org/wiki/PHP:_Hypertext_Preprocessor)」を6月にリリース。 |
| |ニュージーランドのオークランド大学のRoss Ihaka氏とRobert Clifford Gentleman氏がプログラム言語の「[R言語](https://ja.wikipedia.org/wiki/R%E8%A8%80%E8%AA%9E)」の初期バージョンを6月にリリース。1992年に考案、名前の由来は開発者2人の頭文字「R」と統計解析言語である「[S言語](https://ja.wikipedia.org/wiki/S%E8%A8%80%E8%AA%9E)」の一歩手前の「R」から。|
| |まつもとゆきひろ氏がプログラム言語の「[Ruby 1.0](https://ja.wikipedia.org/wiki/Ruby)」を12月にリリース。1993年2月24日に静岡県浜松市で開発に着手。きっかけはperlが美しくないことへの不満から。[触発はPython 20%、Perl 80%](http://python-history.blogspot.jp/2013/10/origin-of-metaclasses-in-python.html)|
|1996|10月に「Python 1.4」をリリース。主な特徴としてキーワード引数や複素数型(complex)の組み込みをサポートした。|
|1997|1月に「Python 1.5」をリリース。主な特徴としてクラス例外を導入した。|
|1998|ラリー・ペイジとセルゲイ・ブリンにより[Google](https://www.google.com/about/company/history/)を9月に創業。1996年に原型となる検索エンジン[BackRub](http://infolab.stanford.edu/~backrub/google.html)を開発、 URLServerとクローラはPythonで実装。|
|1998～1999|後にSciPyの一部となるfftw、Cephesmodule、stats.pyなどが開発される。1999年8月に「F2PY(Fortran to Python interface generator)」の開発に着手。|
|1999|「Haskell 98」を2月にリリース。|
|2000|Guido van Rossum氏とPythonのコア開発チームは BeOpen.com に移り、BeOpen PythonLabs チームを結成する。|
| |10月にPythonLabsチームはDigital Creations (現在のZope Corporation) に移る。|
| |「Python 2.0」を10月にリリース。リスト内包表記とガベージコレクションシステムとUnicodeが導入されました。多くの機能はHaskellを参考にした。|
|2001|Matrix-SIGは多次元配列・行列ライブラリ「NumArray」(作者:Perry Greenfield, J. Todd Miller,Rick White, Paul Barrett)として開発が継続され、その資産の上に科学計算用ライブラリ「SciPy 1.0」(作者:Pearu Peterson, Travis Oliphant, Eric Jones)をリリース。|
| |「[Python Software Foundation](https://ja.wikipedia.org/wiki/Python%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E8%B2%A1%E5%9B%A3)」が3月6日に米国で設立。このときZope CorporationはPSFの賛助会員となる。|
| |民間企業のEnthought社が米国で設立される。Pythonによる科学技術計算に特化したツールやコンサルティングおよびトレーニングの提供を行っている。「Scipy Stack」の整備と発展に主導的な役割を果たしている企業です。また科学技術計算向けの「[SciPy Conference](https://conference.scipy.org/)」と呼ばれる会議の開催を支援している。 |
| |Fernando Perez氏がインタラクティブシェル「IPython」を12月にリリース。|
|2003|第1回「PyCon(Python Conference) US 2003」が3月26日〜3月28日にワシントンDCで開催される。|
| |john hunter氏により可視化ライブラリ「[matplotlib 0.1](https://ja.wikipedia.org/wiki/Matplotlib)」を4月にリリース。2001年から開発に着手。MATLABの競合への道を歩み始める。|
| |多次元配列・行列ライブラリ「NumArray」(作者:Perry Greenfield, J. Todd Miller,Rick White, Paul Barrett)をリリース。Numericより大規模な配列が高速だが小さな配列では遅かったため、コミュニティの分断が発生する。|
|2004|第2回「PyCon US 2004」が3月20日〜3月26日にワシントンDCで開催される。|
|2005|Travis Oliphant氏は、1月に多次元配列ライブラリのコミュニティを統合するため、Numarrayの機能をNumericへの移植に着手。|
| |Googleが「[Google Summer of Code](https://ja.wikipedia.org/wiki/Google_Summer_of_Code)」というオープンソースの開発に資金を提供するプロジェクトを始める。|
| |第3回「PyCon US 2005」が3月19日〜3月25日にワシントンDCで開催される。|
| |GoogleがPaaS環境「Google App Engine」を4月に発表。対応言語はPython 2.5のみ、1年後にJavaをサポート。|
| |Guido van Rossum氏が12月にGoogleへ移籍し、2012年末まで勤める。|
|2006|第4回「PyCon US 2006」が2月23日〜3月2日にアディソン(テキサス州)で開催される。|
| |Travis Oliphant氏により数値解析ライブラリの「[NumPy 1.0](https://ja.wikipedia.org/wiki/NumPy)」を10月にリリース。SciPyライブラリの一部であったが配列オブジェクトを取得するためだけに大きなSciPyライブラリをインストールするのを避けるために、ライブラリは分離された。BLASの競合への道を歩み始める。|
|2007|第5回「PyCon US 2007」が2月22日〜3月1日にダラス(テキサス州)で開催される。|
| |機械学習ライブラリの「[scikit-learn](https://ja.wikipedia.org/wiki/Scikit-learn)」を6月にリリース。scikit-learn(初期はscikits.learn)は、David Cournapeau氏のGoogle Summer of Codeプロジェクトとして始まりました。|
| |Cとの融合によるPythonの高速化ツール「[Cython](https://ja.wikipedia.org/wiki/Cython)」を6月にリリース(Pyrexからフォーク)された。|
| |OndřejČertík氏がシンボリック演算ライブラリ「[SymPy](https://ja.wikipedia.org/wiki/SymPy)」を3月にリリース。「[Sage](https://ja.wikipedia.org/wiki/Sage_(%E6%95%B0%E5%BC%8F%E5%87%A6%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0))」の数式処理エンジンとなり、Mathematicaの競合への道を歩み始める。|
| |Travis Oliphant氏が2007年にEnthought社の社長に就任し2011年まで務めました。|
|2008|第6回「PyCon US 2008」が3月13日〜3月20日にシカゴ(イリノイ州)で開催される。|
| |「Python 3.0」(Unicodeへの全面移行)を12月にリリース。「Python 2.6」を10月にリリース。|
|2009|第7回「PyCon US 2009」が3月25日〜4月2日にシカゴ(イリノイ州)で開催される。|
| |Skipper Seabold氏とJosef Perktold氏が多変量回帰分析・時系列分析ライブラリ「[statsmodels](http://www.statsmodels.org/stable/index.html)」をリリース。「Google Summer of Code」プロジェクトとして始まりました。|
| |[海外(英国、豪州)の大学で学ぶ最初のプログラム言語](http://tomasp.net/blog/2019/first-language/)としてJavaの次にPythonが選ばれる|
|2010|第8回「PyCon US 2010」が2月17日〜2月25日にアトランタ(ジョージア州)で開催される。|
| |「Python 2.7」を7月にリリース。2.xの最終バージョンとなる。|
| | James Bergstra氏らにより数値計算ライブラリ「[Theano(テアノ)](http://deeplearning.net/software/theano/)」がリリース。当時はCPU上ではNumPyの1.8倍、GPUではNumPyの11倍も速くなるとも報告された。|
| |12月にOPenCV 2.2でPython2系のバインディングをサポート。|
|2011|[PyCon mini JP](https://pycon.jp/pyconminijp/)が1月29日に楽天株式会社 品川シーサイド楽天タワーで開催される。|
| |Wes McKinney氏がRのdata.frameデータ構造を実装したデータ解析ライブラリ「[Pandas 0.3](https://ja.wikipedia.org/wiki/Pandas)」を2月にリリース。2008年に開発に着手、2011年まではAQL社のクローズドソースだった。plyr/dplyrを備えたRの競合への道を歩み始める。|
| |第9回「PyCon US 2011」が3月9日〜3月17日にアトランタ(ジョージア州)で開催される。|
| |第1回「[PyCon JP 2011](https://2011.pycon.jp/)」が8月27日〜28日に産業技術大学院大学で開催される。|
|2012|Travis Oliphant氏が1月にContinuum Analytics社を設立 。Continuum社はPythonディストリビューションの「Anaconda」を作っています。またデータ分析向けの「[Py Data](http://pydata.org/)」と呼ばれる会議の開催を支援している。|
| |Googleが2月にPaaS環境「Google App Engine」の対応言語としてPython 2.７をサポート。|
| |第10回「PyCon US 2012」が3月7日〜3月15日にサンタクララ(カリフォルニア州)で開催される。|
| |ニューヨーク大学の研究者 Michael Waskom氏が可視化ライブラリ「matplotlib」ラッパーの「[Seaborn(シーボーン)](http://seaborn.pydata.org/)」をリリース。Rの可視化ライブラリ「ggplot2」のように美しく書ける。|
| |Peter Wang氏がインタラクティブなグラフを作成できる可視化ライブラリ「[bokeh](http://bokeh.pydata.org/en/latest/)」をリリース。bokehは写真用語である「ボケ」の英単語。 |
| |Jeff Bezanson氏らMITグループがプログラム言語の「[Julia](https://ja.wikipedia.org/wiki/Julia_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E))」を2月にリリース。 LLVMを使ったJITコンパイラでCなみの実行速度、Pythonのコードを呼び出す仕組みがありPythonの資産が活用できる。|
| |第2回「[PyCon JP 2012](https://2012.pycon.jp/)」が9月15日〜17日に産業技術大学院大学で開催される。|
|2013 |Guido van Rossum氏がGoogleを退社し1月にDropboxへ移籍。|
| |第11回「PyCon US 2013」が3月13日〜3月21日にサンタクララ(カリフォルニア州)で開催される。|
| |Yangqing Jia氏ら当時Berkeleyのメンバーが中心にディープラーニングフレームワーク「Caffe」をリリース。|
| |第3回「[PyCon APAC(アジア太平洋地域最大規模) 2013 in Japan](https://apac-2013.pycon.jp/)」が9月13日〜16日に工学院大学新宿キャンパスで開催される。|
|2014|第12回「PyCon US 2014」が4月9日〜4月17日にモントリオール(カナダ)で開催される。|
| |IPythonを他言語でも対応させる「[jupyter](http://jupyter.org/)」プロジェクトを6月に発表。IPythonの拡大を受けてJulia、Python、Rから名付けた。|
| |[Pythonが大学(アメリカ)の入門用プログラミング言語として人気を集めていると判明](https://gigazine.net/news/20140715-python-most-popular-language/)|
| |第4回「[PyCon JP 2014](https://pycon.jp/2014/)」が9月12日〜15日に東京国際交流館 プラザ平成で開催される。|
|2015|第13回「PyCon US 2015」が4月8日〜4月16日にモントリオール(カナダ)で開催される。|
| |Yhat社がデータサイエンスのための統合開発環境(IDE)「[Rodeo(ロデオ)](https://www.yhat.com/products/rodeo)」を4月にリリース。R Studioの競合への道を歩み始める。|
| |OPenCV 3.0でPython3系のバインディングを6月にサポート。|
| |Preferred ResearchよりDeep Learningのフレームワーク「[Chainer](https://research.preferred.jp/2015/06/deep-learning-chainer/)」を6月にリリース。|
| |第5回「[PyCon JP 2015](https://pycon.jp/2015/)」が10月9日〜12日に東京国際交流館 プラザ平成で開催される。|
| |GoogleよりDeep Learningのフレームワーク「[TensorFlow](http://www.itmedia.co.jp/news/articles/1511/10/news055.html)」を11月にリリース。|
|2016|GoogleのFrançoisChollet(フランソワ・ショレ)氏が高水準ディープランニングライブラリ「[Keras 1.0](https://keras.io/)」を4月にリリース。2015年3月に初公開。Keras(ケラス)はギリシャ語で"角"|
| |第14回「PyCon US 2016」が5月28日〜6月5日にポートランド(オレゴン州)で開催される。|
| |第6回「[PyCon JP 2016](https://pycon.jp/2016/)」が9月20日〜24日に早稲田大学 西早稲田キャンパス(カンファレンス)、日本マイクロソフト(スプリント)で開催される。|
| |「Python 3.6」を12月にリリース。|
|2017|「TensorFlow 1.0」、「Chainer 2.0」を2月にリリース。|
| |「Keras 2.0」を3月にリリース。|
| |Facebookより「Caffe 2.0」を4月18日にオープンソースとして公開|
| |第15回「PyCon US 2017」が5月17日〜5月25日にポートランド(オレゴン州)で開催される。|
| |IEEEが発行するオンラインマガジン「IEEE Spectrum」の7月の記事「[The 2017 Top Programming Languages](https://spectrum.ieee.org/computing/software/the-2017-top-programming-languages)」で「Python」が1位になりました。|
| |第7回「[PyCon JP 2017](https://pycon.jp/2017/)」が9月7日〜9日に早稲田大学 西早稲田キャンパス(カンファレンス)、日本マイクロソフト(スプリント)で開催される。|
|2018|第16回「PyCon US 2018」が5月9日〜5月17日にクリーブランド(オハイオ州)で開催される。|
| |「Python 3.7」を6月27日にリリース。|
| |Guido van Rossum氏が、意思決定プロセスから完全に退くことを[決断](https://mail.python.org/pipermail/python-committers/2018-July/005664.html)|
| |IEEEが発行するオンラインマガジン「IEEE Spectrum」の7月の記事「[The 2018 Top Programming Languages](https://spectrum.ieee.org/at-work/innovation/the-2018-top-programming-languages)」で「Python」が1位になりました。|
| |Googleが8月にPaaS環境「Google App Engine」の対応言語としてPython 3.7をサポート。|
| |「[Julia 1.0](https://mag.osdn.jp/18/08/10/163000)」を8月8日にリリース。|
| |第8回「[PyCon JP 2018](https://pycon.jp/2018/)」が9月15日〜18日に大田区産業プラザ(カンファレンス)、HENNGE(スプリント)で開催される。|
| |FacebookよりDeep Learningのフレームワーク「[PyTorch 1.0](https://pytorch.org/)」を12月7日にリリース。(2018年3月下旬にCaffe2はPyTorchに併合)。PyTorchはChainerを参考に開発を始めたフレームワーク。|
|2019|情報処理推進機構(IPA)が1月24日にCOBOLの出題廃止し20年の春期試験から新たにPythonを追加することを発表|
| |第17回「PyCon US 2019」が5月1日〜5月10日にクリーブランド(オハイオ州)で開催される。|
| |「Chainer 6.0」を5月16日にリリース。|
| |第9回「[PyCon JP 2019](https://pycon.jp/2019/)」が9月14日〜17日に大田区産業プラザ(カンファレンス)、HENNGE(スプリント)で開催される。|
| |Kerasとの統合を強化した「TensorFlow 2.0」を10月1日にリリース。|
| |「Python 3.8」を10月14日にリリース。|
| |Guido van Rossum氏が10月30日にDropboxを退社し引退生活を送ることを表明|
| |Preferred Networksが12月に[「Chainer」の開発中止を表明](https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00001/03341/)、「PyTorch」への移行を推奨。|
|2020|1月1日Python2系統の公式サポートを終了。Python2系の最終版は4月リリース予定。[EoL(公式サポート)とFinal Release(最終版)は違う](https://note.com/peacock0803sz/n/ne55142e8fb69)|
| |「Python 2.7.18」を4月20日にリリース。Python 2シリーズは本バージョンが最終となり、すべての開発は終了となった。|
| |「PyTorch 1.5」を4月23日にリリース。Python 2のサポートがなくなり、サポートするPythonはバージョン3.5以上となった。|
| |[すがやみつる](https://ja.wikipedia.org/wiki/%E3%81%99%E3%81%8C%E3%82%84%E3%81%BF%E3%81%A4%E3%82%8B)著「[ゲームセンターあらしと学ぶ プログラミング入門 まんが版こんにちはPython](https://www.amazon.co.jp/dp/B0872TNKDW/)」が4月29日に発売|
| |「TensorFlow 2.2」を5月7日にリリース。Python 2のサポートがなくなった。|
| |「PyTorch 1.6」を6月29日にリリース。WindowsバージョンはMicrosoftが引き継ぐ。|
| |「TensorFlow 2.3」を7月26日にリリース。|
| |第10回「[PyCon JP 2020](https://pycon.jp/2020/)」が8月22日〜30日にCOVID-19の影響によりオンライン開催される。|
| |「Python 3.9」を10月5日にリリース。[Python 3.9より毎年10月にメジャーリリース公開](https://mag.osdn.jp/19/11/07/164500)|
| |「PyTorch 1.7」を10月28日にリリース。CUDA 11を公式にサポート。|
| |Guido van Rossum氏が約1年の引退生活後に「引退は退屈」と11月にMicrosoftに入社。|
| |「TensorFlow 2.4」を12月14日にリリース。|
|2021|TIOBEはPythonが2020年の「今年のプログラミング言語」に選ばれたと[発表](https://www.tiobe.com/tiobe-index/)。|
| |オライリー「Pythonチュートリアル 第4版」を2月1日発行、Pythonの設計者であるGuido van Rossum氏が書き下ろした。|
| |ITエンジニアが2021年に学びたい(強化したい)プログラミング言語ランキングで20代～50代の全年代で「Python」が1位という結果になったと2月5日に[発表](https://prtimes.jp/main/html/rd/p/000000010.000053672.html)| 
| |「PyTorch 1.8」を3月4日にリリース。科学計算用フロントエンドAPIの追加など変更多数。|
| |第18回「PyCon US 2021」が5月12日〜5月20日にCOVID-19の影響によりオンライン開催、Guido van Rossum氏が[CPythonの実行速度を倍にする計画](https://github.com/faster-cpython/ideas/blob/main/FasterCPythonDark.pdf)を含む、いくつかの発表を行った。|
| |5月15日のMicrosoft Reactorの動画「[Q&A with Guido van Rossum, Inventor of Python](https://www.youtube.com/watch?v=aYbNh3NS7jA)」で、Guido van Rossum氏は Python バージョン 4.0 の可能性をほぼ否定した。次の数字を追加する前に 3.99 まで上げることができますと語っている。|
| |「TensorFlow 2.5」を5月21日にリリース。|
| |「PyTorch 1.9」を6月15日にリリース。科学計算やモバイルのサポート、分散トレーニングなどを強化。|
| |「TensorFlow 2.6」を8月12日にリリース。|
| |「Python 3.10」を10月8日にリリース。|
| |TIOBEは10月のプログラミング言語の人気指標でPythonが1位になったと[発表](https://www.tiobe.com/tiobe-index/)。|
| |「PyTorch 1.10」を10月15日にリリース。新たなSDKである「TorchX 0.1」を付けた。|
| |第11回「[PyCon JP 2021](https://2021.pycon.jp/)」が10月15日〜16日にベルサール神田(初日のみ現地）、オンライン併用で開催される。|
| |「TensorFlow 2.7」を11月10日にリリース。デバッグエクスペリエンスを大幅に改善した。|
|2022|TIOBEはPythonが2021年の「今年のプログラミング言語」に選ばれたと[発表](https://www.imagazine.co.jp/tiob-programming-language-of-the-year-2021/)、２年連続。|
| |「TensorFlow 2.8」を2月3日にリリース。|
| |「PyTorch 1.11」を3月11日にリリース。|
| |Meta社は3月22日、Pythonソフトウェア財団に約3600万円を寄付。|
| |第19回「PyCon US 2022」が4月27日〜5月3日にソルトレイクシティ(ユタ州)で開催される。|
| |「TensorFlow 2.9」を5月17日にリリース。|
| |「PyTorch 1.12」を6月29日にリリース。|
| |「TensorFlow 2.10」を9月7日にリリース。|
| |TIOBEは10月のプログラミング言語の人気指標でPythonが1位になったと[発表](https://www.tiobe.com/tiobe-index/)。|
| |第12回「[PyCon JP 2022](https://2022.pycon.jp/)」が10月14日〜16日にTOC有明コンベンションホール、オンライン併用で開催される。|
| |「Python 3.11」を10月24日にリリース。3.10と比べて10～60％高速になっている。今後4年間に1.5倍ずつ最終的には5倍高速化することを目的としている。|
| |「PyTorch 1.13」を10月29日にリリース。|
| |「TensorFlow 2.11」を11月18日にリリース。|
| |米GitHubは11月18日までに2022年にGitHub上で最も使われたプログラミング言語で「Python」2位となったと[発表](https://www.itmedia.co.jp/news/articles/2211/18/news120.html)|
| |11月27日 Guido van Rossum氏が[Python 4.0に関して言及したインタビュー動画](https://www.youtube.com/watch?v=qC5Po77bfKI)|
|2023|「TensorFlow 2.12」を3月24日にリリース。|
| |「PyTorch 2.0」を3月16日にリリース。|
| |第20回「[PyCon US 2023](https://gihyo.jp/list/group/PyCon-US-2023-%E5%8F%82%E5%8A%A0%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88#rt:/article/2023/05/pycon-us2023-002)」が4月19日〜4月27日にソルトレイクシティ(ユタ州)で開催される。20回目(2003年〜)を迎える。(2020年は新型コロナウイルスの影響で中止)|
| |[Guido van Rossum が、Rust、Go、Julia、TypeScript に関する彼の見解を共有](https://appmaster.io/ja/news/guidovuanrotsusamu-python-zuo-cheng-zhe-rust-go-julia-typescript)|
| |「TensorFlow 2.13」を7月6日にリリース。|
| |[Microsoft、ExcelでPythonを使える「Python in Excel」のプレビュー版を8月22日に公開](https://atmarkit.itmedia.co.jp/ait/articles/2308/28/news040.html)|
| |Modular社はPythonの高速なスーパーセット版の新言語「[Mojo](https://www.modular.com/mojo)」を公開|
| |「TensorFlow 2.14」を9月26日にリリース。|
| |「Python 3.12」を10月2日にリリース。言語機能の強化で使い勝手向上、エラーもわかりやすく|
| |「PyTorch 2.1」を10月4日にリリース。|
| |第13回「[PyCon APAC(アジア太平洋地域最大規模) 2023 in Japan](https://2023-apac.pycon.jp/)」が10月26日〜29日にTOC有明コンベンションホール(カンファレンス)、HENNGE(スプリント)で開催される。|
| |「TensorFlow 2.15」を11月15日にリリース。|
|2024|「PyTorch 2.2」を1月31日にリリース。|
| |「TensorFlow 2.16.1」を3月8日にリリース。|
| |「PyTorch 2.3」を4月24日にリリース。|
| |第21回「PyCon US 2024」が5月15日〜5月23日にピッツバーグ(ペンシルベニア州)で開催される。|
| |「Numpy 2.0.0」を6月16日にリリース。18年ぶり(2006年以来)のメジャーアップデート|
| |「TensorFlow 2.17」を7月12日にリリース。|
| |「PyTorch 2.4」を7月24日にリリース。|
| |Microsoft社はExcelでPythonを使える「Python in Excel」を9月16日にリリース。|
| |第14回「[PyCon JP 2024](https://2024.pycon.jp/)」が9月27日〜29日にTOC有明コンベンションホール(カンファレンス)、HENNGE(スプリント)で開催される。|
| |「Python 3.13」を10月2日にリリース。改良されたインタープリター、実験的なJITコンパイラー搭載|
| |「PyTorch 2.5」を10月17日にリリース。|
| |「TensorFlow 2.18」を10月25日にリリース。|
|2025|「PyTorch 2.6」を1月29日にリリース。|
| |第22回「PyCon US 2025」が5月14日〜5月22日にピッツバーグ(ペンシルベニア州)で開催予定|
| |第15回「PyCon JP 2025」が9月26日〜25日に広島国際会議場で開催予定|
| |「Python 3.14」を10月にリリース予定|

他にもいろんな研究支援にPythonが使われている。

* 分子生物学パッケージ「[biopython](http://www.biopython.org/)」
* 天文学パッケージ「[AstroPy](http://old.scipy.org/wikis/topical_software/Astronomy)」
* 化学分子構造ビジュアライザ「[PyMOL](http://sourceforge.net/projects/pymol/)」
* 分子構造モデリングツールキット「[MMTK](http://www.python.net/crew/hinsen/mmtk.html)」
* 制御工学シミュレーション「[python-control](https://python-control.readthedocs.io/en/latest/)」
* 自然言語処理ライブラリ「[spaCy](https://spacy.io/)」

並列処理や分散処理として次世代の多次元配列パッケージ群が出ている。
参照：[Python 次世代の多次元配列パッケージ群](http://sinhrks.hatenablog.com/entry/2015/09/22/225241)

# 参照
* [データ・サイエンスのプログラミング言語はRからPythonに置き換わる](http://readwrite.jp/develop/2534/)
* [RubyがPythonのようなポジションを得られなかったのはなぜか](https://developers.srad.jp/story/16/06/17/0827240/)
* [Pythonや機械学習、そして言語の競争について – 極めて主観的な見地から](http://postd.cc/python-machine-learning-and-language-wars-a-highly-subjective-point-of-view/)
* [はたしてPythonは業務に使えるのか](http://python.matrix.jp/pages/columns/spread_python.html)
* [Pythonが大学の入門用プログラミング言語として人気を集めていると判明](http://gigazine.net/news/20140715-python-most-popular-language/)
* [なぜ採用される言語とされない言語があるのか](http://postd.cc/why-are-some-languages-adopted-and-others-arent/)
* [Pythonがプログラミングの学習に向いているたった一つの理由](http://coreblog.org/ats/the-best-reason-why-python-is-good-for-lerning-programming/)
* [pythonの歴史(〜2016年) : from Data Science Perspective](http://soqdoq.com/teq/?p=2036)
* [SciPy India 2009 - SlideShare](http://www.slideshare.net/enthought/scipy-india-2009)
* [Anaconda and PyData Solutions - SlideShare](http://www.slideshare.net/teoliphant/anaconda-and-pydata-solutions)
* [Python使いをJuliaに引き込むサンプル集](http://www.mwsoft.jp/programming/julia/python_to_julia.html)
* [なぜ僕らはJuliaを作ったか（翻訳）](http://marui.hatenablog.com/entry/20120221/1329823079)
* [統計を始めたい人に僕がPythonよりＲを勧める理由](http://windfall.hatenablog.com/entry/2015/06/11/113427)
* [Pythonの沿革](http://python-history-jp.blogspot.jp/2009/04/python_24.html)
* [The History of Python.jp](http://python-history-jp.blogspot.jp/)
* [どうなるPython--生みの親「優しい終身の独裁者から引退」表明で衝撃](https://japan.zdnet.com/article/35123118/)
* [COBOLの出題廃止、Python追加　基本情報技術者試験、「AI人材育成ニーズ踏まえ」](https://www.itmedia.co.jp/news/articles/1901/24/news090.html)
* [Pythonの生みの親グイド・ヴァンロッサム氏が職業プログラマから引退を表明。昨年Pythonの優しい独裁者からも引退](https://www.publickey1.jp/blog/19/pythondropboxpython.html)
* [「Python」の生みの親ヴァンロッサム氏が正式に引退、「素晴らしい経験だった」](https://japan.zdnet.com/article/35144782/)
* [COBOLの出題廃止、Python追加　基本情報技術者試験、「AI人材育成ニーズ踏まえ」](https://www.itmedia.co.jp/news/articles/1901/24/news090.html)
* [Pythonの生みの親グイド・ヴァンロッサム氏が職業プログラマから引退を表明。昨年Pythonの優しい独裁者からも引退](https://www.publickey1.jp/blog/19/pythondropboxpython.html)
* [「Python」の生みの親ヴァンロッサム氏が正式に引退、「素晴らしい経験だった」](https://japan.zdnet.com/article/35144782/)
* [PyTorch vs. TensorFlow、ディープラーニングフレームワークはどっちを使うべきか問題](https://www.atmarkit.co.jp/ait/articles/1910/31/news028.html)
* [Chainer開発終了、PFN幹部が明かした「感謝とおわびの気持ち」](https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00001/03341/)
* [Python 2の終了日が2020年1月1日に決定](https://www.infoq.com/jp/news/2019/11/python-2-end-of-life-approaching/)
* [「Python 2.7.18」がリリース ～「Python 2」シリーズの最終版](https://forest.watch.impress.co.jp/docs/news/1248378.html)
* [Pythonのリリースサイクルが早くなる！](https://qiita.com/ksato9700/items/a6578b09b2949c8548dd)
* [General Python FAQ Why was Python created in the first place?](https://docs.python.org/3/faq/general.html#why-was-python-created-in-the-first-place)
* [Pythonの生みの親、グイド・ヴァンロッサム氏、「引退は退屈」とMicrosoft入り](https://www.itmedia.co.jp/news/articles/2011/13/news066.html)
* [「Python」の弱点やそのとらえ方--生みの親、グイド・ヴァンロッサム氏が語る](https://japan.zdnet.com/article/35171395/)
* [Programming languages: Why Python 4.0 might never arrive, according to its creator](https://www.techrepublic.com/article/programming-languages-why-python-4-0-will-probably-never-arrive-according-to-its-creator/)
* [PyConについての回顧録 - Youtube](https://www.youtube.com/watch?v=yp6WuHFhYCo)