こんにちは、リュウスケです。
今日はこんな疑問に答えます↓

プログラミングを始めようと思っているんだけど、どの言語を選べば良いのかわかりません。なので、プログラミング言語の選び方を教えてほしい。

この記事では、これからプログラミングを学習しようと思っている人向けに、プログラミング言語の選び方を中心に、言語選びの注意点などを解説してきます。
記事を最後まで読み終えることでプログラミング言語の選び方など、自分に合った言語を
知ることが可能です。
プログラミング言語の選び方を知りたい人は、ぜひ最後までお付き合いください。
1:プログラミング言語の選び方
まずは、プログラミング言語の種類と選び方について解説していきます。
答えから言うとプログラミング言語は「プログラミングを学習して、何を開発したいかを考えて
決める」のがオススメ。
なぜなら、そもそもプログラミング言語は開発したいものを実現する為の手段に過ぎないので、
何を開発したいかで選ぶのは、本来のプログラミング言語の目的を生かす選び方だから。
なので、何を開発したいかという視点でプログラミング言語を選びましょう。
何を開発したいのか?分野はそれぞれありますが、大きく4つに分けて解説していきます。
以下のとおり↓
- WEBサービスなどの開発
- スマホアプリの開発
- AI(人工知能)の開発
- ゲーム開発
こんな感じで、何を開発したいと思っているのか?もしくは、転職したいと思っている会社が
やっているサービスはどれに当てはまるかで決めるのが良いかなと。
で、それぞれの目標別で選ぶべき言語が以下のとおり↓
- WEB開発をしたい人→HTML,CSS,JavaScript,PHP,Ruby
- スマホアプリ開発をやりたい→Java,Swift
- AI(人工知能)開発→Python
- ゲーム開発C#かUnity
こんな感じ、基本的にはこれらの言語を学習しておけば問題ないかと。
1つずつ詳しく解説していきます。
WEB開発をしたい場合
WEB開発をやりたいと思っているなら↓の言語を学習するのが良いかと。
- HTML
- CSS
- JavaScript
- PHPかRubyのどちらか
WEBプログラミングをやりたい場合はこれら4つの言語を学んでおけばOK。
基本的にはフロントエンドで使用するのがHTML,CSS,JavaScriptの3つで、サーバーサイドで
使う言語がPHP,Rubyのどちらか1つ。
でも↓

「いきなり4種類も言語を学ぶのは無理...」
と思うかもですが、そこまで気にしなくてOK。
なぜなら、HTML,CSS,JavaScriptはそれぞれ連動する部分がありますし、プログラミング言語は
それぞれ共通している概念があるので、あまり難しくはありません。
1つ言語が分かれば、だいたい他の言語も理解できますよ♪
なので、言語選びに関してはそこまで気にしなくてOK。かつ、WEBサービスの開発で使う言語は
プログラミング初心者向けの言語が多いので、その点でも初心者向けです。
ちなみに、サーバーサイドの言語選びでPHPを選ぶかRubyを選ぶか迷う人が多いんですが、
個人的には迷っているならPHPを選ぶのが良いかなと。
理由は、PHPはWordPressで利用されている言語なので、PHPを学ぶことでWordPressの
案件も同時に獲得できるチャンスが生まれるから。
従来のPHP案件に加えてWordPress案件を獲得できるチャンスが出てくるのはRubyにはない、
PHP独自のメリットなので、迷っているならPHPを選びましょう。

かつ、ネット上によくいる「プログラミングで稼いでまーす!!」的な人はRubyよりもPHPを使っている場合が多いのも理由の1つですね。
まぁ、世界的に見ればRubyよりもPHPの方が多く使われている印象です。というか、Rubyは
日本で開発された言語ということもあって日本でのシェアが多い印象です。
ただ、Rubyは世界的に見ればオワコンになりつつあるのが現実ですが、、、。
2:スマホアプリを開発したい場合
スマホアプリを開発したいと思っているなら↓の言語を選びましょう
- Androidアプリ→Java
- IOSアプリ→Swift
スマホアプリの中でもAndroidアプリか、IOSアプリかによって使用する言語が異なりますが、
難易度が低いのはIOSアプリの開発で使うSwiftの方かなと。
SwiftはJavaと比べてコードの記述量が少ない印象がありますし、Appleが開発した言語なので、
IOSアプリの開発にはこの上ないほど適している言語です。
一方のJavaはコードの記述量も多く、環境構築も難しいので初心者向けではありません。
なので、「スマホアプリの開発」←と一言で言うならIOSから始めるのがオススメ。
まぁ、Androidアプリを開発する場合は関係ない話ですが、IOSアプリを開発した人でMacを
持っていない場合は新たに用意するなどで対処するのが良いかと。
3:AI(人工知能)を開発したい場合
AI(人工知能)を開発したい場合はPythonを使うのが良いかなと。
AIの開発といっても幅広くデータの解析や機械学習など、幅広くジャンルがありますが、
基本的にはPython1つで全てに対応しています。
なので、AIの開発をやりいたいと思っているならPythonがオススメ。

