ギークなエンジニアリングを知りたい

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

オザック

プログラミング歴10年以上、年収1000万超のオザックです!

 

現役エンジニアの視点から初学者からプログラミング言語を学ぶのにオススメの言語を紹介します

 

オザック

現役エンジニア視点、受託案件で市場ニーズを見てきた観点から解説します!

 

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

 

実際にフリーランスやエンジニア採用もしてきた観点から考えた、具体的なプログラミング言語を選定しています。

3分もかからず読めるので最後まで読んでくださいね!

 

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

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

チェックリスト

  • 案件でよく使われているか
  • 単価の高いプログラミング言語
  • 型が安全なプログラミング言語

 

案件でよく使われているプログラミング言語を選定する理由

案件でよく使われるプログラミング言語の方が、案件自体の母数が多く、エンジニアとして採用されやすいからです。当たり前ですね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言語は仕様がシンプルのため覚えやすいというのが特徴もあります)

 

ポイント

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

 

型安全なプログラミング言語を選定する理由

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

 

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

 

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

 

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

 

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

 

ポイント

静的型付けなプログラミング言語を使っているとある程度安全にコードを書けるようになり、結果レガシーなコードに遭遇する確率は低くなります

 

ただ動的型付けよりも静的型付けの方が一般的に学習難易度は高くなります。

 

注意ポイント

またけして動的型付け言語が全てひどいコードになると言っているのではないです。

昨今動的型付け言語でも静的型付けで書けるようになってきています。

 

まとめると

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

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

 

未経験エンジニアの場合

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

チェックリスト

  • 学習効率が良い
  • エンジニアの需要が多いプログラミング言語

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

 

学習するのに難易度の高いプログラミング言語を選択すると、挫折するリスクが高いため、比較的難易度の低いプログラミング言語を選ぶのが良いです!

 

学習が比較的簡単に出来るプログラミング言語を選択するのが良いです。

 

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

 

おすすめプログラミング言語

  • PHP
  • Ruby
  • JS

辺りになります。

 

特にWeb開発はWeb開発効率を上げるためのフレームワークというのが各プログラミング言語に存在します。

 

参考

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

 

ポイント

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

 

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

 

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

現役エンジニアが勧める独学でエンジニアになる勉強法7選

 

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

 

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

 

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

 

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

 

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

 

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

 

まとめ

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

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

チェックリスト

  • PHP
  • Ruby
  • JS

 

静的型付け言語は

チェックリスト

  • Go

が良いです。

 

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

 

エンジニア初学者向けにプログラミングやWeb開発、エンジニアとして知っておいたほうが良いツールなどを発信しているので、よろしければフォローお願いします。

 

-ギークなエンジニアリングを知りたい

© 2021 エンジニア副業道場 Powered by AFFINGER5