こんにちは、ケニーです。
これからプログラミング言語を学びたい!と一度でも考えたことがある多くの人は学ぶ言語の選定に悩んだことがあるのではないでしょうか。
今回はプログラミング言語を選定していく上で必要になる情報をまとめました。
プログラミング言語を選定していく上では、まず自分自身がやりたいことを明確にした上で、本記事で紹介する基礎的な情報を基に判断していくべきだと考えます。
選定していく流れとしては、以下のような流れで言語を選定していくとよいでしょう。
- 言語を習得してやりたいことを明確にする
- やりたいことに適したプログラミング言語がなにか知る
- 候補の中からより自分にとって価値のある言語を選ぶ
- 例えば仕事につながりやすい言語など
是非これから勉強するプログラミング言語を選定して上で参考にしてもらえると嬉しいです。
プログラミング言語の用途
プログラミング言語が使用されるシーンは様々です。それぞれの言語がどういった用途に適しているのか知ることは、言語を選定してく上で必須です。
以下の表に使用用途とそれに適した言語をまとめました。
用途 | 適した言語 | 使用事例・具体例 |
---|---|---|
Webアプリ | PHP/Python/Ruby/Node.js/JavaScript etc. | メールサービス(Gmail)・ECサイト(Amazon)・SNSなど |
スマートフォンアプリ | Java/Kotlin/Objective-C/Swift etc. | Android・iOS系(iPhone・iPad) |
パソコン(デスクトップアプリ) | C++/C#/Visual Basic/Swift/JavaScript etc. | Windows・macOS |
人工知能(AI)・機械学習 | Python/C++/R | 画像認識・機械翻訳・自動運転 |
組み込み機器 | C/C++/Java/Python | 機器に組み込まれている制御システム |
主要言語の需要
勉強するプログラミング言語を選定していく上でいくつか候補が出てきた場合、その言語が世の中でどのくらい需要があるのか調査することをおすすめします。
仕事につながりやすい言語・世の中でより多く使用されている言語を習得すれば、将来の選択の幅や可能性が広がります。また独学で学んでいく上でも世の中により情報が多くあるので、勉強しやすいといったメリットもあります。
以下の表にITエンジニアの転職支援サービスを提供しているレバテックキャリアを参考にして、プログラミング言語の仕事へのつながりやすさを、求人数をもとに調査しランキング化しました。
順位 | 言語 | 求人数 |
---|---|---|
1 | Java | 3548件 |
2 | PHP | 2500件 |
3 | JavaScript | 2242件 |
4 | Python | 1821件 |
5 | Ruby | 1524件 |
6 | C# | 1343件 |
7 | C++ | 1012件 |
8 | C | 861件 |
9 | Swift | 840件 |
10 | Objective-C | 674件 |
ちなみにレバテックキャリアによると、2020年企業に人気の人材ランキングベスト5は以下のようになるそうです。
順位 | 言語 |
---|---|
1 | Kotlin |
2 | Java |
3 | Swift |
4 | JavaScript |
5 | PHP |
まとめ
今回は初めて勉強するプログラミング言語を選定していく上で必要な情報をまとめてみました。
繰り返しになりますが、まずは自分自身がプログラミング言語を勉強する目的をはっきりさせましょう。その後本記事を参考にして、言語が使用されている実例や仕事の需要を認識していくことが重要です。
時代の流れによって、その時に必要になってくるであろう言語や需要も変化してきます。例えば、人工知能や機械学習といった分野で使用される言語は、今後需要が伸びていくことが予想されます。だからこそ、さまざまな情報にアンテナを張りながら、情報を得ていくことが重要だと思います。
自分が目指すべき目標を明確にして、しっかりとした判断基準をもってどの言語を習得していくか判断することは、数多くあるプログラミング言語の中から効率的に勉強していく上で非常に大切になります。
是非迷ったらこの記事をみていただき参考にしてもらえると嬉しいです。
またこの記事を書く上で参考にした「プログラミング言語大全」には、おすすめのプログラミング言語を簡単に選ぶためのチャートが用意されています。どのプログラミング言語から勉強すべきか迷っている人は、この本を参考にすることもお勧めします。
Hope you have a better day tomorrow!