Python(パイソン)はデータ分析や機械学習の分野で広く使われている。機械学習や深層学習における応用が進み、AIの実用化が研究されるなかでさらに需要が高まると見られる。この記事はPython言語の特徴から人気の理由まで徹底解説する。
実際にPythonはどのくらい人気かあるか確認していく。
IEEE Spectrumのインタラクティブ記事から人気プログラミング言語のランキング(図1)から、
Pythonは一位であり、詳細でみると、PythonはWeb開発やEnterpriseの製品がメインである。
近年データ解析やAIの分野で広く使われていることから、今後も需要が大きくなると予想される。
図1Interactive: The Top Programming Languages
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017
pythonとは
Pythonは、1991年にオランダ人のグイド・ヴァン・ロッサム氏によって開発されたプログラミング言語である。古くからある言語であり、Javaよりも古い。汎用のプログラミング言語である、読みやすく、また書きやすく作業性とコードの信頼性を高めることを重視してデザインされた言語である。さまざまな開発ニーズを満たすために使用されているため、Pythonを1つの仕事で使い始めると、関係のない業界にあっても簡単に別の仕事に利用することができる。システム運用、Web開発、サーバー管理ツール、機械学習、人工知能(AI)、業務アプリケーションなどに広い分野で使われている。
Pythonの特徴としては以下のようなものが挙げられます。
シンプルな構文
Python の構文は、よく使われているプログラム言語の中では比較的シンプルである。誰が書いてもコードが同じようになる言語を意識して作られている。他人の書いたコードも比較的読みやすくなる。
インデントの利用
インデントとは、プログラムの作成における入れ子構造である。文章のような頭の位置を変化させることで意味的な固まりを示される。プログラムの制御の流れが視覚的に分かりやすい。
オブジェクト指向
Pythonはオブジェクト指向言語のため、継承、ポリモーフィズム、カプセル化を最大限に活用して、見通しが良く、保守性が高いプログラムを記述することができる。
素晴らしいライブラリ
Pythonにはたくさんの標準または外部ライブラリがあります。ライブラリを利用すると、開発時間を節約し、最初の開発サイクルを短縮するのに役立ちます。 PythonにはNumPyやSciPyといった学術計算用のWebサイト開発用のDjangoまで、ライブラリの優れた選択肢がある。
活発で支持的なコミュニティ
ドキュメンテーションと開発者のサポートが不足しているプログラミング言語はうまくいかない。 Pythonには多くのドキュメント、ガイド、チュートリアルなどがある。 さらに、開発者コミュニティは信じられないほど活発です。それは、誰かが助けやサポートを必要とするときはいつでも、タイムリーに解決できる。
大企業のスポンサー
最後に大事なことですが、これは、プログラミング言語に企業のスポンサーがいる大きな時間を助ける。 C#にはMicrosoft、JavaにはSun、PHPはFacebookで使用されています。 Googleは2006年にPythonを採用して以来、多くのプラットフォームやアプリケーションでこれを使用してきた。GoogleではPythonを扱うための膨大な数のガイドとチュートリアルを作成しました。
まとめ
本稿では、pythonの特徴、人気の理由ついて解説しました。pythonは汎用のプログラミング言語で、作業性と信頼性であり、需要が大きくなると予想されている。webアプリの開発はもちろん、最近では人工知能の開発で注目を集めている。また、コミュニティと大企業のスポンサーがあるので、タイムリーに問題が解決できるようです。AIの急速な成長、第4次産業革命を推進している時代にpythonは一つの力になるでしょう。
https://ja.wikipedia.org/wiki/Python
https://www.kdnuggets.com/2017/07/6-reasons-python-suddenly-super-popular.html
実際に以下はPythonでの簡単なプログラムでの実行と他の言語との比較である。
$str = <<<'EOD'
import time
timer_start = time.time()
for I in range(100000):
print(“Hi!”)
print(“Finished!”)
timer_end = time.time() – timer_start
print(timer_end)
Pythonで実行すると13.46秒
同じものをRで実行するのは以下で
$str = <<<'EOD'
# R言語で実行
for(i in 1:100000 {
Print(“Hi”)
}
print(“Finished!”)
print(proc.time() – ptm)
#実行結果
print(proc.time() - ptm)
ユーザ システム 経過
93.94 0.53 96.04