プログラミングを始める際、どのような言語を学べばよいのだろうか?と思うのではないでしょうか。
そういった方にプログラミング言語の選び方をお伝えしようかと思います。
1.プログラミング言語の種類
まず、プログラミング言語はどのようなものがあるのでしょうか。
代表的なプログラミング言語とサービスです。
プログラミング言語/サービス | Webサイト | 機械学習/AI | IoT | 組み込み系 | アプリ開発 |
HTML | ◎ | ||||
CSS | ◎ | ||||
JavaScript | 〇 | ||||
PHP | 〇 | ||||
Java | 〇 | 〇 | ◎ | ||
Python | ◎ | ◎ | |||
C++ | 〇 | ||||
C# | 〇 | 〇 | |||
Swift | ◎ | ||||
Ruby | 〇 | ||||
R | 〇 |
このようにどのサービスを作成したいか、関わりたいかによって言語が変わってきます。
それぞれの難易度はこちらです。
プログラミング言語/サービス | 環境構築難易度 | 言語学習難易度 | 実行難易度 | コメント |
HTML | ★ | ★ | ★ | ブラウザがあればすぐ書ける、 結果が見える |
CSS | ★ | ★★ | ★ | 取り組むのは簡単、極めるのは奥深い |
JavaScript | ★ | ★★★ | ★★ | 取り組むのは簡単、応用範囲が広い |
PHP | ★★ | ★ | ★★ | 構築さえできれば、 取り組みやすい言語 |
Java | ★★★ | ★★ | ★★★ | 環境構築、デバッグなど入門者の つまづきポイント多し、 開発者多いためヘルプなどは充実 |
Python | ★★ | ★★ | ★★ | スクリプト言語のため学習しやすい |
C++ | ★★★ | ★★★ | ★★★ | 環境構築、実行環境を整える際に 入門者のつまつきポイント多し |
C# | ★★★ | ★★★★ | ★★★ | 環境構築、学習、実行いずれも 入門者には難易度高し |
Swift | ★★ | ★★ | ★★ | iphoneアプリとして実行できるため イメージしやすい |
Ruby | ★★★ | ★★ | ★★★ | Javaの上位言語、学習しやすい |
R | ★★★ | ★★★ | ★★★ | 統計用の言語、必要があるときに 学習するべし |
※Code Campus参照
2.選び方
では、どのように学ぶプログラミング言語を選べばよいのでしょうか。
私が選ぶのであれば取り組みやすく、今後も活躍できる言語を選ぶ方が良いではと思います。
ではどの言語が良いか?というと
「Python」
です。
Python先ほどの表で「環境構築難易度」「言語学習難易度」「実行難易度」ともに「★★」でした。
「★★」ですが、私の印象は言語の難易度も高くなく、環境もすぐに構築できる印象です。
それに下図を見て頂くと、スキルとして持っていると割と年収高めです!!
画像出典:みんなのスタンバイ プログラマー平均年収ランキング2017
求人検索エンジンスタンバイ https://jp.stanby.com/
このような選び方ではなく、例えば「Webサイトのサービスに関わりたい」「組み込み系をやってみたい」といったことが決まっていて言語を選ぶこともあるかと思います。
そのような方は先ほどの言語とサービスの表と難易度で判断してもよいのではないでしょうか。
3.求人情報数
代表的なエンジニアの求人サイトでの求人数は下記になります。
プログラミング言語 | リクナビ Next |
DODA | パイザ | キャリコネ | Indeed | 総求人数 | rank |
HTML | 117 | 256 | 283 | 1642 | 7643 | 9941 | 4 |
JavaScript | 104 | 380 | 889 | 2362 | 7093 | 10828 | 3 |
PHP | 248 | 722 | 866 | 3605 | 9319 | 14760 | 2 |
Java | 484 | 1729 | 990 | 5372 | 15893 | 24468 | 1 |
Python | 87 | 301 | 255 | 1606 | 3378 | 5627 | 8 |
C++ | 1172 | 701 | 393 | 998 | 5897 | 9161 | 6 |
C# | 1172 | 669 | 552 | 882 | 6412 | 9687 | 5 |
Swift | 34 | 92 | 278 | 805 | 1129 | 2338 | 9 |
Ruby | 83 | 286 | 464 | 2200 | 3919 | 6952 | 7 |
R | 5 | 8 | 26 | 22 | 313 | 374 | 10 |
先ほどお勧めした「Python」は10位中8位と求人数は高くないです。
[Pythonよりも求人数が多い理由]
・スマホ等のWebサイト系のビジネスが圧倒的に多くなっている
・昔から使用されている言語は古い資産を改修するために言語を使い続けられている
[Pythonの求人数が少ない理由]
・機械学習/AIを導入した製品が少ない
・開発体制、仕組みがまだ整えられていないため多くの人数を採用できない
といったことが要因と思われます。
では、なぜお勧めかというと「今後使われる言語だから」です。
他のWebサイト系や古い言語のCやC#などは使われ方により実行しやすい言語に変わっていくと思います。
Webサイト系言語 ⇒ GUIで操作できる言語等、より使いやすい言語が使われる
古い言語 ⇒ 製品自体で使用される言語を新しい言語で再作成される
現在、機械学習/AIを用いた製品が出始めています。
※カメラや家電に搭載され始めている
そう考えると「Python」のスキルは希少価値が収入も高額、今後も活躍できる言語ではないでしょうか。
4.まとめ
これからどのようにしてプログラミングを勉強して仕事にしていこうかと考えている方はぜひ「Python」を勉強してみてください。
コメント