本セッションの登壇者
セッション動画(YouTubeチャンネル登録もお願いします。)
みなさんこんにちは、よろしくお願いします。増井といいます。
今日は、Python以外のプログラミング言語を使っている方もいらっしゃると思いますので、Pythonがなぜこんなに人気を集められているのか、何に使っているのか、というところについて紹介できればと思っています。
各種言語ランキングで1位を獲得するPython
Pythonが人気だということはみなさんご存知だと思います。いろんな言語ランキングを見ても、この1、2年は全部1位になっています。Qiitaのタグランキングでも1位になっているのはみなさんご存知だと思います。
本屋さんに行ってみても、Pythonの本がすごく増えたなと思っている方、多いんじゃないでしょうか。とくにこの5年ぐらい、急速にPythonの本が増えました。私もこれまで20冊ぐらい本を書いてきたんですけど、それまではRubyとかほかの言語で書いていました。それが2018年の後半からこの3、4年はもうずっとPythonの本ばかり書いています。
なぜかというと、Pythonのほうがそれだけ売れるということがあって、アルゴリズムや統計の本を書くとなると自動的にPythonになってしまうという状況があります。
Pythonを何に使うのか
では私がどれくらいPythonを使っているのか、仕事で開発するときの第1の選択肢を考えます。たとえばWindowsアプリを作るならC#で書きますし、スマホアプリだったらSwiftやKotlin、WebアプリだったらPHPとかを使います。それぞれ理由は右側に書いたような感じになっています。これを見ると、やっぱりPythonをメインで使う場面というのはなかなか少ないなと思っています。これは、世の中のデファクトスタンダードというところもあって、皆さんも同じように感じていらっしゃる方がいるんじゃないかな、と思っています。
ではどういうところで使われているのかというと、まず思い浮かべるのがAIとか統計といったところかなと思っています。AIに関してはここにいくつかライブラリを挙げましたけれど、これ以外にもたくさんあります。あとは多くの論文とか出版物で採用されているので、それをコピーして実行することもすごく簡単だなと思っています。
それ以外は統計ですね。ちょっとした分析とか、エンジニア以外の方や文系の方がデータ分析をしたいというときにはRを使うことが多いと思うんですけど、そこから先のシステム化を考えると、Pythonを使うところが徐々に増えていると感じています。
ただ、徐々に増えてはいますけど、世の中のプログラマはみんながみんなAIとか統計のプログラムを作っているのかというと、そんなことはないんじゃないかなと思っています。
次に考えられるのが教育分野です。少し前まで、大学などでのプログラミング教育と聞くと、C言語やJavaが多かったと思うんですけど、最近はデータサイエンス系の授業が大学で増えています。そうすると、言語としてはPythonを採用することになります。ただし、アルゴリズムの授業とか、そういうところではまだまだC言語が多いなと感じています。
なぜこれだけPythonが教育で使われるのかということを考えると、1つは環境の構築が楽だということがあります。最近の大学はGmailを導入しているところが多く、Google Colaboratoryが使えるとか、あとは手続き型とかオブジェクト指向とかいろんなことに対応できるとか、あとはおまじない - たとえばC言語ならはじめに#includeと書かなきゃいけないとか、そういうことが少ないことが挙げられるかなと思っています。
あとはWebアプリです。大規模なアプリやSIerでは今もJavaが多く、小規模なものやWordPressではPHP、Web系の企業だとこれまではRuby/Railsを使っていたところが多かったと思います。いろんなフレームワークが出てきたということもあって、そこをPythonが置き換えていっていると感じています。
それ以外は組み込み系です。たとえばRaspberry Pi、私の手元にありますけれど手のひらサイズのコンピュータで、あとはmicro:bitというさらに小さいものとか、M5Stickといった組み込み系も、やっぱりPythonが使われています。
あとはドローンですね。私も持っていますけれど、このくらいのトイドローンにも使われています。
あとは自動化ですね。「なんとか仕事術」という本が本屋さんに大量に並んでいて、そのほとんどがPythonに置き換わっている気がします。スクレイピングであったり、Excelの操作、こういったところが多いようです。
Pythonが活躍する場面
実際のところ、Pyhtonがどういうところで使われているのかというと、やはりちょっとした処理を手軽に実装したい場面です。Python自体は速くはないですけど、高速なライブラリで処理することができますし、短いソースコードを書くだけで欲しい処理を実現できたりします。
さらに、他の言語から呼び出す、あるいは他の言語を呼び出して使うことができます。一般的にPythonはGlue言語と言われますけど、アプリケーションの中にPythonを埋め込んだり、あとは外部のプロセスとして起動したり、という使い方が多いようです。なので、まだPythonを使っていないという方も、他の言語 + Pythonという使い方をしていただければいいかなと思っています。
ご清聴ありがとうございました。