素人がゼロからWebサービスを作るノウハウ!②Pythonにする理由

素人がゼロからWebサービスを作るノウハウ!②Pythonにする理由

前回は、最初にやることを説明しました。今回は言語にPythonを選んだ理由を説明します。
Pythonを選んだ理由は将来性があってカッコ良さそうだからです(笑)

どうせ時間を投資するなら将来性がありそうな言語がいいと思います。

ネットで色々調べると、Pythonはとても人気があります。。データ解析や機械学習、AIにも強いという事で将来性抜群かと感じました。もちろんWebアプリにもデスクトップアプリにも使えますし、組込み機器アプリなど何にでも使える言語です。
下図は、IEEEが発表しているプログラミング言語ランキングです。


出典:The 2018 Top Programming Languages – IEEE Spectrum Ranking

Pythonは2年連続1位を取っておりこのデータからも人気の高さがうかがえます。
また、2017年収ランキングでは下図のようになっております。

出典:みんなのスタンバイ プログラミング言語別 平均年収ランキング2017

2018年版のソースが見つからなかったので2017年版を貼り付けましたが、2018年のPythonの順位は3位だそうです。2016年は1位でしたので若干低下傾向にありますが上位層に入っていることは間違いありません。

Pythonの年収が高いのは、AI、ビックデータ解析、機械学習などへのニーズが高く、数学、統計が出来て、かつPythonが使える人材が求められているのではないかと個人的には考えています。

ランキングを出すときはいろいろな見方があるので、
「The 2018 Top Programming Languages – IEEE Spectrum Ranking」 や「みんなのスタンバイ プログラミング言語別 平均年収ランキング2017 」の結果は一例でしかありません。ですが、どのようなランキングを見てもPythonは10位以内に入っていることが多くPythonを選んで失敗はないと考えます

実際に使ってみた感じも分かりやすいと感じました。
Pythonは、『短くシンプルに書ける』、『覚えることが少ない』、『書き方にルールがある』という特徴があります。
特に素人としてありがたいと感じたのは『書き方にルールがある』ため、ルールを守らないと動かないという特徴です。

例えば、下記のコードはxの階乗を求める再帰的(自分自身を呼び出す)プログラミングの関数をPythonとc言語で書いたものです。
xが0以外の場合はxから1を引いた値を引数に自分自身であるfactorial(x)を呼び出すので例えばxが6なら1×2×3×4×5×6と計算され720が返されます。

Pythonで書いた例(出典:Wikipedia)

C言語で分かりづらく書いた例(出典Wikipedia)

c言語では上記のように分かりづらい書き方が可能です(もちろん分かりやすく書くことも可能です)が、Pythonでは『書き方にルールがある』ためc言語のように分かりづらい書き方をすることができません。 結果的にルールを守ると綺麗で分かりやすいプログラムが書けます。
このようなことからPythonは、素人が最初に覚える言語としてもお薦めです。

「プログラミング初心者ですがどんな言語を使えばいいですか?」という質問に対しては「作りたいものが何かによって最適な言語が違うので・・・』という回答が多いです。それはその通りだと思います。ですが、初心者は言語の違いや特徴を理解できるほど知識がありません。そういう人はPythonではじめてみて下さい。Pythonで出来ない事があれば他の言語を使えばOKという気持ちで、始めましょう。

わたしの場合は、『てるてる坊主』と『GeoTalk』を作る上で、PythonだけではなくJavaScriptやSQLの知識が必要になりました。ですが、Pythonで変数、関数、配列、条件分岐等プログラミングの基礎を理解出来ていたので、短時間でJavaScriptやSQLを使えるようになりました(使いこなすには程遠いですが)

結局、どれか一つでいいのできちっと基礎を学んでおく事が重要かと思います。また、プログラムを作るうえのベースの考え方は共通する部分が多いので、言語はどれを選んでも大差ないのではないかと思っています。言語を決められなくて先に進めないのは勿体無いので、決められなかったらPythonで決まり!

次にPaizaを基本に勉強をした理由をご説明いたします。

連載記事一覧

素人がゼロからWebサービスを作るノウハウ!①最初にやること
素人がゼロからWebサービスを作るノウハウ!②Pythonにする理由
素人がゼロからWebサービスを作るノウハウ!③学習はpaizaにする理由
素人がゼロからWebサービスを作るノウハウ!④サーバーをAWS.EC2.t2.microにした理由
素人がゼロからWebサービスを作るノウハウ!⑤開発環境もEC2
素人がゼロからWebサービスを作るノウハウ!⑥Dockerを使おう