20200225追記しました。
#この記事の前提
最近プログラミング言語についておすすめ記事をよく見るので自分も書いてみようかと思いました。
ちなみに私はSES系の中小SIerで4年位働いてるSEです。
主にサーバーサイドをいじることが多いです。
WEB系業界のことについても知ってる範囲で書いていきたいと思います。
(間違ったこと言ってたら訂正ください)
以下のことを前提に読んでいただきたいです。
・基本私が触ったことがある言語を中心に触れていきます。ないからと言って良くない言語というわけではないです。
・主に「習得のしやすさ」「習得後の需要」の2点を中心におすすめしたいと思います。
##JavaScript(習得のしやすさ:6~8点、習得後の需要:9点)
主に画面側で動きをつけるために使われる言語
最近はサーバー処理になどにも使われるようになり、そちらも含めて習得なると習得難易度は上がると思います。
フロントとサーバーどちらをメインに仕事にするかによるかによりますがhtml、cssと一緒に最低限身につけておいて損はない言語だと思います。
(html、cssは今回触れませんが最低限読めるようにはなりましょう)
###20200225追記
これを書いた当時はjQueryくらいしか知らなかったのですがJSはFWの切り替わりが早い分ずっと現役な気がします。
Angular、Reactとか・・・
ネイティブなJSのことを知らずにFWベースで習得すると毎回違う言語を勉強している感覚になるのでJSの基礎から勉強するとあとから楽になると思います。
##PHP(習得のしやすさ:8点、習得後の需要:8点)
おそらく未経験社会人でできるだけ早く仕事を見つけたい人に一番オススメの言語
言語として難易度が高くない点、教材が豊富な点、成果物を作りやすい点など身に着けやすい言語です。
またWEB系企業で一番使われている言語なので首都圏で中小企業への就職に抵抗がなければ実用性も高いです。
(地方だとWEB系企業の数そのものが少なかったりするのでSIerへ行こうとすると評価されないかもしれません)
##Java(習得のしやすさ:6点、習得後の需要:7点)
PHPとは逆にSIer業界で一番使われている言語
昔からある言語なので学習のための情報はたくさんあるけどPHPにくらべ成果物は作りにくいです。
言語のほうがバージョンアップしてもエンジニアのほうが古いままのことが多い気がします。
静的型付け言語であまり好きではないですがメリットはたくさんあるんですよね・・・
求人数など見ると下り坂の言語なので今から未経験で身につけるというのはあまりコスパは良くないかもしれません。
でもJavaで作られている大規模システムというのは多いので、改修に関わる仕事はなくなりませんし、SIerへの就職を考えている人にはおすすめです。
(SIerへの就職自体はおすすめしません笑)
###20200225追記
JavaはSpringbootで開発することで今まで弱点だった開発環境などの問題がある程度クリアされた感じがします。
一部WEBでも使われることを考えるとコスパ高いし、つぶしが利く言語だなって思います。
以前書いた通り、今後Javaが広がる未来はあまり見えないのが難点です。
##C言語(習得のしやすさ:5点、習得後の需要:4点)
主に組み込み業界で使われる言語(他にWEBシステムの一部コンポーネントに使われたりすることがありますね)
組み込み系はハード面の知識等も必要になるのでCでコーディングだけできればOKというわけではないので就職には直結しないと思います。
また言語として難易度が高めなのでプログラミングを知らない最初に挑戦すると挫折する可能性が高いです。
ただスクリプト言語だけを勉強していたら触れない体系的な部分に触れることができるので学生のうちに勉強教材的に使うのはありだと思います。
私も学生の時にCをやっていてそのあとに他の言語の習得役立ったと感じています。
##C#(習得のしやすさ:6点、習得後の需要6点)
習得の難易度等はJavaと同程度といった感じ
私のいる業界だと.net系のウェブシステム開発で使われている
求人数とかを見るとJavaよりは少ないです。
ただ最近開発環境VisualStudioを提供しているマイクロソフトの影響かゲーム開発、アプリ開発にも使われるようになっているようです。
今後使われる幅が広がる言語かもしれません。
##Python(習得のしやすさ:8点、習得後の需要5点)
機械学習に使われる言語(ウェブ開発にも使われますね)
特徴としてはわかりやすい記述方法だと思います。
一方で処理自体はそこまで早くないので(ぶっちゃけ遅い)どこまでつかわれるようになるか未知数です。
機械学習に興味ある人は少し勉強しておいたほうがいいと思います。
でもAIとかそういうのって日本でどれくらいの人が開発に関わるようになるんでしょうね?
Pythonの習得自体は簡単ですがそれが主に使われる機械学習とかは高度な数学の知識が必要になるのでそちらも合わせて理解となるととても大変です。
##その他あまり知らない言語たち
###Swift
iOSアプリケーション開発にはほぼ必須の言語(Object-Cって今は使わないんですかね?)
iOSアプリの開発に興味があれば必須ですがかかわらないならおそらく不要になると思います。
登場したばかりのとき少し触ったんですが個人的には難しいといった印象が強いです。
アプリ開発に使われるということは環境整備とか整って使いやすくなったのかな?
後で調べて追記するかもです。
###Ruby
PHPと同じかそれ以上にWEB系企業で使われている言語
Ruby on Railというフレームワークをほぼ固定で使ってるのでフレームワークに関する学習までできると思います。
(というかせざる得ない?)
WEB系企業への就職を考えてるならかなり需要が高い言語だと思います。
###GO言語
いままでWEBシステムでCが担ってた役割を代替し始めた言語
Cよりはわかりやすかったです。
PHPとかしかできない人からすると少しハードルが高いかも?
天下のGoogle様が開発した言語なので今後需要は増えていくのかな?と思います。
個人的には言語としては微妙な部分が目立つので深く触るのは控えさせて頂いてます。
#最後に
今の時代として1つの言語にとても詳しくなる(資格で言うゴールドとかプラチナレベルになる)より複数の言語を使えるようになったほうがいいと思います。
複数の言語を学習することでAではこうだったのにBではこうだったんだというふうに差分が見えて両方の言語への理解が深まります。
(使わないと忘れるしごっちゃになって大変ですけどねw)
また複数の言語を学習するとき動的な言語と静的な言語を早い段階で身につけるべきだと思います。
WEB系企業に入った場合、お仕事の都合でPHPとRubyが使えるようになったとしても両方動的言語なのでもう一つ静的言語
たとえばGo言語とかを身につけるべきかなと思います。