こんにちは、迫佑樹(@yuki_99_s)です。
「プログラミング学習の始め方が分からない」なんて声をよく聞きます。
確かに、初めて学ぶなら言語を選ぼうなんて言われても分かりませんよね。
そこで今回は「プログラミング学習の始め方」というテーマで初心者向けに話していきたいと思います。
目次
プログラミング学習を始める前に
プログラミング学習を始める前に、まずプログラミングとは一体何なのか、プログラミングに必要なものについて説明していこうと思います。
このような基礎的な知識はどの言語を学ぶときでも必要なものになりますので、しっかりと確認しておきましょう。
プログラミングとは
そもそもプログラミングとは一体なんなのか、と言いますと、
「コンピューターに実行して欲しい処理を書き出しておくこと」
となります。
コンピューターは基本的に自分で物を考える事ができない、という欠点を持っています。
ですので、プログラミングを通してプログラム
つまり「コンピューターに実行して欲しいことを記載したもの」を用意して置かなければなりません。
プログラムを用意しておくことにより、コンピューターは実際に処理を実行することができるようになるのです。
しかし、ここで注意して欲しいのが、コンピューターは「プログラムに記載されている作業しか実行しない」ということです。
例えば、人間であれば歩いていて転びそうになったときに、
といった行動を、誰かに指示されていなくてもとることができると思います。
しかし、コンピューターにはこのように、次に起こることを想像、予測して何かを実行する、と言ったことはできません。
プログラム自体に、転びそうになったときは「バランスを取る」「どこかに掴まる」「両手を前に出す」と記述さえていなければ、それらの行動をとることはできないのです。
プログラミングを行うときは、この点をしっかりと覚えておく必要があります。
プログラミングに必要なもの
では、実際にプログラミングを行う際に必要な物はなんなのかというと、インターネットに接続できるコンピューターとなります。
コンピューターさえあればプログラミングは可能なのですが、インターネットに接続していないとプログラムを動かすためのソフトウェアなどを手に入れることができません。
逆に言えば、インターネットに接続しているコンピューターさえあればどのようなプログラミングでもできることになります。
コンピューター以外で必要なものは、学ぶ人の心構えです。
プログラミングは独特の考え方、言い回し、また初心者の方はエラーなどに詰まると解決方法がわからなくて時間を大量につかってしまう、と言った点から非常に挫折しやすくなっています。
そのため、プログラミングを身につけるためには、正しい学習方法で学び、モチベーションを維持しながら学んで行くことが必要になります。
プログラミング学習の始め方を紹介
プログラミングを全く行ったことのない初心者の方がプログラミング学習を始める為には、以下のような順序で行うのがおすすめです。
プログラミングの技術力を上げるためにも、アプリ開発は何度も繰り返していく必要があります。
基本的にプログラミングは手を動かさなければ身につくことはありません。
この事を念頭に置いた上で、それぞれどのようなことをすれば良いのか、詳しく説明していこうと思います。
①目標・目的を設定する
迫佑樹
例えば、「エンジニアとして就職する」でも、「ToDoアプリを開発する」でも構いません。
プログラミングを学ぼうと思ったからには、何かやりたいことや考えたことがあるはずです。
それをそのまま目標・目的にしてみると良いでしょう。
目標・目的をしっかりと設定しないままプログラミングを学び始めてしまうと、どうしてもモチベーションが低下してしまいがちです。
プログラミング学習ではモチベーションの維持はとても大切になってくるので、目標・目的を設定しないまま学習を始めるのは止めておきましょう。
②目標・目的に沿った言語などを見定める
目標・目的を定めたら、それに沿った言語を見定めることになります。
「エンジニアとして就職する」といった目的であれば、就職に有利な言語を学ぶことになります。
一番メジャーな言語はJavaですがJavaは案件も多いですが使える技術者も多く、求められるスキルが高くなりがちです。
そのため、Java以外で就職に有利な言語を選んだ方が有利な可能性があります。
Java以外では、最近案件の多いWebアプリ開発やスマホアプリ開発、といった観点から、Ruby、Python、Kotlin、Swiftがおすすめになります。
Webアプリ開発ではRubyかPython、スマホアプリ開発はAndroidならKotlin、iPhoneならSwiftがおすすめです。
「ToDoアプリを開発する」といった目標であれば、ToDoアプリをどのプラットフォームで利用したいかを考えてみるといいでしょう。
スマホだけで利用するのであればKotlinかSwift、スマホとコンピューターの両方で利用するのであれば、Webアプリ開発が最適ですのでRubyかPython、といった言語を選ぶと良いでしょう。
PythonはどちらかというとWebスクレイピングやAI分野に特化しているので、ToDoアプリであればRubyを選ぶと、初心者には開発しやすくておすすめです。
このように、目的・目標をしっかりと設定しておくことにより、学ぶ言語の選定もスムーズに終わらせることが可能になります。
③無料サイトで軽く学習してみる
学ぶ言語を選定したら、次は無料サイトで学習してみましょう。
プログラミング言語名で検索すれば、無料で学習できるサイトはいくつも出てきます。
どのサイトも基礎的なことを学ぶことができますので、まずは基礎からしっかりと身につけていくようにしましょう。
わからない事があればまた改めて検索したり、それでも理解できなかったら学習サイト自体を変えてみるのがいいでしょう。
無料なので、選びたい放題です。
自分にあった学習サイトを探してみましょう。
④効率的に学びたい人はスクールに行く
無料サイトでこつこつ学ぶより、もっと効率的に学びたい場合にはプログラミングスクールに通うことをおすすめします。
プログラミングスクールでは、講師の方が初心者でもわかるように懇切丁寧に教えてくれます。
無料の学習サイトとは違い、わからなかったことは講師に直接質問することができるので、一人でひたすら悩む、といった時間を削減することができます。
また、学習のスケジュールなども決まっているため、モチベーション維持にも繋がってきます。
プログラミングスクールの中にはグループでの開発体験や、就職支援サポートを行っているところもあります。
このように、実際の開発現場を体験したり、転職できるまでしっかりとサポートを行ってもらえるのは、有料のプログラミングスクールならではと言えます。
料金は10万円以上かかるのが一般的なのでなかなか踏み切れない方も多いと思います。
しかし、エンジニアの年収は一般的な職業より高いことが多いため、エンジニアとして就職することができればすぐに元がとれるでしょう。
エンジニアとして就職したい、または講師のサポートを受けてしっかりと学びたい方は、プログラミングスクールを利用してみましょう。
また、僕の運営しているSkill Hacksでは約7万円でプログラミング初心者を脱することが可能です。
学習方法は1本10分から20分の動画です。
と思う方もいるかと思いますが、安心してください。
LINE@で質問し放題なので、初心者でもサクサク学習を行うことができます。
気になった方は見てみてください。
⑤自分の作品を作ってみる
一通りプログラミングの基礎を学んだら、自分の作品を作ってみましょう。
これは、目標が「ToDoアプリを開発する」と設定していた人であればToDoアプリの開発を行ってみるのが良いと思います。
しかし、そのように自分の作りたい物が明確になっていない方は、既に存在しているアプリを真似て作ってみても構いません。
スポーツでも勉強でもそうですが、アプリ開発でも他人の作った物を真似て作ってみる、というのは非常に有効な学習方法です。
なので、どんどん既存のアプリを真似てみてください。
しかし、ここで注意して欲しいのが、ただ真似るだけでは無くプログラムの動きや内容を確認しながら真似ていく、と言うことです。
きちんと学んでいかなければ、どれだけ学んでも自分の力になることはありません。
先人がどうやって効率的にプログラムを組んでいるのかをしっかり確認して行きましょう。
また、ここで作る作品はきちんと完成させるようにしてください。
途中で諦めてはいけません。
どれだけ不格好でも、使いづらくても構いませんので、まずはしっかりと完成させることが重要です。
⑥目標・目的に立ち返る
自分の作品を完成させることができたら、最初に立てた目標・目的立ち返ってみましょう。
「エンジニアとして就職する」であれば、自分の作った作品をポートフォリオとしてみるのも良いでしょう。
開発の経験が足りないと感じたら、また改めて自分の作品を作ってみましょう。
「ToDoアプリを開発する」であれば、目標通りのアプリが開発できたかどうかを確認してみてください。
目標に達していなかった場合は、何が足りないのか、何をすればいいのか、しっかりと洗い出しをしていきましょう。
問題点を洗い出し、それを解決するための方法を考える、というのはプログラミングをする上で非常に重要です。
迫佑樹
プログラミング学習の始め方に関するQ&A
それでは、プログラミング学習を始める際によく訊ねられる質問に答えていこうと思います。
どのくらいの期間で身につけることができますか?
まず、どの程度プログラミングを学べば身についたと言えるのかを設定していきます。
ここでは、「難易度の高くないアプリを、公式ドキュメントや書籍を参照することで問題なく作れる様になる」を「プログラミングを身につけた」ということで設定しましょう。
これは一般的に、「200時間」前後と言われており、毎日こつこつ学んだとしても大体2、3ヶ月かかる計算になります。
これはプログラミングスクールなどに通って効率的に学んだ場合ですので、無料学習サイトなどで独学で学ぶ場合はもっと時間がかかると思って頂いて構いません。
プログラミングを学ぶのは、とにかく時間がかかります。
効率的に学んでも2、3ヶ月かかりますので、これはしっかりと念頭に置いておくようにしましょう。
ちなみに、もっと複雑なアプリ開発が行えるようになるまでは1年以上、即戦力として通用できるようなレベルになるまでは3年以上かかるとも言われています。
もちろん、毎日アプリ開発に携わった状態での話になります。
ここまでになると個人差も大きく出てきますが、参考程度に頭にとどめておくと良いでしょう。
本で学ぶのはおすすめしませんか?
一度もプログラミングをしたことのないまったくの初心者が、一番最初にプログラミングの入門書を利用して学習するのはあまりおすすめではありません。
最初はできればプログラミングスクールや学習サイトを利用するのが良いでしょう。
これは、初心者の方が講師や有識者の手助けなしに学ぶのは非常に難しいからです。
プログラミングスクールでは講師がわからない事をしっかりとサポートしてくれますし、学習サイトでも有料であれば質問サポートがついていることが多いです。
また、無料サイトでも質問が投稿できる掲示板が存在し、質問をすれば誰かが答えてくれる可能性があります。
しかし、必ず本で学ぶのが良くない、という訳では無く、身近に質問できる有識者の方が射る場合は良いと思います。
本には本で後から参照しやすい為、復習しやすいといった利点がありますので、活用できるのであれば活用していきましょう。
まとめ:まずは目標設定をしてプログラミング学習を始めよう
プログラミング学習を始める時は、まずはきちんと目標を設定し、その目標を達成できるように学習していくようにしましょう。
目標を達成するためにはいろいろと方法がありますが、初心者の方におすすめしたいのは、最初は無料サイトを利用し、その後プログラミングスクールに通うことです。
プログラミングスクールを使うことによって、最速・最短でプログラミングを身につける事が可能になるからです。
プログラミング学習はどうしても時間がかかってしまうので、効率的に学びたい場合はプログラミングスクールを利用するようにしましょう。