プログラミング言語のPythonについての考察

Pythonはオブジェクト指向のプログラミング言語です。

「GitHubPullRequest」では、2019年第4四半期に2位となるほど人気の言語です。

Pythonは1991年公開とプログラミング言語のなかでも若い部類です。海外では以前から流行っていたのですが、日本では同時期にRubyが注目されていたため、ここ数年前まではあまり馴染みのない言語でした。しかし今、国内外問わずの注目技術である「人工知能(AI)」開発の場において「Pythonが有利な言語である」ということから火がつき、日本でも注目を集めています。

この記事では、そんな注目度抜群の「Python」について考察していきます。

Pythonとは

Pythonの特徴として、以下の事柄が挙げられます。

  • シンプルで分かりやすいコード
  • ライブラリが豊富で、目的のアプリケーションを開発しやすい
  • コンパイルが不要(インタープリタ型言語)
  • インタープリタ型言語かつ変数宣言がないためC言語と比べると処理が遅い

Pythonでできること

「Pythonといえば人口知能(AI)」というようなイメージも浸透していますが、AI以外にも開発できるものがたくさんあります。Webサイト、IoT、デスクトップアプリケーション、それからロボット……幅広いシステム開発ができるのがPythonの特徴です。

Pythonではどんなことができるのか、どんなものを開発できるのか。ごく一部になりますが紹介致します。

機械学習・人工知能

機械学習ではコンピューターに大量のデータを読み込ませて解析をかけ、データの規則性を見つけて学習させます。そこへ更に新たなデータを入力すると、それが未知のデータであっても規則性に基づき大量のタスクを遂行させることができるのです。

人工知能はこの「機械学習」を基盤とした技術なのですが、Pythonは機械学習に関するライブラリがとても豊富です。中でもNumpyやPandasなどが有名ですね。

機械学習に特化した言語には他にRがあります。こちらもPythonのライブラリと同様、機械学習向けのパッケージが充実しています。しかしRが統計解析専門に開発された言語であるのに対し、Pythonは汎用言語。統計学の知識がある人が扱うことが前提のRに比べて、Pythonは日本語の教材が豊富で、専門的知識が不要というメリットがあります。ちなみに、あの有名なPepperくんもPython製です。

Webスクレイピング

Webスクレイピングとは「Webページの情報を自動で取得して加工し、再利用可能なデータに変換すること」です。Webスクレイピング技術で成功しているWebサービスでは、indeedやSmartNewsが有名ですよね。

indeedではインターネット上の様々な求人情報を、SmartNewsではニュース記事やコラムをスクレイピングで集めています。さまざまな業界で応用が効くため、今後スクレイピング技術をもとめる企業は多くなるでしょう。

Pythonは、このスクレイピング向けのライブラリも大変充実しています。RubyやPHPでもスクレイピングは可能ですが、Pythonによるスクレイピング技術の書籍はかなり豊富で、ネット上のスクレイピング技術に関する記事でもPythonが優勢です。

これからPythonを学ぶメリット

汎用言語であり、どんな場面でも利用できることが魅力のPython。注目を集める新しい技術にも取り入れられており、今からでも学習するメリットがありそうです。しかしPythonと同じことができる言語は他にもあります。これからPythonを学習することにどのようなメリットがあるのかを見ていきましょう。

初心者にもやさしい

Pythonは非常にシンプルでわかりやすいソースコードを書くことができます。

文法がシンプルで、一見特定の処理とは関わりがなさそうなコードを書くようなことがないため、初心者にもわかりやすく、最初の言語としても選ばれるほど。忙しい現役エンジニアでも独学で十分に習得できる、学習コストが非常に低くてやさしい言語です。誰が書いても同じコードになりやすく、可読性が高いため、他人のコードであっても「何をするためのコードなのか」がとてもわかりやすくなっています。

実務の現場では「他人のコードが汚くて読めない」「過去の自分が何をしたかったのかわからない」ということがしばしば起こりますが、Pythonではそういった悲劇が起きにくいです。日本語のドキュメントや書籍、ネット上の情報も豊富で、初心者が独学でも習得しやすい環境が整っています。

Pythonエンジニアの平均年収が高い

求人検索エンジン「スタンバイ」が発表した「プログラミング言語別年収ランキング2018」で、Pythonは第3位。年収中央値は575.1万円、最大提示年収は1,499万円とまずまずの結果です。

他言語と比較しても有益

Pythonのライバル言語として、機械学習ではR、WebアプリケーションではRubyやPHPが挙げられます。

まずはRと比較してみましょう。年収中央値にはあまり差がありませんが、最大提示年収はPythonが500万円ほど高いです。そして求人数ですが、Rは220件、Python9,344件と比べ物になりません。Rが専門家向けの言語にあることに比べ、Pythonは初心者にもやさしい言語であることから、これほど求人数に差が出ていると考えられますね。

次にRubyやPHPと比べます。

PHPは残念ながらランキング圏外でした。Rubyは求人数は11,676件とPythonより多いのですが、年収中央値、最大提示年収ともにPythonを下回る結果となりました。RubyはPythonと同年代ですが、日本にはRuby学習者が多く、注目されてこなかったPythonに比べて人材希少価値が下がってしまったのでしょう。

ちなみに、PHPについては別記事にて考察しています。

このように、Pythonは得意分野を同じくする他言語に比べて年収で勝る部分があります。

これまで慣れ親しんだRubyやPHPと同じようなWebサービスが作れて、機械学習や人口知能開発までできてしまい、年収アップまで見込めるならばPythonエンジニアを目指すのも良いかもしれません。特にフリーランスであれば「いつでも案件が豊富で、高単価な言語を習得していたい」と考えるでしょうから、いまPythonはピッタリですよ。

Pythonは現役エンジニアにもおすすめの言語

これまでC言語やPHPが主流だった現場で、Pythonがどんどん使われ始めています。Pythonは、今現在別の言語をメインにして活動している現役エンジニアの方々にも取り入れていってほしい注目言語です。特にフリーランスエンジニアとしてやっていく方にはおすすめです。人工知能開発が進んでいくこれからの時代にはますます需要が高まり、食いはぐれることはないでしょう。

Pythonは第二、第三言語としても強くおすすめできるポテンシャルの高さを持つ言語です。ぜひ学習を検討してください。

この記事を書いた人

freestyleEngineer

中小SIerにてシステムエンジニアとして高稼働案件に振り回されながらスキルを磨く。キャリアの中盤からPMを任されることが多くなり、マネジメント寄りのキャリアに進む。現在はエンジニアの希望に応えられるような案件を紹介するフリーのエージェントとして奮闘中です。