初心者におすすめプログラミング言語5選を紹介を現役Webエンジニアが解説

初心者におすすめプログラミング言語5選を紹介を現役Webエンジニアが解説

こんにちは中堅エンジニアのrevenue-hackです。

今回はエンジニアを目指すなら最初に学ぶオススメのプログラミング言語について、中堅エンジニアの視点、また受託案件で市場ニーズを見てきた観点から説明していきます。

この記事を読めばどの順序でプログラミング言語を覚えるか、ロードマップが見えてくるようになります。

どの観点でプログラミング言語を選定するのが良いか?

どの観点でプログラミング言語を選定するのが良いか?

まずそもそもどの観点でプログラミング言語を選定するのが良いのか?というと以下の点を考えるのが良いと思います。

  • 案件でよく使われているか
  • 年収の高い言語
  • 型が安全な言語

案件でよく使われている言語を選定する理由

案件でよく使われる言語の方が、案件自体が多くエンジニアとして採用されやすいからです。当たり前ですねw

ただ案件でよく使われる言語というのにも当然理由はあります。

現状だと案件でよく使われる言語はWeb系に限るとPHP, JavaScript(JS),Rubyがやはり多いです。
※参考文献: https://www.sejuku.net/blog/126252

(C#も多いですが、Web系ベンチャーで使われるというよりはSI系のお硬いシステムに使われる傾向があると思いますので、今回は除外しています)

  • PHP
  • JS
  • Ruby

これらは初学者が学習しやすい言語、いわゆるインタプリタ型言語と言われるもので、「型がない」言語になります。
型がない言語は後述しますが、ない方が初学者にとって学習しやすいというメリットが有るというイメージ今は持っていただければと。

簡単に学習しやすい言語が案件数の上位にきていて、その理由は簡単に学習ができるため、事業者側からすると多くのエンジニアを採用しやすくまた、採用しやすいと平均的にその言語の単価も下がっていきます。

メリデメをまとめると

案件は豊富で採用される枠が多いが、単価が低い」です。

年収の高い言語を選ぶのが選定する理由

この理由は当然年収が高い方が生活が豊かになるので良いということです。

ただもう一点あって、なぜ年収が高いかというと需要の割にこの言語を書けるエンジニアの供給が不足しているからと考えられます。実際にGoを書けるエンジニアは少ないです。

こちらの記事を見ると2018年Go言語が平均年収でトップに来ています。

Go言語はGoogleが開発したコンパイル言語で、後発言語のためあらゆる点で他の言語よりも勝っていて、昨今人気の言語です。

ただGo言語を書けるエンジニアの数が少ないため、エンジニアの需要が供給を上回っている形となり、単価も高くなっています。

ただコンパイラ言語になり、またポインタという初心者には分かりづらい概念があるため、初学者にとっては学習コストは高くなります。ただすでにエンジニア経験のある方からすると、Go言語は仕様がシンプルのため覚えやすいというのが特徴です。

メリデメをまとめると

初学者には学習コストが高いが、Go言語を書けるエンジニアの需要が供給を上回っているため単価が高い」です。

型安全な言語を選定する理由

この理由は少しギークな理由で、「ひどいコードに遭遇する確率が低いから」です。

型安全な言語というのは正すと「静的型付け言語」といって、プログラミング時に実装者が型を指定して、プログラミングしていきます。

例えば文字列が入るという型を指定した関数に、数値を代入すると、文字列を代入していないのでエラーになり、それがコンパイル時点でわかるので、エラーの発見が速くなり、結果としてコードがバグりにくくなります。

静的型付け言語にはGoやJava、Kotlin、C#、C++などがあります。

反対に型がない言語を動的型付け言語と言って、JSやPHP、Rubyなどがあります。

なので静的型付けな言語を使っているとある程度安全にコードを書けるようになります。結果として少々飛躍しますが、「ひどいコードに遭遇する確率は低くなります」。ただ動的型付けよりも静的型付けの方が一般的に学習難易度は高くなります。

またけして動的型付け言語が全てひどいコードになると言っているのではないです。昨今動的型付け言語でも静的型付けで書けるようになってきています。

よってメリデメは

型安全の言語を使ってるので、ひどいコードに遭遇する確率は低い」です。

ではこれを前提とした上で、次はスキル毎にどの言語を選べばよいか見ていきたいと思います。

未経験エンジニアの場合

未経験エンジニアの場合

まだエンジニアをやったことない未経験の方の場合は

  • ¥学習効率が良い
  • エンジニアの需要が多い言語

この2つを重要視するのが良いです。

未経験エンジニアだと挫折するリスクがあるので、学習するのに難易度の高い言語だとリスクが高まるため、学習が比較的簡単に出来る言語を選択するのが良いです。

また未経験エンジニアは他のエンジニアに比べて歴が少ない分、需要が多い言語を選定するのが良いです。

そうするとオススメする言語が

  • PHP
  • Ruby
  • JS

辺りになります。

特にWeb開発はWeb開発効率を上げるためのフレームワークというのが各言語にある程度存在します。

例えばPHPだとLaravel、RubyだとRuby on Railsなどです。

このフレームワークの使い方を覚えるのがWeb開発では一番の近道になります

この辺は殆どのスクールでも教えていたりするので、そちらを使って学ぶのも良いと思います。

スクールなどの情報はこちらの記事を参考にすると良いです。

また動的型付け言語を覚えた後に静的型付け言語も学んでいくことをオススメします。

既に動的型付け言語を1つ学んでいるエンジニアの場合

既に動的型付け言語を1つ学んでいるエンジニアの場合

既にエンジニアとして動的型付け言語を学んでいる場合は、次は静的型付け言語を学ぶことをオススメします。

型があることで、テストの書きやすい設計、チームで実装をする際の実装を分離できるなどメリットがあります。

エンジニアを生業としていくのであれば静的型付け言語を覚えていくのは必須なので、必ず学習することをオススメします。

その場合は今のトレンドからすると年収の高いGo言語やあとは昨今少しずつ人気なTypeScriptRustあたりを選択するのが良いです。

まとめ

今回は持っているスキル毎にどの言語を選定するのが良いかという説明をしました。

昨今のトレンドからすると動的型付け言語は

  • PHP
  • Ruby
  • JS

静的型付け言語は

  • Go

が良いと思います。

エンジニアにこれからなろうとする方は最初にどの言語選定をするかというのは大事なので慎重に選ぶようにしましょう。

エンジニアリングカテゴリの最新記事