2021年からプログラミングを学びたい人に向けて書いております。
特に学びやすさと仕事の取りやすさ(採用のされやすさ)のバランスを考えて書いています。
おすすめ言語系の記事ってたくさんあるんですけど、どうしても上級者目線で書いてあって難しい言語をお勧めしている場合があるんですよねー。
それで挫折してしまった人も多いでしょう。
そのため学びやすさとトレンドのバランスを考えたので、これからプログラミングを始めたい人は、是非とも最後まで読んでみてください!
目次
おすすめできる言語一覧
JavaScript

やはり勢いは衰えませんね!JavaScriptは勉強になる資料が多い上に、実務で使われることも非常に多い言語です。
また、JavaScriptがあれば・・・
- Webアプリのフロントエンド
- node.jsでサーバーサイド
- ReactNativeでスマホアプリ
などなど、JavaScriptがあれば、なんでも作れてしまうのが最大の魅力と言えます。
ちょっと難しい文法はあるものの、使っている人が多いので、参考例もネットにいっぱい転がっています。
Python

Pythonも実は個人的におすすめできます。
Pythonの魅力は、ほとんどどこでも使えるので、非常に汎用性が高いことです。
ウェブアプリやスマホアプリのバックエンドアプリケーションで使いたい場合でも、機械学習関連の作業をしたい場合でも、Pythonはこれらの作業やその他多くの作業に欠かせません。
Pythonは、機械学習、ディープラーニング、人工知能、その他のデータサイエンス分野で好まれている言語なので、文法が簡単+汎用性が高いはJavaScript同様初心者の大きな味方になってくれるでしょう!
Swift

SwiftはiOSアプリを作るための言語ですね!
アップルはSwiftの発表に際して「モダン、安全、高速、インタラクティブ」を大きな特徴として挙げているだけあって、従来のObjetive-Cよりもずいぶんモダンになりました。
なぜSwiftをおすすめに入れたかと言うと、日本ではモバイルOSの需要が iOS >>> Android だからです。
iPhoneを使っている人が多いので、まずiOSからアプリを作ろう!
となることが多く、求人もiOSエンジニアの方が多くなっていることもあり、モバイルアプリに興味のある人はSwiftで書くと良いでしょう!
PHP

僕も使っているPHPですが、初心者にはおすすめです!
なぜかと言うと、
- 情報が多い
- Laravelというモダンなフレームワークがある
- PHPで作られたサービスがたくさんある(仕事がある)
- エラーハンドリングなど、初心者に優しい仕様
このように、僕もPHPで上手くプログラミングを習得することができたので、最初の挫折率が低い言語だと考えているため、初心者の方におすすめしています。
Ruby

Rubyも初心者にとって挫折率が低い言語ですね!
2017年あたりで大変流行ったRuby on Railsのベースになっている言語で、Webサービス関係の保守案件がたくさんあったり、ドキュメントもたくさんあります。
さらに、Railsチュートリアルという大変有益な学習サイトがあるので、それも大きな強みですね!
ただ、Laravel( PHP )に対して人気がなくなっているので、そこだけは注意が必要です。
おすすめできない言語
TypeScript

これは正直言語に入れようか迷ってたんですけど、絶対に手を出してしまう初心者の方がいると思ったので入れます。
TypeScriptは JavaScript の亜種なのですが、型指定ができるようになった静的型付け言語です。
静的型付け言語とはJavaやGoのような大規模開発向けのカチッとした書き方になります。
そのためエラー判定が厳しいので初心者にとってはハードルが高くなってしまいます。
もちろん型判定がついて、不用意なエラーを出なくなるんですけど、初心者の学習という観点では挫折率が高くなってしまうのでお勧めしません。
Java

Javaはとても多くの案件で採用されている言語で、仕事自体はいっぱいあるのですが、
- ブラックな案件が多い
- カッチリしすぎていて、エラー処理など、初心者にはハードルが高い
- 有償化の流れもあり、今後の案件に不安がある
といったデメリットが多いので、おすすめできない言語にしています。
Go

Goもおすすめできません!
人気は上がっているのですが、
- Java同様エラーに厳しい
- 基本的にAPIサーバーに使うので、併せてJavaScriptも学ばないといけない
と、Go自体はかなり優秀な言語なのですが、初心者が単体で学ぶことはおすすめできないので、そこは分けて考えてくださいね!
C

最後にC言語です。
僕も初心者の頃思っていたのですが、プログラミングを学ぶならまずはC言語!みたいに考えていました。
しかし、Cは難しいし案件も古いものばかりです。
Cを学ぶことで基礎は確かに学べますが、なにせ仕事になるまで時間がかかりすぎてしまいます。
人生は有限ですね。
そのため遠回りせず、まず何かアプリやサービスを最短で作れる言語を選んで、自分の作品を出せるように学ぶ事をおすすめしています。
最初に学ぶプログラミング言語は考え方を学ぶため
お勧めできる言語おすすめできない言語紹介してきましたが、まず大切なのは、1つのアプリやサービスを作り切ることです。
そのため、この記事を見て終わりにするのではなくて、いくつか学べるリンクを紹介しておくので、見てみてください。