こんにちは、迫佑樹(@yuki_99_s)です。
プログラミング学習をいざ始めよう、となったときに真っ先に悩むのが言語なのではないでしょうか。
そこで、今回は「プログラミング言語のオススメって何?」というお話をしていきます。
僕自身、プログラミング講師としても活動しているので悩んでいる皆さんには是非参考にしていただきたいです。
目次
プログラミングのおすすめ言語はある?
僕は生徒から
とか
という質問を頻繁に受けます。
僕自身がオススメするプログラミング言語というのはいくつかありますが、どの言語を学習すれば良いのかということについては人によって異なります。
プログラミング言語を学ぶ際に効率を重視したいという人は多いですが、効率を重視するならば言語にこだわらないという考えも重要です。
学ぶ言語選択に悩む時間があるのなら、さっさと手を動かしたほうが効率が良いということを知っておいてください。
言語はあまり悩むべきではない
ハッキリ言っておくと、「どのプログラミング言語を学べば良いのか?」という悩みは時間の無駄です。
特定のプログラミング言語を学びたくて学習カリキュラムの計画を立てたいというのならば十分に悩むべきですが、言語の選択については悩む必要がありません。
こちらでは、悩むべきではない理由について3つのポイントから紹介していきます。
理由①何をやりたいかで考えるべき
自分が学ぶプログラミング言語を選択する際のポイントとして「なにをやりたいのか明確にする」ということが大切です。
例えば「ホームページ制作やWebアプリの開発をしたい」という目標があるとします。
この場合に求められるスキルというのは、「HTML」や「CSS」を基礎として、「PHP」や「MySQL」、「Ruby」といったものです。
その他の要素として、WordPressやCMSといった要素も覚えておくとWeb開発では強みになります。
と不安になる人も多いかもしれません。
それでは、もう少しだけ補足しておくことにします。
HTMLやCSSというのはホームページの基礎となる部分を構築する際に使われる言語です。
厳密には「プログラミングの言語」ではないですが、習得が容易で真剣に勉強すれば1週間もあればマスターすることが出来ます。
次に覚えるのがPHPやMySQLなどです。
また、MySQLに関しては、「データ操作言語」であり「プログラミング言語」ではないので注意が必要です。
他にも、Web関連ならRubyも有名です。
このように、「Web関連のプログラミング言語を覚えたい」という明確な目的があれば、目的に沿った言語を学習するだけです。
「優れたプログラマーになりたい」と考えている人も多いですが、まずは1つの目標を定めて1つずつクリアしていくことが最短の近道だということを知っておいてください。
理由②1つ言語を身につけたら他のは楽に身につく
言語を悩む必要がない2つ目の理由としては「1つの言語を身につければ他の言語は楽に身につく」ということが挙げられます。
意外と思うかもしれませんが、プログラミング言語って特殊なものを除けば少し記述が変わるだけでほとんど同じなんですよ。
例えば上記で少しだけ紹介されたPHPとRubyで比較してみると分かりやすいでしょう。
今回は頻繁に使われる「if文(条件式)」を例に出します。
PHPの場合の記述は、
if(条件){ 条件が一致した際に実行する処理 }
このような表記になります。
そして、Rubyの場合の記述は、
if 条件 then 条件が一致した際に実行する処理 end
このようになります。
PHPとRubyという2つのプログラミング言語を比較した場合でも、「()」のあるなしや、ちょっとした表記の違いだけなので1つの言語をマスターしてしまえば楽に覚えられます。
1つの言語をマスターした状態で他の言語の習得を目指している場合でも、
「あぁ、この処理は前に覚えた言語だとこうだったな」
と認識できるので上達が早くなります。
これらのことから、1度に複数の言語を習得しようとするのではなく、1つずつ着実にマスターしていったほうが結果的に習熟度は高まることを覚えておいてください。
理由③まず始めることの方が大事
ぶっちゃけた話をすると、学ぶプログラミング言語に悩むぐらいならばさっさと手を動かしたほうが学習効率は高いです。
ある程度のプログラミングスキルを身に着けているのならばともかくとして、初心者の場合はどの言語から初めても一定のスキルを習得できます。
迫佑樹
既にある程度の勉強が出来る人の場合は学習計画表を立てて勉強したほうが効率が良くなります。
しかし、赤点ギリギリのような人の場合は「計画を立てる暇があるなら公式の1つでも覚えろ!」ということです。
そのほうがテストの点数は5点でも10点でもアップするでしょう。
プログラミングに限らず新しいことを始める場合に「効率的な学習をしたい」というのは誰もが考えることです。
けれども、効率的な学習計画を考えるせいで効率的な学習から遠ざかってしまうと全く意味がありません。
そのため、初心者ほど「まずは手を動かす」ことが重要だということを知っておいてください。
言語に悩んでいる人におすすめの言語を紹介
ここまでは少し厳しいことを言い過ぎたかもしれません。
と思う人も多いでしょう。
そこでこちらでは、初心者がプログラミングの勉強をスタートする際に役立つ言語について具体的に紹介していきます。
あくまでも基礎的なスタートとしてオススメなプログラミング言語なので、自分の目的に合っていないと思ったら無視してください。
HTMLやCSSをマスターした次はRubyなどのプログラミング言語のマスターを目指すと良いでしょう。
基本的に言語選択は目的から逆算すべき
自分が学習したいプログラミング言語を選ぶ際のポイントとしては「何を作りたいのか?」ということを明確にすることが大切です。
例えば、ホームページ制作ならば上記でも紹介したようにHTMLやCSSからスタートするのが最適です。
同じようにホームページ関連でもWebアプリの開発をしたいという場合は、Rubyから始めると良いでしょう。
その他にもiPhoneアプリを作りたいという場合はSwiftがオススメですし、Androidアプリの場合はKotolinとかJavaといった選択になります。
あとはもっともっと本格的なゲーム開発をしてみたいと考えているならC#やC++といった言語を学ぶのも良いかもしれません。
このように
という場合は「何を作りたいのか?」とか、「自分がどのようになりたいのか?」ということを明確にすると良いでしょう。
目的や目標が定まれば、あとはそのゴール地点に向けて突き進むだけなので、言語選択に悩む時間なんてもったいないように感じると思います。
例えば、Web上でなにかのサービスを発信したいという目的があれば、そのサービスを発信するためにはどのような処理が必要なのかということを明確にすることが出来ます。
そうすれば、あとは1つずつ課題をクリアしていけば目的を達成することが出来ますので、まずは自分がやりたいことを明確にすると良いでしょう。
プログラミング学習が心配な人は
ここまでの内容を読めば、「どのプログラミング言語から始めれば良いのか?」という悩みは解消できたと思います。
それでは、自分が学習を始めるプログラミング言語が決定したとしましょう。
その次に問題となるのが、「どうやってスキルを高めるのか?」ということだと思われます。
以前にも何度か紹介しているように、僕はSkill Hacksというプログラミングスキル養成のオンライン講座を運営しています。
本来ならば、ここでSkill Hacksについてガンガン宣伝するのが正しいのだと思いますが、僕の運営しているSkillHacksは、あくまでも「効率的にプログラミングを学ぶコンテンツ」です。
そのため有料のコンテンツとして提供していますので、「プログラミングを学んで真剣に稼ぎたい!」と考えている人以外にはオススメしていません。
何度も紹介したように、プログラミングを学ぶスタート地点については何でも構わないと考えています。
HTMLやCSSを学びたいという人の場合は、インターネットを上手く利用すれば無料で学習することも出来ます。
「調べる時間がもったいない」とか「早く実践レベルのスキルがほしい」というのならば別ですが、中には「ゆっくりとプログラミングを学びたい」という人も多いと思われます。
Skill Hacksでは、プログラミングを学ぶというだけではなく、分からない部分を僕に聞けるというサービスも提供しています。
そのため、分からない部分でいつまでも悩み続けるということがありません。
どこまで無駄な時間を削除できるかということに挑戦しているような内容なので、「本気で早く稼ぎたい」というストレートな目的がある人にはおすすめです。
プログラミングスキルの上達には飛び級制度のような良いものはありませんので、着実に1歩ずつ進むのが最短の近道となります。
まとめ:プログラミングの言語は自分のやりたいことで決めよう
ここまでオススメのプログラミング言語について紹介しました。
プログラミングの上級者の話を聞くと、「C言語が基本だ!」とか「BASICから覚えたほうが良い!」というようなことを耳にすることもあるでしょう。
また、僕のようにプログラミング講座を運営している人は自分が指導しているプログラミング言語をオススメする人も多いです。
しかし僕自身の考えとしては、「学ぶプログラミング言語は何でも良い」と考えています。
それよりも言語の選択に固執して学ぶ時間が減ってしまうことのほうが重大な問題なので、まずは自分のやりたいことを明確にすることが大切です。
やりたいことが明確になれば、その言語について1つずつ学ぶだけです。