実際、Pythonのニーズは最近伸びているのが現実ですし、始めてプログラミングを学ぶ上でとっつきやすい言語なので初心者にも向いている印象です。
なお、少し余談になりますが、以前はデータ解析などでR言語が使われることもありましたが、
今ではPythonに枠を取られてRはほとんど使われていないのが現状です。
AI(人工知能)の開発に関しては、ほぼ確実にこれから伸びてくる分野なので、今のうちに学んで
おくことで周りと差を付けられるかと思います。
Python自体の難易度もそこまで高くないのでオススメです。
4:ゲームを開発したい場合
ゲームを開発したい場合はUnityかC#のどちらかを選んでおけば良いんじゃないかなと。
正直に言って、ゲームの開発はあまり詳しくないので詳しいことは言えませんが、ゲームの
開発で主に使われている言語はこれら2つです。
基本的にゲームの開発は初心者にとっては難易度が高い分野なので、初心者向けではないのが
現実ですがそれでも興味があるならやってみるのがオススメ。

学習するなら興味ある分野を学習する方が楽しいですよね♪
ちなみに、言語の難易度は【Unity>C#】みたいな感じなので、初めはUnityからスタートして、
ある程度慣れたらC#を学んで開発するのが良いんじゃないかなと。
C#はコードの記述量が多かったり、コンパイルが必要だったりと、プログラミング言語の中でも
難しい部類に入ってくるので初心者向けではないので。
以上が、主なプログラミング言語の選び方についての解説でした。
次に、プログラミング言語を選ぶ上での注意点を解説していきます。
2:プログラミング言語を選ぶ上での注意点
以下のとおり↓
- 目的に合った言語を使う
- 無理して興味ないジャンルの言語を選ばない
1つずつ順番に解説していきます。
1:目的に合った言語を使う
1つ目の注意点は目的に合った言語を使うこと。
さっきも書いたようにプログラミング言語とは、実現したいことを実現させるための手段に
過ぎないので、目的に合った言語を使うようにしましょう。
逆に言うと、どんなに初心者向けの言語でも目的にあった使い方をしないと、上級者向けの
言語に変わる場合がほとんど。
具体的にNG例を出すと、例えば「スマホアプリをPHPで開発する」、「C#でWEBサービスを
開発する」などなど、こんな感じで開発を進めているとほぼ確実に挫折します。
なぜなら、さっきも書いたように開発を進める上で重要なポイントの、目的に合った言語の
選び方がしっかりできていないから。
これを防ぐためには、開発したものに合わせた言語を使うようにしましょう↓
- ○○を開発したい→実現するためにPHPで開発する
- ××を開発したい→実現するためにJavaで開発する
ここは重要な点なので、何度も書きます。で、目標が「プログラミングを学んで転職する」の
場合でも基本的には同じです。↓
- 会社が○○を開発したい→それをPHPで開発する人材が欲しい→自分がそこに入る
こんな感じ、WEB系の会社に入りたいなら、その会社はWEBの開発を行っているはず。
なので、WEB系の言語を選んで学習しましょう。
ただ、Javaで金融系の開発を行っている会社に入りたいならJavaを学習する感じ。
なんとなく、イメージできましたかね?会社が開発したいと思っているものを開発するために
自分が会社に入って開発に参加する感じです。
このイメージが持てないとプログラミング学習で行き詰った時に挫折しやすくなるので、
少し難しいですがイメージとして持っておくのがオススメ。
2:無理して興味のないジャンルの言語を選ばない
2つ目の言語選びの注意点は無理して興味のないジャンルの言語を選ばないこと。
よく、「興味が無いジャンルだけど稼ぎやすそうだから」みたいな理由でプログラミング言語を
選んでいる人を見ますが、あまり良いとは言えません。
なぜなら、興味が無いジャンルのプログラミング言語を学んでいても面白くないだろうし、
むしろ挫折する要因になるから。
ですが、実際Twitterを見ているとこんな感じの人って割とよく見ます↓

