Pythonの将来性はある?他の言語と比較して現役エンジニアが解説してみた
- これからPythonを学ぼうと思っているけど、将来性はあるのだろうか?
- 他のプログラミング言語を学んだ方がいいのではないか?
今回は、このような疑問を持っている方向けに、Pythonは将来性はあるのか?という質問にお答えします。
Googleで「python 将来性」と調べると、
- python やめとけ
- python 時代遅れ
- java python 将来性
- javascript python 将来性
- ruby python 将来性
などのような結果が出てきます。
この記事では、上記のような疑問にお答えしつつ、
- Pythonの将来性について
- 他のプログラミング言語と比較
について解説していきたいと思います。
結論からいうと、Pythonの将来性はあります。
Pythonとはそもそもどんな言語?
Pythonは、1991年にグイド・ヴァン・ロッサムが創り出したプログラミング言語で、今日ではAIやデータサイエンスの領域をはじめとして、様々な目的で広く使われています。
Pythonは動的に型付けされる言語で、変数の型を明示せずに利用できます。これにより、開発者はプログラムを速やかに作成でき、開発がし易い言語になっています。
また、Pythonの構文は他の多くのプログラミング言語よりも短縮されており、読むのが容易であるという特徴があります。それがPythonが初心者にとって学習しやすい言語となる要素の一つです。
Pythonには、データ分析やウェブ開発、機械学習といった分野に特化した標準ライブラリが豊富に用意されています。これには、データサイエンスで一般的に使用されるNumPyやpandas、機械学習で使われるscikit-learnやTensorFlowなどが含まれます。
Pythonの適用範囲は広大で、他のプログラミング言語は基本的にエンジニア以外はあまり手がけないものですが、Pythonはその文法の明確さから、ビジネス職の方々(データサイエンティスト、マーケター、PdM等)も頻繁に活用しています。
Pythonに将来性がある理由
Pythonの有利な点について理解を深めていきましょう。
Pytnonに将来性がある理由①:初学者にとって読みやすいため今後多くの人に使われやすい
Pythonは、その設計哲学として「読みやすさ」を重視しています。 Pythonの設計思想は、「複雑さよりもシンプルさが優れている」、「明瞭さが重要である」という原則に基づいています。 この「読みやすさ」とは、コードが簡潔で理解しやすいということを意味します。Pythonの文法は、他の多くのプログラミング言語と比較して直感的で、非常に「人間に優しい」設計になっています。(というか初学者に優しい設計になっています。 具体的には、Pythonでは、コードのブロックを表現するために波括弧({})ではなく、インデント(空白またはタブ)を使用します。この設計により、コードの構造が視覚的に明確になり、他のプログラミング言語に比べて読みやすくなっています。インデントによるブロック構造は、プログラムの流れを自然に理解しやすくするため、特にプログラミング初学者にとって学習が容易です。 個人的には、Pythonを書いているときは、他の言語と比べるとコードを書く必要がなく、英語をそのまま書いているような感覚です。Javaなどと比べると、直感的に書くことができます。
Pytnonに将来性がある理由②:AI/データサイエンス領域のライブラリが充実している
PythonはAI(人工知能)やデータサイエンスの分野で広範囲にわたり用いられています。これは、Pythonが擁する豊富なライブラリやフレームワークが大きく影響しています。
- BeautifulSoup
- Request
- NumPy
- Pandas
- Matplotlib
といったデータ分析のライブラリでデータの収集、処理、分析、視覚化までできます。 また、TensorFlowとPyTorchなどのAIライブラリなどがあります。 また直近では、ChatGPTで有名なOpenAIなどの生成AIのAPIなどを扱いやすいライブラリも、Pythonから利用可能なケースが多いです。 個人的には、生成AIなどのような技術の最先端を追うのであれば、とりあえずPythonかNodeJSがかけておくと何かと便利かと思います。
Pythonに将来性がある理由③: 汎用性が高い
Pythonは、Web開発、データ科学、AI、ゲーム制作といった多様な分野に対応可能な高い汎用性を持つ言語です。
- Webアプリを作りたい!
- データ分析したい!
- RPAのように業務を自動化したい!
- AIを使いたい
そういった場合、基本的に全てがPythonで簡単にできます。私自身の主要な言語はRubyとJavaScriptですが、データ分析やAIに取り組みたいと思うと、やはりPythonを利用することが多いです。
Pythonに将来性がある理由④:Pythonは世界中で使われているから
Pythonは世界中で使われています。 Pythonのプログラミング言語が世界中でどれほど使われているかについて、TIOBEインデックスが参考になります。 2024年2月のデータによると、Pythonは世界で最も人気のあるプログラミング言語としてランクインしており、その人気度は15.16%です。
Pythonが高評価を得る要因は、その柔軟性、充実したライブラリ(numpy等)、そしてフレームワーク(django等)の存在によるものです。
Pythonに将来性がある理由:日本でも多く使われている
Pythonは、日本でも多く使われています。 「プログラミング言語利用実態調査2021」によると、日本においてPythonの使用率は高まっています。
調査結果から見ると、455人の回答者の中で151人がPythonを使用しており、エンジニアの3割以上がPythonをビジネスで使っています。 他のプログラミング言語、C/C++やJavaなどと比較して、Pythonの利用が増えていることが確認できます。Pythonの普及は、その柔軟性、使いやすさ、そして広範囲なアプリケーションでの利用可能性によるものです。特に、デジタルトランスフォーメーション(DX)を推進するための新規システム開発において、多くの企業がPythonを選んでいます。DXの中心となるデータ分析やAIシステム開発には、従来の基幹系システムとは異なるプログラミング言語が必要とされ、Pythonがその要求を満たしています。
Pythonでできることは?
Pythonでできることについてもみていきましょう!
Pythonでスクレイピングという技術で、自動でネット上のデータを取得することができる
Pythonでは、スクレイピングという技術があります。スクレイピングとは、簡単に言うとプログラミングで自動でWebサイトにアクセスして、インターネット上の情報を取得して、ダウンロードできてしまう技術です。
例えば、僕の友人では、海外の商品を仕入れて、日本で販売している人がいます。そして、そのために海外のWebサイトにアクセスして、毎日そのサイトに在庫があるのかを確認していたんですよね。でも、正直めっちゃくちゃ時間がかかるわけで、大変なんです。
でも、Pythonを学んでスクレイピングの技術を学ぶと、その面倒なルーティンを完全に自動化できます。Webサイトの中のすべての商品データにアクセスして、その中で在庫があるものだけピックアップして、CSVファイルやExcelファイルにダウンロードすることも可能なわけです。クラウドソーシングの案件で、以前これを自動化してあげたところ、お客さんが本当に喜んでくれました。
他にも、例えば営業先の顧客リストを用意したいときも、スクレイピングを利用すると非常に簡単に作ることができますね。僕自身が以前に作ったチュートリアルだと、あるWebサイトの記事名と記事URLを自動ダウンロードできるように解説しました。この技術を学ぶと、営業リストを自動で作成することもできます。
昔僕がやっていたのは、クラウドソーシングサイトでどういうスキルが一番単価が高いのかを調べた時もスクレイピングが非常に便利でしたね。
PythonでAPIという技術を利用すれば、普通だと取得できない他人のツイッターのデータを取得して分析することができる
僕はフォロワーが2万人いるのですが、このフォロワーを獲得するためにはかなりツイッターのデータを分析したうえで施策を考えているんですよね。
だからインフルエンサーのツイートとかって、めっちゃくちゃ勉強しているんですよ。どんなツイートが伸びやすいのかとか、favされやすいのかとか。
でも普通にツイッターを利用して、他人のツイートをさかのぼろうとすると、データがとれないんですよね。手打ちでやるのは相当面倒くさいです。
でも、Pythonが使えれば、APIというデータの窓口からツイッターにアクセスすることができます。APIとは、あるウェブサイトから情報を取得したり、情報を送信することができる窓口のことです。
ツイッターはAPIを提供しているので、例えばPythonからAPIを経由してツイッターに投稿するようなこともできるんですよね。ちなみにAPIとスクレイピングからのデータ取得の違いは、APIは公式でデータが取得できる窓口なのに対し、スクレイピングは公式の窓口からデータ取得しているわけではないということになります。
僕がよく使うのは、ツイッターのAPIを利用して、他人のツイートをすべて取得したりできます。自分がツイートを参考にしているインフルエンサー10人の過去500件のツイートをPythonでデータを取得して、そのデータをもとに特にRTが多かったものを並び替えるなんてことも、Pythonを使うと学ぶことができます。めっちゃくちゃ便利じゃないですか?
あとは例えば、自分のツイートで特に伸びたツイートとかをAPI経由でデータを抽出して、自分の伸びるツイートの特徴を洗い出してみると、伸びやすいツイートってしやすくなりますよね。実際僕は過去のツイートを5000件くらい取得して、特に伸びたツイートを分類してひたすらツイートをしたら、フォロワーが5カ月で6000人くらい増えました。
Pythonを使えば、データの加工をエクセルより簡単にすることができる
例えば、営業チームのExcelを取得して、ほかのチームとデータを結合したいみたいな場合がありますよね。
でも人によっては、売上を¥11,000 と書いている人がいたり、11000円と書いていたり、¥11000と書いている人がいる場合ってよくあると思うんですよ。
これをエクセルで全部処理しようとすると、途方もなく時間がかかります。
でも、Pythonを利用してデータの加工を行うと、3行くらいのスクリプトで全部きれいに整理することができるんですよね。下のコードはイメージですが、こんな感じ。
import pandas as pd # データを加工できるツールを読み込む
df = pd.read_csv("text.csv")# CSVのデータを読み込む
df["price"] = df[df["price"]].replace("円", "") #円と書いてある部分を消すことができる
エクセルで人力でデータの加工をしていたのがあほらしくなってくるくらい、Pythonができると便利です。
Pythonを使えば、データ分析ができる
例えば、データを処理して、それを折れ線グラフや円グラフに可視化したい場合って、多くの人がエクセルを使うと思うんですけど、エクセルで対応しているグラフ以外で可視化したい場合もありますよね。例えば、ワードクラウドと呼ばれるような可視化の方法もありますが、エクセルではできません。
また、可視化に限らず、込み入った統計解析をしたい方もいらっしゃると思います。
たとえば二項ロジスティック回帰分析を過去にエクセル上でしようとしたのですが、エクセルではできずに非常に困った記憶があります。(エクセルはぎりぎり重回帰分析ぐらいまで)
しかし、Pythonではほぼすべてのグラフ表示に対応していたり、AIと呼ばれるような機械学習の統計解析方法についてもすべて網羅しています。PythonではMatplotlibというライブラリ(ツール)を利用すれば、簡単にグラフの描画を行うことができるのです。
また、Pythonを利用して他人にプレゼン資料が創れるJupyter Notebookを利用すれば、そのデータ分析の過程もWeb上で共有できるのです。本当に便利ですよね。
また、データの取得から加工、分析までもシームレスにできるのも、Pythonの良い点です。
例えば、メルカリのデータを取得して、こんな感じで可視化をすることもできるんですよね。これも全部Pythonでやっています。
https://twitter.com/never_be_a_pm/status/930444641022853121
PythonはAIのライブラリが最先端である
AIを学んでみたい人も多いと思いますが、AIのライブラリが豊富なのはRという言語とPythonです。(一応ほかにもJuliaなんてものもあります)
機械学習のライブラリ、ディープラーニングのライブラリが豊富なので、AIを学びたいという方はPython一択かと思います。
Pythonを使えば、Webアプリを作ることができる
例えば、ログインが必要なWebアプリを作りたい人もいるかもしれません。
Pythonを使えば、Webアプリケーションを作ることができます。PythonでWebアプリを作るためには、HTML, CSS, JavaScriptなどWebページの見た目を作る言語と、Webアプリを作るためのフレームワークDjango、Flask、またデータを保存するSQLを学ぶ必要があります。
僕が以前に作ったのは、メルカリ上のデータをWebの画面からポチポチするだけでダウンロードできるようなシステムです。こんな感じでスクレイピングとWebアプリをかけ合わせたりすることもできますね。
なのでほかのスキルと比べると難易度が高いですが、AIとも相性がよいので、AIアプリをつくりたいなんてときもPythonが非常におすすめです。
具体的にどのように作ればいいかについては、こちらの記事も読んでみてください。
Pythonの年収相場
Pythonエンジニアの年収を以下の観点でみていきましょう。
- Pythonエンジニアの世界の正社員平均年収
- Pythonエンジニアの日本の正社員平均年収
- Pythonエンジニアの日本のフリーランス(業務委託)平均年収
Pythonエンジニアの正社員の平均年収
引用:求人検索サービス『スタンバイ』の調査(2017)
また、求人BOXでは、Pythonエンジニアの平均年収は573万でした。
引用:求人ボックス(2023年4月30日確認時点)
2022年にdodaが出した平均年収の統計が以下だったので、Pythonエンジニアが他の職業と比べても稼ぎやすいことがわかります。
引用:doda(2022年12月19日時点)
Pythonは正社員の転職市場でも人気なため、年収が上がりやすいです。
Pythonエンジニアのフリーランス年収
複数のエージェント案件情報をまとめて掲載しているフリーランススタートによると、Pythonのフリーランス案件単価は、65万円程度が目安です。
月65万円のPython案件を獲得できた場合、年収は780万円程度です。
Pythonには副業エンジニア向けの案件も多くあり、正社員+副業で稼いでいく、という方法もありえます。