どうも!インストラクターの佐野です。
学習も進んできて、オリジナルアプリ開発に挑戦しようとしている方も多いのではないでしょうか。しかし、自分でいざ作ろうとした時にほとんどの人が壁に感じることがあります。
どうやってプログラミングを進めればいいのか全然わからない……。
実は教材が順調に進み、内容もある程度理解はできた方でも、自分でプログラミングしようとするとできない...と悩むことが多いのです。
ですが、これはものすごく当たり前のことなので、心配することはありません。これには明確な理由があります。
この記事では、自分でプログラミングができないと悩んでいる方のために、
- なぜプログラミング学習が思うように進まないのか
- プログラミングのコツをつかむ方法
この2つをご紹介します。学習がなかなか進まないとお悩みの方はぜひこの記事を参考に学習を進めてみてください!
この記事の目次
なぜ自分でプログラミングできないのか?

自分でプログラミングができない理由は、ずばり”プログラミングの学習ができていないこと”です。
と思われるでしょう。この事実を理解するためには、まずプログラミングを学ぶこととプログラミング言語を学ぶことの違いを理解する必要があります。
では、プログラミングと言語の違いを詳しく解説いたします。
「プログラミング」と「プログラミング言語」を学ぶことの違い
と思われている方が多いでしょう。しかし、これは明確に違います。
そもそもプログラミングというのは”人間の意図した処理を行うようにコンピュータに指示を与える行為”のことをいいます。
一方、プログラミング言語を学ぶことは”プログラミング言語の構文を理解すること”です。
プログラミング言語の構文を理解しても、自分の意図した通りにコンピューターに指示を与えることはできません。つまり、プログラミング言語を理解するだけでは、プログラミングができるようになった訳ではないのです。
プログラミング学習の本質が何かを知らない
「プログラミング言語を学ぶ」というのは、プログラミング学習の本質ではありません。
例えると、”プログラミングを学ぶこと”と”プログラミング言語を学ぶこと”は「クギの打ち方を覚えること」と「ハンマーの使い方を覚えること」の違いに似ています。
ハンマーの使い方を覚えても、クギを正しく打てるとは限りません。クギを打ったことがないので当然です。
しかし、クギの打ち方を覚えることができれば、クギを打つ道具は石でも鉄でも何でもいいのです。
これと同じように、
- プログラミング言語を学ぶ=ハンマーの使い方を覚える
- プログラミングを覚える=クギの打ち方を覚えること
にあたります。いってしまえば、プログラミングを覚えることさえできれば、使う言語は何でも構わないのです。
さらに極論をいうと、「プログラミング」を覚えることができるなら「教材」や「ツール」も何でもいいのです。
- まずはハンマーを使ってクギを打ってみよう
- まずはこのプログラミング言語を使ってプログラミングを覚えてみよう
といっているだけなのです。では、どうやって「プログラミング」を学べばいいのでしょうか?
ここからは正しいプログラミングの学び方をご紹介します。
プログラミングの学び方

プログラミングを学ぶにはある一定の動作をする小さなプログラムをたくさん書いてみることが必要です。一つのアプリを作ると考えると、壮大な事と思うかもしれませんが、実はアプリは細かい機能を組み合わせただけです。
例えば、予約フォームを作りたいとなったときは、
- ログイン機能
- カレンダー表示機能
- 入力フォーム
などなど、サービスに必要な機能を作れることが重要なんです。アプリのように完成されたプログラムを作ろうとすると、ライブラリやフレームワークの使い方、開発ツールの使い方など、幅広い知識が必要になります。
しかし、アプリの作り方を学ぶことも、プログラミングを学ぶことではありません。
アプリの作り方を学ぶ=プログラミングを学ぶことではない
アプリの作り方を覚えることは、フレームワークの使い方を学ぶことにほぼ等しいので、これもまた「プログラミングを学ぶこと」になりません。もちろん、アプリの作り方を学ぶことは、仕事を獲得するうえでは欠かせません。
僕は、みなさんにアプリの作り方を学ぶことをおすすめしています。
実績があると仕事獲得で有利になるからというのもありますが、プログラミングを学ぶよりフレームワークの使い方を学んでアプリを作ることの方が簡単だからです。
アプリの作り方を学んだ後にプログラミングを学ぶ
最初は、アプリの作り方を学ぶので「自分でプログラミングができない...」と悩むことはないのです。教科書通りにアプリを作ったあとに、自分で作るためにプログラミングを学ぶからです。
教科書通りにアプリを作った方は、その作ったアプリを改良していくことで、プログラミングを学んでいきます。
最初は自分で思うようにプログラミングができないという方がほとんどでしょう。その場合は、まず「小さいプログラムをたくさん作る練習」を行ってみましょう。
どのように書いたらどう動くのかを「経験する」ことが重要です。小さいプログラムを作る中で、検索で情報を得る力も重要になってくるので、こちらもいくつかのコツを踏まえた上で養っていきましょう。
プログラミングを学ぶには、技術や知識を理解することよりも「手を動かして経験すること」が最短の道なのです。
検索のコツについてはこちらの記事で詳しくご紹介いたします。

