Contents
Pythonは現在最も人気のあるプログラミング言語
コンピューターに命令をだすためのプログラミング言語はC・JAVA・Javascriptなど数多くありますが、近年その中でPythonが世界で人気なプログラミング言語になりつつあります。これまで長らく1番人気はJavaでしたがGoogleで検索されている回数が2010年から半減しています。
Google検索のほかにも、米国の電気工学技術の学会誌である「IEEE Spectrum」の独自調査でも2017年・2018年の2年連続pythonが1位となっています。
引用元:https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
Pythonの人気の理由
昔から存在していたPythonが最近になってプログラミング業界で人気になりつつある理由としては、まずコードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴があるため、仕様が分かりやすいため開発期間が短縮できるという点にあります。
ですが、簡単な分同じ動きをするプログラムを開発したときに Pythonで作ったプログラムの処理速度は劣ります。ではなぜPythonが最近になって注目され始めたのかというと、昔はコンピュータの処理性能が快適にブラウジングや計算処理を実行するにはまだ足りなかったため、とにかく処理速度を重視していました。
なので、C言語やJAVAなどがシステムやアプリの開発に採用されることが多く、Pythonは1991年から存在していたもののそこまで主要な言語にはなりえませんでした。しかし、昨今のCPUやGPUの性能指数関数的な性能向上により、スマホなんてものも誕生しましたし、作成するプログラムの目的によっては 処理速度の遅さが問題にならないことが多くなってきました。そのため、処理速度は少し遅いけど、簡単で分かりやすいのでプログラム開発の期間を短縮できるPythonに人気が集まり始めているのです。
Pythonはライブラリの数が圧倒的
Pythonのでは標準ライブラリとサードパーティ製のライブラリや関数が利用可能です。Pythonのライブラリの豊富さはほかのメジャーなプログラミング言語とほと同じくらいです。
特にその中でもPythonの他のプログラミング言語にはない強みとしては、機械学習や深層学習(ディープラーニング)・強化学習系のライブラリーが豊富であり、AIやIoTの社会利用が進んでいく中でそういった研究がほかのプログラミング言語より簡単にできる点です。近年はスマホなどの登場から何にもかもデータとしてそういった点でpythonの需要は高まっていると思われます。
機械学習(ディープラーニング)が簡単にできる
Pythonを学ぼうと思っている方の中には、近年注目を集めている「人工知能」、とりわけ「深層学習(Deep learning)」に興味を持っている方もいらっしゃると思います。
Pythonの機械学習のライブラリでおすすめなのは、「Scikit-learn」と「keras」です。「Scikit-learn」は決定木などの機械学習アルゴリズムが簡単に呼び出せますし、「Keras」はTensorFlowの機能の一部を簡単に使えるライブラリでニューラルネットワークやディープラーニングの分野で活用されています。
この分野でよく使われる言語でもあり人工知能を学習したい、もしくは人工知能関連の職業に就きたいならPythonは習得必須と言っても過言ではありません!
Pythonはデータ分析にも便利!
Pythonはこういった機械学習やディープラーニングを始めとしたデータ分析に非常に長けたプログラミング言語です。なので、Pythonはデータサイエンティストや機械学習エンジニアになりたいという人はぜひとも学んでおきたいプログラミング言語です。
昔はデータ・サイエンティストの間で機械学習では「R」というプログラミング言語がよく利用されて、大学でもデータ分析といえば「R」でした。
これまでRでできたことが簡単にできるプログラミング言語はなかったのですが、PythonでRと似た機能を持つPandas やstatsmodel などのライブラリができ、機械学習も「scikit-learn」で簡単になったことから,「機械学習はPython 」というイメージが定着したのではないかと思います。
それに加えてPython は開発当初から科学やエンジニアリング のコミュニティがあったので、科学技術計算などに欠かせない「NumPy」や「SciPy」などの機械学習の補助的なライブラリーも豊富であり、これも機械学習においてPythonが持てはやされる理由の1つでしょう。
PythonはMIT(マサチューセッツ工科大)を始め、アメリカの大学の情報分析系の授業で使われるプログラミング言語にもなっており、データ分析と言えばPythonという風になりつつあります。日本のIT業界は基本的に海外の後追いなので、日本のデータ分析業界でもこれからシェアを伸ばしていくのはほぼ間違いないでしょう。
こんな感じで、Pythonには利用者・開発者がたくさんいるので、いろんなライブラリが作られて自分が作りたいものを作りやすい環境が整っています。個人的に最初に勉強するプログラミング言語を「Python」にしてよかったと思うことの最たる理由は、なんといっても「Jupyter notebook(ジュピターノートブック)」という開発環境があったという点です。
「JupyterNotebook」こそ大正義。 とにかく「JupyterNotebook」という、「今どき風なくっそ便利になった対話型インタープリター」で開発できるということは、トライ&エラーを繰り返しながらテストと開発を同時に行えるので全ての人にオススメです。
Pythonならwebからのデータ収集も超簡単
Pythonの強みの1つとしてはデータ分析のもとになるデータを集めやすいという点にあります。webサイトなどからデータをプログラムでデータを収集することを「スクレイピング」と言いますが、Pythonはこのwebスクレピングが「requests」「Selenium」「Pandas」といったライブラリのおかげで非常に簡単で実行できるため、データ分析にはもってこいのプログラミング言語なのです
Pythonはwebアプリも簡単に作れる
他にもPythonはこれまで紹介してきたデータ分析や機会学習・深層学習以外にもWebアプリなどの開発にも用いられています。Pythonで作られたWebアプリで有名なものには「Youtube」や「インスタグラム」などがあります。
こんな感じでみなさんが世間で聞いたことのあるサービスが実はPythonで作られているなんてこともありますし、これからその頻度はより増えていくでしょう。
これはPythonにはWebサービスを作るときに便利なWebフレームワークも豊富なのが理由です。WEBフレームワークとは、WEBアプリケーションを作るために必要な機能の詰め合わせのことで、Pythonは人気言語のため、便利なWEBフレームワークが開発されており有名なフレームワークは以下の3つです。
・Django
・Flask
・Bottle
今のところは「Django」というwebフレームワークが主流ですがこれからは変わるかもしれません。まあこれらを使えば、「Webアプリケーション」「デスクトップアプリケーション」「組み込みアプリケーション」「ゲーム」「機械学習(人工知能)アプリケーション」みたいなものはなんでも作れます。
プログラミング言語は一長一短があるものですが、Pythonの汎用性が高く作ろうと思えばほぼ何でも作れます。日本のIT業界は現在JAVAが主流ですが、これからPythonを始めとした次世代の言語に移行していくのではないかと個人的には考えています。
Pythonエンジニアは高収入
Pythonは求人検索エンジン「スタンバイ」で公開された2017年版プログラミング言語別平均年収ランキングにおいて、年収601万円で第2位という上位につけています。
つまりPythonを使えるエンジニアは同じWeb分野で使われているRubyやPHPなどのエンジニアと比べて平均年収が高いのです。ライブラリやWEBフレームワークの豊富さに加えて、給料もいいとなればもはやPythonを勉強しない理由はないんじゃないでしょうか?
そして、Pythonを使う職種が高収入な理由な1つとしては、「データサイエンティストになれる」という点があります。データサイエンティストとは最近話題になりつつある職業で、機械学習や統計学の道具を使って膨大なデータから企業の利益効率化のためのルールやシステムを見つける仕事です。
つまり、ビッグデータを解析してビジネスで役に立つ情報を見つけるという感じです。このデータサイエンティストの給料は現在需要に対して供給が追い付いていないこともあり、だいたい月給50万円~90万円程度の金額設定になっており、IT業界の中でもトップクラスの高収入になっています。
統計学や機械学習を使ったデータ解析業務は難しいですが、この収入なら下手な資格を勉強するよりも習得する価値が十分にあると思います。
終わり
もちろんプログラミング言語には得手不得手があり、一概にこれが絶対良いというものはありませんが、とりあえずプログラミングを初めてやってみる初心者はPythonから始めるのが絶対にオススメです。Pythonなら、スクレイピング・データ分析・機械学習・ディープラーニング・webサイト(Webアプリ)制作、なんでもできます。
加えてPythonを勉強しておいた方がいいのは、「Python+データ分析」が分かると待遇のいいエンジニアとして働ける確率が高まるからです。もちろんエンジニアというのは能力やブランディング次第で年収が変わるので、これができたら高収入!というような簡単な話ではありません。
しかし、平均・中央値が高いプログラミング言語のエンジニアになれば、高い給料をもらえる確率が高くなるということを意味するので、平均年収の低い言語を明確にこれが作りたい!という目的もなく勉強するくらいなら「Python+データ分析」を勉強しましょう。
もちろん現在開発案件の数が多いJAVAやPHPが出来れば立派なエンジニアですが、そういう言語は案件も多い分エンジニアも多いので、需要が小さく大した給料をもらえません。なのでjavaやphpしか使えないエンジニアの職場環境はブラックになりがちです。
IT業界がブラックと言われるのはこれら言語で仕事をしている人が多いからです。ですが、IT業界でもちゃんと専門知識を身に着けたりすることでホワイトに働くことは可能ですし、まあ昨今は人手不足で昔ほど他業界よりもブラックということはありません。
そして、現在はPCのスペックの向上やスマホの普及により20年前は夢物語であったAIやRPAの社会での実用が目前に迫っています。そういった意味で、これから統計学やディープラーニングを含む機械学習ができるPythonエンジニアの市場価値はますます高くなっていくでしょう。
確かに今はまだJAVAやPHPが主流ですが、今からエンジニアを目指す人が意識すべきなのは現在ではなく将来です。そう考えると私は今から勉強するプログラミング言語はPythonしかないと思う訳です。
コメント
[…] 暇人の研究室Pythonとは?言語の特徴やシェア、習得するメリットを徹底解説!!https://tkstock.site/2017/08/31/2017-08-31-194352/Pythonの人気の理由同じ動きをするプログラムを開発したときに Pytho […]