このページでは、プログラミング言語の選び方について解説していきます!
プログラミングを初めて学ぼうと思ってる方や、新たにプログラミング言語を学ぼうとする方がまず迷うのが「どのプログラミング言語を選ぶか」だと思います。
学ぶプログラミング言語を迷っている方に向け、このページでは「どうやって学ぶプログラミング言語を決めれば良いのか」について解説していきたいと思います。
Contents
プログラミングでやりたい事をイメージしてみる
まずは「なぜあなたがプログラミングを学びたいのか?」について考えてみましょう!
「何か作ってみたい」や「将来こんな仕事をしてみたい」等、プログラミング学習を始める動機はあると思います。
例えば下記のような感じで漠然としたイメージを持つので良いです。
- ゲームが好きでゲームを作る仕事に就きたいから
- スマホで利用できるアプリを開発してみたいから
- 自動運転を実現したいから
- ウェブアプリやウェブサイトを作ってみたいから
- 仕事が忙しくて業務効率化をしたいとか
もし明確な目的がないけれど、「将来役に立ちそう」「流行ってる」等の理由でプログラミング学習を始めてみたいと考えておられる方も多いと思います。そういった方には個人的には Python
をオススメします。
理由は後述の 目的が明確でない場合は Python がオススメ で説明していますので、理由が気になる方は是非読んでみてください。
「やりたいこと + プログラミング言語」でググってみる
だいたいどんなものが作りたいか、どんなことをやってみたいかイメージがついたら、次は「やりたいこと + プログラミング言語」をキーワードとして Google などで検索してみましょう!
例えば下記のようなキーワードで検索すれば、恐らく「あなたがやりたいこと」を実現するのに向いているプログラミング言語の「まとめページ」が見つかるはずです。
- 「ゲーム開発 プログラミング言語」
- 「スマホアプリ開発 プログラミング言語」
- 「自動運転開発 プログラミング言語」
- 「ウェブアプリ開発 プログラミング言語」
- 「業務効率化 プログラミング言語」
ただ、おそらく、これらで検索したウェブページだけを見てもまだプログラミング言語を選ぶのには決め手に欠ける場合もあるんじゃないかなぁと思います。
その理由は「複数のプログラミング言語が紹介されている場合が多い」「ページによって紹介される言語にばらつきがある」からです。
例えばウェブアプリ開発(サーバーサイド)に向いているプログラミング言語としては下記のようなものが紹介されていることが多いです。
Python
Ruby
PHP
Java
Go
ウェブアプリ開発をしたいからプログラミングを始めるとしても、これらの中からどれを選べば良いか迷いますよね…。
また、他のページを見てみると同じ分野に向いているプログラミング言語として異なるものが紹介されている場合もあります。
こういったばらつきもあるため、いろんなページを見れば見るほど「結局どの言語を選べばいいんだ…」と余計混乱してしまうこともあるかも知れません。
なので、業界や分野によって使われているプログラミング言語の漠然としたイメージは掴めたとしても、1つのプログラミング言語に絞るのが難しい場合も多いんじゃないかなぁと思います。
補足しておくと、こういったページで紹介されているプログラミング言語は、本当にあなたがやりたいことを実現するのに向いているプログラミング言語だと思います。
ただ使用されるプログラミング言語が企業や製品・開発する部分等によって異なるため、複数の言語が紹介されていたり、ばらつきがあったりするだけです。
スポンサーリンク
キャリア採用のページを見てより具体的な情報を得る
まとめページを見て掴んだ漠然としたイメージを “より具体的に” するためにオススメなのが「企業のキャリア採用のページを見てみる」になります(企業によっては “キャリア採用” が “中途採用” や “経験者採用” と記載されている場合もあります)。
このキャリア採用のページでは募集職種が公開されている事が多く、ソフトウェアエンジニアやプログラマーの募集要項の中には「必須スキル」や「応募資格」なども記載されています)。
さらに、それらの「必須スキル」や「応募資格」の中には特定のプログラミング言語の経験の有無が記載されている事が多いです。
例えば下記のような記載が行われています。
C++
での開発経験Python
でのソフトウェア開発経験3年以上PHP
やJava
でのサーバーアプリ開発経験
「必須スキル」や「応募資格」でプログラミング言語が記載されているということは、その記載されているプログラミング言語を利用して開発が行われていると推測する事ができますよね!また、「使用するプログラミング言語」がそのまま明記されている場合もあります。
こんな感じで、企業のキャリア採用ページを見る事で、あなたが興味のある企業で使用されているプログラミング言語をある程度調べる事ができます。
なので、こんな会社に就職してソフトウェアやシステム・アプリを開発してみたいという思いがあったり、好きなゲームやアプリがあるのであれば、それらを開発している企業の「キャリア採用」のページを見てみることで、より具体的にあなたが実現したいことに向いているプログラミング言語を知ることが可能です。
また、「企業名 キャリア採用」や「企業名 中途採用」などでググれば、その企業の「キャリア採用」「中途採用」のページはすぐに見つけられると思います。
ちなみに、「新卒採用」では即戦力の人材を募集している企業も少ないため、募集職種やどんな仕事を行うのかの説明はされていても、使用されているプログラミング言語まで明記されているケースは結構少ないです。ですので、使用されているプログラミング言語を知りたい場合は「キャリア採用」のページを見たほうが良いです。
ただし、キャリア採用のページでは結構専門用語も多く使われているので注意してください。例えば “サーバーサイド / クライアントサイド” などの単語は良く使用されていますし、これからプログラミングを始めようと思っている方には難しいと感じる用語も多いと思います。
難しい単語・分からない単語が出てきた場合は、是非ググって調べてみてください。ちょっと大変かもしれませんが、専門用語を理解すればより職種のイメージが付きやすく、より自身がやりたい事に向いているプログラミング言語を探しやすくなると思います。
また下記の点についてもご注意ください。
- 全ての企業でプログラミング言語が明記されているわけではない
- 製品やアプリごとにプログラミング言語が明記されているとは限らない
- 「必須スキル」や「応募資格」に記載されているプログラミング言語が1つであるとは限らない
こういった注意点はあるものの、キャリア採用のページを見てみれば、どんな分野や業界でどういったプログラミング言語が使用されているかのイメージは多少なりとも具体的になると思います。
あと、単純にどういった企業やどういった職種で何のプログラミング言語が使用されているかがある程度わかるので、見ているだけでも結構楽しいと思う人も多いのではないかと思います。
1つに絞れない場合は人気が高い言語を選ぶ
企業のキャリアページを見ても、どうしてもプログラミング言語を1つに絞れない場合もあると思います。その場合、特にプログラミング初心者の方は、「より人気が高い言語」を選ぶのが良いと思います。
人気が高いプログラミング言語には下記のような特徴があります。
- 書籍が豊富
- ウェブ上に情報が多い
- 周りに学んでいる人が多い
人気が高いと書籍も売れるので種類もどんどん増えていきますし、ウェブページも見てくれる人が多いので今後もどんどん増えていくと思います。
また人気が高い言語であれば、その分あなたの友達や知り合いもそのプログラミング言語を学んでいる可能性が高くなります。
これらの何が嬉しいかというと、それはあなたが困った時に対処しやすくなることです。
プログラミングを学んでいると、プログラムがうまく動いてくれない・解説内容がよく分からないということはよくあります。
そんな時にウェブ上に情報が多い言語であれば、分からないことをウェブで検索するだけで対処法が見つかる可能性も高いです。
また、書籍が豊富だとさまざまな観点からの解説が読めて、いずれかの解説を読むことで理解できるかも知れません。
また友達が同じプログラミング言語を学んでいるなら分からないことを質問することもできますよね!
もちろん友達でなくても、ウェブ上で質問することで分からないことを解決できる可能性もあります。そのプログラミング言語を学んでいる・学んだことのある人が多いほど質問で解決できる可能性も上がりますよね。
こんな感じで、人気度が高いプログラミング言語の方があなたが困った時に対処しやすい、より正確には対処するための情報が得られやすいため、プログラミング言語の候補が1つに絞れない場合は「より人気が高いプログラミング言語」を選択することをオススメします。
ちなみに人気度は Google トレンド等で調べられますし、「プログラミング言語 人気ランキング」等をキーワードにして検索することでも調べることができます(ただページによってランキングの順位もバラバラですが…)。
例えば下記は、Google トレンドで Python
(青)・Java
(紫)・PHP
(赤)・Ruby
(黄)・Go
(緑) の人気度を調べた結果になります(2021 年の一年間・日本のみ)。Google トレンドの人気度は「どれだけ検索されたか」を示すものであり、たくさん検索されているプログラミング言語の方が多くの人が学んでいると考えられますし、需要が多い分、今後もそのプログラミング言語の解説ページの供給が増えていくと予想できます。
ただ、本当に重要なのは人気であることではなくて「あなたが困ったことを対処しやすい」プログラミング言語を選ぶことです。もし、あなたの仲の良い友達がプログラミングを学んでいるのであれば、そのプログラミング言語を学ぶ方が困ったことが解決しやすい可能性もあります。この辺りも考慮してプログラミング言語を選んでみると良いと思います!
目的が明確でない場合は Python
がオススメ
で、ここまでは割とプログラミングでやりたい事が固まっている人向けのプログラミング言語の選び方の説明になります。
ただ、「なんとなく明確な目的はないけどプログラミングを始めてみたい」という人も多いと思います。
そんな方に私がオススメするのは Python
です。
理由は下記ページでも解説しているのですが、「挫折しにくい」「将来役に立つ可能性が高い」からです。
Pythonがプログラミング初学者にオススメな理由「挫折しにくい」のは Python
は人気が高いからです。前述の通り、人気が高い分、書籍やネット上での情報が多く、プログラミングを学んでいて困った時に対処しやすいです。
また、Python
は業務効率化にも向いていますので、たとえ将来プログラマーの職に就かなかったとしても「役に立つ可能性が高い」です。
例えば営業の仕事に就かれたとしても、PC で雑務や単純な作業が必要な場合、それを Python
にやらせて作業を効率化することで、お客様と接する時間を増やしたりプレゼン資料作成に時間をかけたりすることで営業成績を伸ばせる可能性もあります。残業時間も減らせるかもしれません。
あと書籍も豊富で、プログラミング学習を開始する際に選べる書籍の選択肢も多いです。簡単なゲーム開発しながら Python
を学んだり、簡単な人工知能をつくりながら Python
を学べるような書籍も多く、楽しみながらプログラミング入門しやすい言語でもあります。
私がゲーム好きというのもあるのですが、特に明確な目的を持たずにプログラミングを学び始めるのであれば、個人的には下記の書籍がオススメです。
おすすめ書籍(PR)
ゲーム作りながらプログラミングが学べるので楽しいですし、ゲームを作るだけでもプログラミング全般に重要な要素を幅広く学ぶ事ができます。Python
について深く学ぶためにはもう一冊くらい参考書読んだ方が良いかも知れませんが、Python
を始める最初の一冊としてはオススメです。
ちなみにですが、プログラミングは明確な目的がないと始めても無駄という意見もあったりしますが、私はそんなこともないと思いますよ。
明確な目的がなくてもプログラミングを始めてみてプログラミングで出来ることを知ったり、楽しさを味わったり、得意だと感じたりしていく中でプログラミングを続けていく目的が明確になる場合も多いと思います。少なくとも私はそうでした!
なので、別にプログラミングは明確な目的がなくても始めて大丈夫です!ただ、明確な目的がない分、挫折しやすいと思いますし、プログラミングで色んなことが体験しやすい(簡単に使えるライブラリが充実している)という意味でも、やっぱり Python
がおすすめかなぁと思います。
ただ、もしプログラミングを始めてプログラミングを学習する目的が明確になった場合は、その目的に合わせて再度プログラミング言語を選び直してみましょう!
スポンサーリンク
まとめ
このページでは「プログラミング言語の選び方」について解説しました!
まずは自身がプログラミングを始めたい動機を整理し、その動機を実現できそうなプログラミング言語を選んでいくのが良いと思います。
その動機を実現できそうなプログラミング言語が複数ある場合は、実際に興味のある製品やアプリ等を開発している企業のキャリア採用ページを見ることで、選択肢をさらに絞れると思います。
それでもプログラミング言語が1つに絞れないような場合は、最後はあなたが困った時に対処しやすいプログラミング言語が良いと思います。その指標の1つは言語の人気だと思います。
是非プログラミング言語を選ぶ際に参考にしてください!
また、プログラミング言語の種類や特徴を幅広く知りたいような方には下記の「プログラミング言語大全」もオススメです。全てのプログラミング言語について解説されているわけではないですが、1つ1つのプログラミング言語の特徴が丁寧に解説されています。また、イラスト入りで内容も読みやすいです。
おすすめ書籍(PR)
プログラミングができると仕事の選択肢も増えますし、あなたの生活をより豊かにできる可能性もあります。是非このページを参考にして自身にあったプログラミング言語を見つけ、プログラミングを楽しんでいっていただければと思います!