プログラミング学習を始める際に、どの言語を学べばいいのだろう?と悩む方は多いです。
- 初心者はRubyかPHPかJavaScriptって聞くけど…
- 年収の高い言語を学習したい
- 機械学習を学びたいからPythonを選ぶべき?
など、様々な疑問を持たれるかと思います。
結論をお話すると、初心者は基本的にPHPかRubyを選択するのがいいです。
今回は、プログラミング言語選びで悩んでいる人に向けて、元スクールの講師でもある僕が
- おすすめのプログラミング言語の選び方とその理由
- 初心者にありがちな言語選びの失敗
- 最低限知っておくべきプログラミング言語の特徴
についてお話していきます。
初心者におすすめのプログラミング言語の選び方
初心者が学習を始めるべきプログラミング言語はPHPかRubyがいいです。
なぜなら、PHPとRubyは初心者が学習を始めやすい以下のような条件が整っているためです。
その条件とは、以下の通りです。
- 選び方1:多くのプログラミング初心者に選ばれている
- 選び方2:近くで勉強会が行われている
- 選び方3:プログラミングスクールで学べる
言語の選び方1:多くのプログラミング初心者に選ばれている
多くのプログラミング初心者が選ぶ言語を選ぶメリットは大きいです。
- エンジニア転職のイメージがしやすい
- 学習仲間を見つけやすい
- ネット上に日本語の情報が多い
など、様々な条件が揃っています。
特に「日本語の情報が多い」ことは学習を続ける上で非常に重要で、何らかのエラーが発生したとしてもGoogle検索すると解決策が数多く出てきます。
↓プログラミング学習は挫折しやすいので、詰まったときに調べられることは重要です。
» 「プログラミングの挫折率は9割近く」⇒理由と挫折しにくい学習方法を紹介
独学でも続けやすい言語であることは大切!
言語の選び方2:近くで勉強会が開かれている言語
また、近くで勉強会が開かれている言語もおすすめです。
毎週決まった時間帯の勉強会であれば、以下のような効果が期待できます。
- 学習の習慣をつけられる
- モチベーションの刺激になる
- 技術的な質問ができる
初心者であれば、実際に手を動かしながら学習する「ハンズオン」の勉強会がおすすめです。
近くでやっている勉強会は connpass や Doorkeeper などで探せますし、最近であればコロナの影響もありオンラインの勉強会も増えています。
「未経験が勉強会に行くなんて大丈夫?」と思われるかもしれませんが、全く問題ないので一度申し込んでみましょう。
↓勉強会の雰囲気について詳しく知りたい方は以下の記事もご覧ください
» プログラミング初心者こそ勉強会!スキルを劇的に上げられる3つの理由
言語の選び方3:プログラミングスクールで学べる
プログラミングスクールは必須ではありませんが、効率よく転職を狙うなら効果的です。
↓以下の記事でプログラミングスクールが効果的な理由を解説しています
» 3ヶ月で転職を狙うならプログラミングスクールを活用するべき理由
プログラミングスクールに通うかどうかは人によりますが、挫折したときに教えてくれる環境があると精神的な安心感がありす。
1つの保険としてスクールが扱っている言語を学習するのが無難といえます。
PHPとRubyはスクールがある観点でもおすすめ!
補足:JavaScriptはおすすめ言語ではないのか?
読んでいる方の中には、「JavaScriptはおすすめでないのか?」と思う方もいるでしょう。
結論をいうと、JavaScriptは初心者におすすめできません。
なぜなら、JavaScriptは変化が非常に激しい言語であり、初心者が正確な情報を得るのが難しくなっているためです。
↓JavaScriptが初心者に難しい理由は以下の記事でも解説しています。
» 初心者にJavaScriptは難しい!【挫折しにくい学習方法を解説】
詳細は上記の記事内の説明にまかせますが、本格的にJavaScriptを学ぶのはエンジニアとして経験を積んでからがおすすめです。
「JavaScriptは初心者向け言語」というのは過去の話になりつつあるよ!
初心者がプログラミング言語選びでありがちな失敗
ここまでプログラミング言語の選び方について解説しました。
一方、初心者にありがちな言語の選び方で、ほぼ確実に失敗するだろうなという言語の選び方をする人もいます。
初心者が失敗しやすい言語の選び方は以下の通りです。
- 年収が高いという理由で言語を選ぶ
- 難易度を考慮せず自分のやりたいことを優先する
年収が高いという理由で言語を選ぶ
株式会社ビズリーチの調査によると、最も給料が高いプログラミング言語は「Go」、2位が「Scala」となっています。
GoやScalaを学習すれば稼げるエンジニアになれる!と思いがちですが、現実はそんなことはありません。
単純にGoやScalaを触れるエンジニアが優秀なので年収が高くなっているだけです。
GoやScalaは言語的難易度も高いため、エラーが出たときも初心者が解決するのは困難です。
こうした年収ランキングで言語を選ぶのは、辞めたほうが賢い選択と言えるでしょう。
あくまで年収ランキングは参考程度に!
難易度を考慮せず自分のやりたいことを優先する
ここまでもお話したように、プログラミングは挫折率も高く学習ハードルは低くありません。
その中で、例えば、データを扱ったことのない人がデータサイエンティストを目指すとなると
- プログラミング学習
- 統計や数学の知識
- 機械学習ライブラリの学習
など、様々な学習を一気にしなければなりません。
一部の人はデータサイエンティストになれるかもしれませんが、そんな人は1万人に1人程度です。
最初はWebの知識を少しずつつけていき、将来的に他の技術へ変えていくことをおすすめします。
スタンダードに学習を進めるのが一番おすすめ!
最低限知っておくべき各プログラミング言語のできること
ここまでプログラミング言語を選ぶ上での考え方について解説してきました。
ただし、エンジニアは複数の言語を扱えますし、将来的にどんなエンジニアを目指すか?を考える際にも各言語の特徴は知っておいたほうがいいです。
ここでは各プログラミング言語とその言語でできることについて解説します。
ここではあくまで代表的な言語だけ紹介するよ!
フロントエンドを編集する言語
JavaScript
フロントエンドとは一言でいうと、webシステムの画面編集を担当する領域です。
ここ数年では、JavaScriptは人気ランキングでもトップを獲得するなど、今なお注目度の高い言語です。
ただし、フロントエンド領域は変化も激しく、正しい情報を取捨選択するのが難しくなりつつあります。
注目度の高い言語ですが、実務に入るまでは補助的な学習に留めておくのがいいでしょう。
JavaScriptは今やWebシステムもアプリも作れる優れた言語!
Webシステムを作れる言語
PHP / Ruby / Java / JavaScript / Python / Go / C# / Kotlin
一般的にWeb系と言われている企業は、これらの言語のうち、いずれかを採用しています。
この中でもPHPやRubyは求人やスクールも多く、比較的学習しやすい言語といえます。
↓PHPとRubyの説明と比較は以下の記事で行っているので合わせてご覧ください。
» 【PHPかRubyならどっち?】東京以外ならPHP?将来性も徹底比較!
まず、初心者が選ぶならこれらの言語がおすすめです。
iOSアプリを作れる言語
Swift / Objective-C
もし、将来的にiOSアプリを作成することを考えるなら、Swiftの学習は必須になります。
Swiftは2014年に発表された比較的新しい言語なので、案件数が多いわけではないものの、エンジニアの数は圧倒的に足りていません。
最近は、React Native / Xamarin / Flutterなど、クロスプラットフォーム言語の登場が話題ですが、Swiftの需要が衰えることはないでしょう。
Swiftも変化が激しい言語なので常に勉強し続けることが必須だよ!
Androidアプリを作れる言語
Kotlin / Java
Androidアプリを作ることを考えるなら、KotlinかJavaの学習をする必要があります。
意外と注目度は低いですが、実はAndroidのアプリエンジニアはiOSアプリエンジニア以上に需要が大きいです。
年収を戦略的に上げるために、あえてAndroidアプリエンジニアを目指す人もいるほどです。
iOSアプリエンジニアを目指している人は、一度Andoroidのアプリエンジニアも検討してみてはいかがでしょうか。
機械学習ができる言語
Python
最後に、今流行りの機械学習に触れたいと考えるのであればPythonを学ぶべきです。
TensorFlow や Chainer といった機械学習のライブラリが豊富に存在し、機械学習をするのであればPythonを学ばない選択肢はありません。
ただし、機械学習はプログラミング言語を学べばいいわけではなく「数学」「統計」など幅広く知識が必要になることも合わせて知っておきましょう。
まとめ|プログラミング言語はスタンダードなものを選ぼう
ここまでの記事のポイントをまとめます。
- プログラミング言語はPHP / Rubyを選ぶのが無難
- 年収でプログラミング言語を選ぶのはやめよう
- 最低限各プログラミング言語のできることは知っておく
ここまで、初心者におすすめのプログラミング言語の選び方から、各言語の特徴までまとめました。
とにかく初心者は、挫折しないようにスタンダードな言語を選ぶのが一番です。
エンジニアになれば、複数の言語を必然的に使うので、独学レベルの学習はそれほど重要ではないことを意識しましょう。
では続いて、実際の学習手順について見ていきましょう。以下の記事で「学習の始め方」を解説しているので、ぜひ合わせてご覧ください。