最終目的は「プログラミング」ができるようになること

みなさんは、”自分でプログラミングできるようになること”が最終的な目的ではないでしょうか? 素晴らしい目的だと思います。
プログラミングができるようになったら、他のプログラミング言語を使ったり、いろんなアプリを作れるようになれますよね!
しかし、初心者の多くは「最後まで教科書をやり遂げようとこだわる」や「エラーにはまって解決しようとこだわる」といったことをしてしまいがちです。
教科書をやりとげる精神力は大事ですが、ある程度、プログラミング言語の基礎がわかったらプログラムを作ること(プログラミングを学ぶこと)に専念すべきです。
また、エラーが解決できずハマってしまったら、解決できるまでこだわる必要もありません。どうしても解決できなかったら、もう1つ新しいものを1から作った方がプログラミングを覚えることができるからです。
たとえ、「教科書を最後までやり遂げた!」「エラーが解決できた!」となっても、それはそれで良いことですが、それに何日〜何週間という時間を使うことをしてはダメです。その時間があれば、小さなプログラムを100個作ることができます。
目的は「自分でプログラミングできるようになること」です。教科書を最後までやりとげることでも、エラーを解決することでもないです。
エラー解決には、幅広い知識や検索力が必要になる場合も多いです。それは1日や2日では身につきません。
でも、1日あれば小さいプログラムをたくさん作って、プログラミングを学ぶことができます。たくさんプログラムを作ってみて経験を積み重ね「クギの打ち方を覚えること」の方が大事なのです。
プログラミングを上達するためには、目的と手段を間違えないことが大切です。この言葉を知った上で学習をすすめてみてください。
どうしてもプログラミング学習がうまくいかないときは…

ここまで学習の違いや学習時に大切な事をご紹介しましたが、
エラーばかりでもう挫折しそう……。
と感じている方もなかにはいらっしゃるのではないでしょうか。
実際のところ、プログラミングの独学経験者の挫折率は約9割で、プログラミング学習はかなりハードです(以下の記事も参照してください)

しかし、せっかくプログラミング学習を続けたのに途中で諦めてしまうのはもったいないです。
プログラミングは将来的に必ず役に立つスキルです。どうしてもひとりの学習が難しいのであれば、一度プログラミングスクール受講をご検討されてみてはいかがでしょうか。
手前味噌ではありますが、弊社が運営するプログラミングスクール”侍エンジニア”では、プログラミング学習において初学者がつまずくポイントを徹底的に調査し、より確実にプログラミングを習得するために、
- あなたの目的に合わせたオリジナルカリキュラム
- 現役エンジニア講師が最後まで変わらずに伴走するマンツーマンレッスン
- 自学中もすぐに回答がもらえるQ&Aサイト
を提供いたします。また、プログラミング学習だけでなく、転職やフリーランスを目指す方のサポートも行っています。プログラミング習得〜エンジニアデビューまでを侍エンジニアで一緒に目指してみませんか?
まずは、侍エンジニアの「無料カウンセリング」をご利用ください。弊社専属のキャリアカウンセラーがあなたの悩みを解決します。
下記のカレンダーから1分ほどでご予約いただけます。遠方の方もオンラインで受講いただけますのでぜひご活用ください。
お急ぎの方はこちらからお問い合わせください。
読み込みに失敗しました。
大変お手数ですが、本ページを再度読み込んでください。
再度読み込んでも、読み込み失敗が起こる場合は
こちらからお問い合わせください。
カウンセリングはオンラインにて実施しております。
※予約完了後に、カウンセリングのためのURLやIDなどをメールにてご案内します
1.ご希望の日時を選択してください
2.必須事項を入力してください
ご予約ありがとうございます!
記入いただいたメールアドレスに確認用メールをお送りしていますのでご確認ください。
※メールが届かない場合は、SAMURAIENGINEERサポート(support@sejuku.net)までご連絡ください。
また、当日はより充実したお時間を過ごしていただくために事前カウンセリングシートの記載をお願いしております。
記載がない場合や記載内容によっては事前にお電話させて頂く可能性がございます。
簡単3分
カウンセリングシートを記入
【ご予約情報】
ご予約日時○月○日(△) ○○:○○〜
※オンラインカウンセリングはGoogle Meet にて実施します。URL発行が完了しましたら、別途ご案内申し上げます。
まとめ
いかがでしたでしょうか?
- プログラミング言語を学ぶこと
- プログラミングを学ぶこと
- アプリの作り方を学ぶこと
この3つは明確に違います。もっとも重要なのは「プログラミングを学ぶこと」です。この違いを理解することで、プログラミング習得への最短の道を進むことができるでしょう!