という疑問を解決する記事になります。
記事執筆者:オザック
Web開発を生業にしていて9年以上、年収1000万の現役エンジニアのオザックです!
某有名R社で働き、副業も含めて個人事業主で関わってきたプロジェクトは20以上。
今回はそういった方向けに、最初に勉強すると効率的に勉強できるプログラミング言語とその勉強方法を、現役エンジニアとして過去に勉強してきた経験を交えて解説します。
この記事を読めば「初心者でどの順序でプログラミング言語を学ぶと良いか、学習ロードマップが見える」ようになります。
実際にフリーランスやエンジニア採用もしてきた観点から考えた、具体的なプログラミング言語を選定しています。
3分もかからず読めるので最後まで読んでくださいね!
結論は
\初心者が最初に学ぶのにおすすめのプログラミング言語3選/
- PHP
- Ruby
- Python
です!
目次
プログラミング言語の種類
プログラミング言語はあまり使われていない言語も含めると、おそらく10000以上あると言われています。
ただその中で有名になる言語はほんの一握りです。
世界中で有名なプログラミング言語を紹介すると
- PHP
- Ruby
- JavaScript
- TypeScript
- Python
- Go
- Scala
- Java
- Kotlin
- C
- C#
- Swift
- C++
- R
- Objective-C
- Haskell
など他にもいっぱいありますが、Webエンジニアを目指す場合は上記のどれかを勉強することになります。
今回はこの中で初心者におすすめのプログラミング言語が
- おすすめな理由
- 勉強方法
- 中級者へのロードマップ
を解説していきます。
初心者におすすめのプログラミング言語の選び方
まずそもそもどの観点でプログラミング言語を選定するのが良いのか?を説明していきます!
以下の点を考えるのが良いです。
- 初心者にとって勉強しやすい
- 言語として将来性が高い
- 案件(色々な会社)でよく使われているか?
- 日本語の文献が多いか?
- 日本の会社でよく使われているか?
初心者にとって勉強しやすいこと
初心者にとっては勉強のしやすさというのはとても重要です!
なぜなら初心者だとプログラミングという専門性の高いことは挫折しやすいからです。
挫折しやすい理由
- エラーの解消が難しい
- 専門性が高く、勉強に時間がかかる
- エンジニアの文献で英語が多い
これらの負荷がなるべくないプログラミング言語を最初に選ぶことが重要です。
プログラミング言語として将来性が高い
プログラミング言語として将来性の高さは、そのまま仕事の受注や年収に直結するためとても重要なファクトです!
将来性とは?
- 多くの会社で使われていること
- 定期的にバージョンアップしている言語であること
- 優秀なWebフレームワークがあること
- 海外でも多く使われていること
- カンファレンスが行われていること
この要素があるプログラミング言語は今後も将来性が高い言語と言えますので、これらの要素を満たす言語を必ず選ぶことが大切です。
案件でよく使われているか
案件でよく使われるプログラミング言語の方が案件自体の母数が多く、エンジニアとして採用されやすいからです。
参考
案件とは色々な会社でプログラミングをするときの仕事のことを、フリーランスでは案件と言います。
日本のエンジニアが確保しやすい
ただなぜ案件でよく使われるのか?というと、日本人のエンジニアが確保しやすいというのが一つの大きな理由です!
プロジェクトを開発する側は当然エンジニアが採用しやすい方が良いです。
そうすると自然と日本のエンジニアに好まれているプログラミング言語を選定するのがベストと言えます。
現状だとWeb系で使われるプログラミング言語はPHP,JavaScript(JS), Rubyが多いです(Web系に人気のプログラミング言語参照)。
日本人エンジニアが多いということはそれだけ単価も安い
先程日本人が多いプログラミング言語はプロジェクトで採用されやすいという話をしましたが、採用されやすいということはそれだけ多くの日本人エンジニアが確保しやすいということなので、それなりに単価が下がってきいます。
単純比較ですが、最大単価が20万円ほど違います。
とはいえ80万円と十分すぎるほどの単価ではあると思います。
ただ初心者は最初は単価が低くても覚えやすいプログラミング言語でまずは勉強するのが良いです!
日本語の文献の多い言語だと挫折率が下がる
エンジニアの文献は英語で書かれているもののほうが多く、日本語で探してもない場合は英語の文献を探さなくてはいけません。
英語というのはそんなに得意でない方も多いのではないでしょうか?
なので初心者は日本語の多いプログラミング言語を選ぶと良いです!
理由は
- 詰まっても日本語で探せる
- 探せば多くの場合、自己解決できる
からです。
初心者はまずは日本でよく使われていて、歴史の長いプログラミング言語が多くの日本語文献があるのでおすすめです!
多くの日本の会社で使われているか?
まず初心者は会社へ入社してプログラミングの仕事を通して成長するというのが何よりも重要です!
そうなるといきなり海外へ転職というのは現実的ではないので、日本の会社へ転職する場合、日本でよく使われているプログラミング言語を学ぶというのが一番良いです!
初心者向けのプログラミング言語の勉強方法についてはこちらが参考になります!
【経験者解説】プログラミング初心者は何から学ぶべきか?
初心者におすすめのプログラミング言語3つの勉強方法
まだエンジニアをやったことない未経験の方や初心者向けに今回3つのプログラミング言語を紹介します!
これらは先程紹介した初心者向けのプログラミング言語選定の条件を満たします。
初心者おすすめプログラミング言語: PHPの勉強方法
PHPは多くの日本の企業で使われています。
なので日本語の文献が多く初心者が独学で勉強していても大体解決策が日本語で探せるはずです!
また海外でもPHPは使われているので、世界中でもよく使われている有名なプログラミング言語です。
PHPの詳しい勉強方法はこちらがとてもわかり易いので参考にしてください!
【圧倒的効率】Laravelは〇〇の学習方法が確実【初心者OK】
初心者おすすめプログラミング言語: Rubyの勉強方法
Rubyも多くの日本企業で使われているプログラミング言語です。
特にRubyは日本人の松本ゆきひろ氏が開発した言語というのもあり、日本で普及しています。
ただ日本以外の国々では採用されいてるケースは少ないです。
Rubyの勉強方法、またRubyで最も有名(というかこれ以外殆ど存在しない)RubyOnRailsの効率的な勉強方法はこちらがとても詳しいです!
独学は難しい?RubyOnRailsの勉強法を2つ解説【Udemyがおすすめ】
初心者おすすめプログラミング言語: Pythonの勉強方法
こちらも動的型付け言語で初心者にはおすすめです。
またPythonは機械学習で最も使われる言語なので、合わせて機械学習も学びたい方は特におすすめです!
PythonでWeb開発を勉強したい方はこちらの記事が特にわかりやすいです!
目的別!初心者のPython独学勉強法/ロードマップを経験者解説
また機械学習に入門したい方はこちらの記事が参考になります!
エンジニア別のプログラミング言語の勉強方法
初心者におすすめのプログラミング言語を紹介しました。
PHP,Ruby,Pythonの言語は主にバックエンド兼一部フロントエンド(HTML, CSS)が覚えられる言語やフレームワークであるため、覚えるとWebサービスを一人でも開発出来るようになります。
ただ実際の現場ではチームで一つのプロダクトを開発するためエンジニア毎に役割があり、次はその役割毎の勉強方法について紹介します。
Webエンジニアは主に3種類に分かれる
- フロントエンドエンジニア
- バックエンドエンジニア
- インフラエンジニア
主にこの3つに別れています。
今回はインフラはプログラミングをするのとは少し違う領域のため今回は割愛して、
- フロントエンドエンジニア
- バックエンドエンジニア
について勉強方法を解説します。
フロントエンドとバックエンドの勉強方法
フロントエンドとバックエンドの違い
フロントエンド | ユーザが見る画面を開発する |
バックエンド |
|
ざっくり説明すると上記の違いになります!
今は簡単にフロントエンドはユーザが見る画面を開発する人、バックエンドはデータを画面に表示するために出したり、登録したりする業務と思っていれば大丈夫です!
違いを詳しく知りたい方はこちらの記事が参考になります!
【現役エンジニア解説】フロントエンドとバックエンドの違い、選択すべきはどちらか
それぞれのエンジニアの勉強方法はこちらが参考になります!
【完全ガイド】独学でWebエンジニアになるロードマップを経験者解説
初心者はプログラミングスクールで学ぶのもおすすめ
今まで独学での勉強方法について説明していきました。
ただ実際プログラミング言語を独学で学ぶというのはそれなりの忍耐と時間が必要になります。
なのでもっと楽に勉強をしたい方はプログラミングスクールで学ぶという選択肢もありです!
参考
僕自身がエンジニアになった頃はプログラミングスクールというものは存在していなかったので独学で学ぶ以外に方法はなかったですが、今ならプログラミングスクールの方が圧倒的に学ぶスピードは速いので、僕もプログラミングスクールに通っていたと思います。
初心者向けのプログラミングスクールはこれらの記事がとても参考になるはずです!
チーム開発を学ぶのがエンジニアへの近道!おすすめスクール厳選2つ
中級者へステップアップする人のためのロードマップ
最後に、ある程度プログラミングを覚えて、Webサービスを作れるようになった方向けに中級者へのロードマップを紹介します!
初心者から脱却!次に学ぶと良いプログラミング言語の特徴
初心者向けに紹介した言語は動的型付け言語となり、比較的簡単に学べるプログラミング言語でした。
次のステップとしては中級者は静的型付け言語を学ぶことをおすすめします!
静的型付け言語とは?
stringやintのように変数や引数、返り値などに事前に型を指定して実装するプログラミング言語で、型を指定することで
- 実装容易性
- 事前にエラーが発見しやすい
- テストの書きやすい設計
- チームで実装をする際の実装を分離
などのメリットがあります。
中級者向け!おすすめプログラミング言語
- Go
- TypeScript
- Java
- Rust
このあたりの言語がおすすめです!
特に昨今人気なのはGo,TypeScriptで、多くの会社の利用が増えていて需要が高いがエンジニアが少ないということもあり案件の単価も高いです。
またJavaは歴史も長く安定的に多くの会社に使われています。
ただとりわけSE系の古い会社で使われていて、プログラミング言語のベーシックな機能を兼ね備えた言語なので勉強のためには良いですが、今からエンジニアとしての選択肢を増やしたいのであればGoやTypeScriptの方が良いです。
Rustは少々難易度が高く、まだ導入している会社も少ないですが徐々に人気が出ている言語です。こちらも興味のある方は触ってみると良いです!
また中級者へのロードマップについては詳しくはこちらが参考になります!
未経験から中級者になれるバックエンドエンジニアのロードマップ
初心者におすすめのプログラミング言語まとめ
今回は現役エンジニアの視点で初心者におすすめのプログラミング言語を解説しました!
初心者におすすめのプログラミング言語3つ | |
PHP | PHPのおすすめの勉強方法はこちら |
Ruby | Rubyのおすすめの勉強方法はこちら |
Python | Pythonのおすすめの勉強方法はこちら |
プログラミングスクールで学びたい方向け
チーム開発を学ぶのがエンジニアへの近道!おすすめスクール厳選2つ
独学で勉強したい方向け