「Androidアプリの開発をやりたいけどJavaは難しいって聞くしな...。まずは興味ないけど、簡単な言語とよく言われるPHPから始めて見よう。
ですが、これに関してはNG。なぜなら、さっきも書いたように興味のないジャンルを学んでも
プログラミングの上達はほとんど期待できないから。
かつ、興味ないジャンルだとエラーが出た時など学習する上で行き詰った時にも投げ出しがちに
なるので、その点でも興味ないジャンルの言語を学ぶのはオススメできません。
なので、上みたいな例の場合、難易度が上がるのは事実ですが、JavaでAndroidアプリの開発を
やった方が良いと思うのが個人的な考えです。
3:プログラミング言語選びでよくある疑問
ここからは、少しだけですがプログラミング言語を選ぶ上で出てきそうな疑問を3つだけ
答えていきます。
よくありそうな質問は以下のとおり↓
- Rubyを学びたいけどスマホアプリも作りたい場合
- 転職したいと思っていますがどの言語を選ぶべき?
- 何を開発したいか決められません
1つずつ順番に答えを書いていきます。
質問1:Rubyを学びたいけどスマホアプリも作りたい場合
Rubyを学びたいけどスマホアプリも開発したい場合は、まずはRubyから始めましょう。
その理由は、Rubyを学びたいけどスマホアプリも開発したい場合、簡単なのはRubyなので、
まずはRubyを学習した後スマホアプリを開発しましょう。
具体的な学習の手順はこんな感じが良いんじゃないかと↓
- 1:Rubyを学ぶ
- 2:Rubyで何かサービスを開発する
- 3:JavaかSwiftを学ぶ
- 4:JavaかSwiftでスマホアプリを開発する
こんな感じで、開発したいものと学習したい言語が一致しない場合、難しい言語から入ると
挫折する可能性があるので、簡単な言語から入る方が良いかなと思います。
なので、今回の場合まずは難易度が低いRubyを学んで何かサービスを開発した後、Javaか
Swiftでアプリを開発するのが個人的にはオススメ。
ちなみに、この方式は学びたい言語と開発したいものが一致していない場合に役立つので、
覚えておくと意外と役に立ったりします。
2:転職したいと思っていますがどの言語を学ぶべき?
転職したいと思うならWEB系の言語を選ぶのが良いかなと。
なぜなら、WEB系の方がシェアが大きく自由な働き方ができる上、プログラミング業界の中でも
安定しているので初心者でも安心できるから。
実際、ネット上にあるWEBサイトの数だけWEBプログラミングのニーズがありますし、その分
案件の数や転職先の数も多いのがWEB系のメリット。
WEB系の大手は有名なものだとYahooや楽天など←どちらも大手で安定してますよね♪
かつ、WEB系の方が金融系などのJavaなどと違ってリモートワークなどがやりやすいので
自由な働き方ができるのも大きなメリットかと思います。
JavaなどはSlerが多いので調べた感じ自由な働き方とは程遠い感じでしたよ...。
実際、2ちゃんねる開発者のひろゆきさんも↓の動画で「SlerとWEB系ならWEB系が良い」と
発言していたので、個人的にはWEB系を推奨です。
3:何を開発したいか決められません
何を開発したいか決められない場合は、WEB系の言語から始めましょう。
なぜなら、WEB系は難易度が低くネット上に学習の情報が多いのでプログラミング初心者でも
安心してプログラミングを学べる環境があるから。
実際、プログラミング言語の中でも1番難易度が低いのがWEB系なので、挫折する確率を
下げつつプログラミングを学習することが可能です。
なので、「特定の○○を開発したい」という目標が無い場合はWEB系から始めるのがオススメ。
何を開発したいか決められない場合は、WEB系の言語を選びましょう。そして、WEB系で何を
開発したいのかを決めてそれを作る感じで学習すればOKです。
以上がプログラミング言語の選び方と言語選びの注意点、言語を選ぶ上でよくありそうな疑問に
ついての解説でした。
この記事がプログラミング言語選びで迷っていた人の参考になったら嬉しいです。
オススメ記事↓


おわり