Pythonが世界に愛されている理由
pythonは世界中で使われている人気なプログラミング言語の一つです。
かつてはRubyと同じくらいの人気って程度でしたが、最近は機械学習分野でpythonがメジャー言語になったことで大きく差を広げました。Github社が分析したプログラミング言語ランキング(2018年板)でもRubyが10位な一方、pythonは3位まで上り詰めました。
今でもPythonの人気はどんどん上がっています。そんな愛されて止まないPythonですが、なぜそんなに他の言語と差を付けたのか?を調査してみました!
簡単で可読性が高い
Pythonは動的型付け言語やオブジェクト指向、スクリプト言語など今の流行りを取り入れているのはもちろん、可読性が高くなるのが一番の特徴だと言われています。
動的型付け言語は数値型や文字型などを代入前に区別する必要はありません。これだけでもコードがシンプルになり実装が簡単になります。
さらにPythonはif文やfor文などのブロックをインデントで表現しています。インデントが揃ってないとエラーになるのでプログラムが動きません。
もちろん書き方によってはスパゲッティコードが生まれますが、これによりコードの書き方に統一性を出すことができます。
実行速度は残念ながら遅いです。スクリプト言語なので当たり前ですがコンパイル型言語には全く敵いません。
それでも可読性の高さは運用のしやすさに直結するので、プログラム世界では非常に重要なことです。
機械学習ライブラリが豊富
実行速度の遅いPythonがなぜ速度必須な機械学習分野で使われているのか、その理由はpythonのライブラリにあります。
pythonではC/C++をラッパーできることでNumpy、Scipyなどの科学技術計算向けライブラリが整備されまています。これを利用することでpythonの欠点である実行速度の遅さを解消し、機械学習をはじめとしたデータ分析ライブラリが開発されました。
現在でもpythonの機械学習ライブラリはTenSorFlow、Scikitl-earn、Chainerなど非常に多くのものが開発され続けています。
素人が少し遊んでみる程度なら、内部のロジックを知らずともPythonだけで簡単に機械学習ができる時代になりました。数学の高度な知識なしに機械学習ができるようになったのは本当にすごい進歩です。
できる幅が広い
pythonはデータ分析分野に限らずライブラリ、フレームワークが非常に豊富です。
機械学習分野をはじめとしたデータ分析分野が注目されがちなpythonですが、他にもデスクトップアプリ、WEBアプリ、iOSアプリ、Androidアプリと作ろうと思えばなんでも作ることができます。もちろんゲームエンジンもあるのでゲームも作れます。
情報が多い
人気のプログラミング言語なので当然ですが、勉強法からエラー対処などほとんどの情報は検索したら出てきます。
ただし、日本語の情報量はpythonはまだrubyに劣ります。
pythonを使う場合は英語を読めれば入手できる情報量が桁違いに増えるので、英語の勉強をして損はないでしょう。
まとめ
pythonは簡単だしなんでも作れるので初心者に最適!
ここまでpythonを褒めちぎってきましたが、Pythonだけできれば後の言語はいらないというわけではありません。特定の分野に限ればPythonより扱いやすい言語はいくらでもあります。
例えばWEB分野に限ればRubyの方がまだ強かったり、ゲーム開発はUnityの方が有名です。iOSアプリはSwift、AndroidはKotlinが主流です。ぶっちゃけスマホアプリをPythonで作る話はあまり聞いたことがありません。
pythonの勉強をして損はありませんが、やりたいことが決まっている方は分野に適したプログラミング言語を使ってもいいかもしれません!