IT業界にいると「ちょっと気になる」そんな話題を解説する連載がはじまります。ITに関する著書を年間数冊のペースで執筆される増井敏克さんに、執筆の合間を縫って書いていただきます。書籍になる前の新鮮な情報もここで読めるかもしれません。サクッと読める内容なので、スキマ時間にどうぞ。
さて、7月号はPythonの人気ぶりについて。国内外を問わず、さまざまな企業がプログラミング言語別の人気ランキングを発表しています。これを見ると、ほとんどのランキングでPythonが上位にランクインしています。ITエンジニアに人気の技術情報共有サービスの「Qiita」でも、タグのランキングを見るとずっと1位をキープしています。書店でも、Pythonの本がこの5年くらいで急増しました。
なぜこんなにPythonが人気を集めているのかを考えてみましょう。
それぞれの環境でよく使われる言語とは
Pythonが人気を集めていますが、まずはシステム開発やアプリ開発の現場でのプログラミング言語の選び方について考えてみます。プログラミング言語を選ぶときには、開発したプログラムが動く環境が大きな理由として挙げられます。
たとえば、WindowsのデスクトップアプリであればC#を、iOSアプリであればSwiftやObjective-Cを、AndroidアプリであればKotlinやJavaを、というように環境に応じてよく使われる言語があります。
業務系のWebアプリでは、その開発規模などに応じて、小規模であればPHP、大規模であればJavaなどがよく使われています。また、自社でWebアプリを提供しているWeb系企業ではRuby on RailsなどRubyが使われていることも話題になります。
そのほかにも、Excelの自動化ならVBA、ちょっとしたデータ分析ならR言語がよく使われます。
このように考えると、Pythonが何かの環境でデファクトスタンダードのように使われているとは言えないでしょう。
Pythonが使われているところ1: AI(人工知能)や統計
Pythonが使われているところとして、最近話題になるのはAI(人工知能)や統計での使用です。AIの研究に使えるライブラリが多く、サンプルも豊富なため、論文や本でもよく使われています。ライブラリを呼び出すだけなので、楽に実装できます。
統計に使う場面ではR言語がこれまでは主流でした。アンケート調査など、ちょっとした分析では現在もRが使われています。分析した結果を使って何らかのシステムにするならPythonを使う、という例は増えています。
しかし、世の中で使われているシステムでAIや統計といった技術が必要なものはそれほど多くないのではないか、と感じる人も多いでしょう。
Pythonが使われているところ2: 教育分野
プログラミング教育が話題になり、Pythonが注目を集めている分野として教育分野があります。少し前までは大学のプログラミング授業といえばC言語やJavaだったものが、最近ではPythonが圧倒的に多くなっています。
アルゴリズム系ではC言語もまだまだ使われていますが、データサイエンス系の学科が登場して、Pythonの採用が増えているようです。
Pythonは環境を簡単に構築できることがあります。メールにGmailを採用している大学も多く、この場合はGoogle Colaboratoryを使えます。パソコンに何もインストールしなくても、Webブラウザさえあれば使えるのです。
手続型のような書き方もできれば、オブジェクト指向の書き方もできる、という特徴もありますし、C言語やJavaで「おまじない」と教えられるような、最初に知っておくことが少ないことも教育分野では便利です。
Pythonが使われているところ3: Web開発
最近増えているのがWeb開発での使用です。Webアプリの開発において、PHPやJava、Rubyなどを紹介しましたが、その中の一部をPythonが置き換えている例があります。Webアプリの開発では、プログラミング言語だけでなく、その言語で使えるWebフレームワークによって開発効率が変わることから、PHPではLaravelやCakePHP、JavaではStrutsやSpring Framework、RubyではRuby on Railsなどがよく使われてきました。
PythonにもFlaskやDjango、FastAPIといったフレームワークが登場し、普及してきたのです。
Pythonが使われているところ4: 組込み系
プログラミングはパソコンだけでなく、組込み系でも必要です。これまでの組込み開発ではC言語などが多く使われていましたが、Raspberry Piやmicro:bit、M5Stackなどの登場により、Pythonでセンサーを扱う例が急増しました。
さらに、関数電卓での複雑な計算やドローンの自律飛行など、その機器に合わせた実行環境としてPythonが採用される例が増えています。
Pythonが使われているところ5: 自動化
書店で本のタイトルを眺めたときに、増えているものとして自動化があります。Excelの操作を自動化するときに、これまではVBAを使っていましたが、Pythonを使う例が増えています。
外部のWebサイトをクローリング・スクレイピングするような場合でも、Pythonを使う、といった例を見かけます。
まとめ
使われているところをいくつか考えてみると、どれかが特別に多く使われているわけではありませんが、さまざまな分野で幅広く使える言語であることがわかります。便利なライブラリが多く、それを呼び出す処理を手軽に実装できる特徴があり、短いソースコードで実現できるのです。
さらに、他の言語からPythonのプログラムを呼び出して使う、もしくはPythonから他の言語のプログラムを呼び出して使う、といった使い方ができ、グルー言語と呼ばれています。
つまり、便利なライブラリを使いたいときは、そこだけをPythonで書いて、その他の部分は普段から使っている言語で書く、といった使い方が普及してきている印象です。まだPythonを使っていない、という方はぜひ使ってみてください。