【初心者必読!】プログラミングのコツがつかめない原因とは

eyecatch_template
佐野裕史
書いた人 佐野裕史

どうも!インストラクターの佐野( @HiroshiSano0711)です。

学習も進んできて、オリジナルアプリ開発に挑戦しようとしている方も多いのではないでしょうか。

しかし、自分でいざ作ろうとした時にほとんどの人が壁に感じることがあります。

「どうやってプログラミングしていいのか全然わからない…」

教材の学習は順調に終わった、内容もある程度理解はできた、でも自分でプログラミングしようとするとできない…と悩む方がほとんどなのです。

実はこれはものすごく当たり前のことなので、心配することはありません。

これには明確な理由があるのです。

今回は、自分でプログラミングができないと悩んでいる方のために、プログラミングのコツをつかむ方法をご紹介します。

なぜ自分でプログラミングできないのか?

shutterstock_338388722
自分でプログラミングできない理由は、ずばり

「プログラミングの学習ができていないこと」

です。

「えっ?いつもプログラミングの学習をしているけど…どういうことなの?」

と思われるでしょう。

この事実を理解するためには、まず「プログラミング」を学ぶこと「プログラミング言語」を学ぶことの違いを理解する必要があります。

「プログラミング」を学ぶことと「プログラミング言語」を学ぶことの違いが理解できていない

プログラミングを学ぶことプログラミング言語を学ぶことって同じでしょ?」

と思われている方が多いでしょう。

しかし、これは明確に違います。

そもそも「プログラミング」というのは

「人間の意図した処理を行うようにコンピュータに指示を与える行為」

のことをいいます。

一方、プログラミング言語を学ぶことは「プログラミング言語の構文を理解すること」です。

プログラミング言語の構文を理解しても、自分の意図した通りにコンピューターに指示を与えることはできません。

そうでなければ、みなさんがこんなにプログラミング学習に苦労しないでしょう。

プログラミング学習の本質が何かを知らない

「プログラミング言語を学ぶ」というのは、プログラミング学習の本質ではありません。

例えると、「プログラミングを学ぶこと」と「プログラミング言語を学ぶこと」は

「クギの打ち方を覚えること」「ハンマーの使い方を覚えること」の違いに似ています。

ハンマーの使い方を覚えても、クギを正しく打てるとは限りません。

クギを打ったことがないので当然です。

しかし、クギの打ち方を覚えることができれば、クギを打つ道具は石でも鉄でも何でもいいのです。

これと同じように、「プログラミング言語を学ぶこと」「ハンマーの使い方を覚えること」に等しく、「プログラミングを覚えること」「クギの打ち方を覚えること」にあたります。

言ってしまえば、「プログラミング」を覚えることさえできれば、使う言語は何でも構わないのです。

さらに極論をいうと、「プログラミング」を覚えることができるなら「教材」や「ツール」も何でもいいのです。

  • まずはハンマーを使ってクギを打ってみよう
  • まずはこのプログラミング言語を使ってプログラミングを覚えてみよう

といっているだけなのです。

では、どうやって「プログラミング」を学べばいいのでしょうか?

プログラミングの学び方

shutterstock_433860316
プログラミングを学ぶには

「ある一定の動作をする小さなプログラムをたくさん書いてみること」

が必要です。

アプリのように完成されたプログラムを作ろうとすると、ライブラリやフレームワークの使い方、開発ツールの使い方など、幅広い知識が必要になります。

しかし、アプリの作り方を学ぶことも、「プログラミングを学ぶこと」ではないです。

アプリの作り方を学ぶことはプログラミングを学ぶことではない

アプリの作り方を覚えることは、「フレームワークの使い方を学ぶこと」にほぼ等しいので、これもまた「プログラミングを学ぶこと」になりません。

もちろん、アプリの作り方を学ぶことは、仕事を獲得するうえでは欠かせません。

僕は、みなさんに「アプリの作り方を学ぶこと」をおすすめしています。

実績があると仕事獲得で有利になるからというのもありますが、プログラミングを学ぶよりフレームワークの使い方を学んでアプリを作ることの方が簡単だからです。

アプリの作り方を学んだ後にプログラミングを学ぶ

最初は、アプリを作り方を学ぶので、「自分でプログラミングができない…」と悩むことはないのです。

教科書通りにアプリを作ったあとに、自分で作るために「プログラミングを学ぶ」からです。

教科書通りにアプリを作った方は、その作ったアプリを改良していくことで、プログラミングを学んでいきます。

最初は自分で思うようにプログラミングができないという方がほとんどでしょう。

その場合は、まず「小さいプログラムをたくさん作る練習」を行ってみるといいでしょう。

どのように書いたらどう動くのかを「経験する」ことが重要です。

プログラミングを学ぶには、技術や知識を理解することよりも「手を動かして経験すること」が最短の道なのです。

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

shutterstock_320549678
みなさんは、「自分でプログラミングできるようになること」が最終的な目的ではないでしょうか?

素晴らしい目的だと思います。

プログラミングできるようになったら、他のプログラミング言語を使ったりもできますし、いろんなアプリを作れるようになれますよね!

でも初心者の間は、「最後まで教科書をやり遂げようとこだわる」「エラーにはまって解決しようとこだわる」といったことをしてしまいがちです。

教科書をやりとげる精神力は大事ですが、ある程度、プログラミング言語の基礎がわかったらプログラムを作ること(プログラミングを学ぶこと)に専念すべきです。

また、「エラーが解決できずにハマってしまったが、解決できるまでこだわる」必要もありません。

どうしても解決できなかったら、もう1つ新しいものを1から作った方がプログラミングを覚えることができるからです。

たとえ、「教科書を最後までやり遂げた!」「エラーが解決できた!」となっても、それはそれで良いことですが、それに何日〜何週間という時間を使うことをしてはダメです。

その時間があれば、小さなプログラムを100個作ることができます。

目的は「自分でプログラミングできるようになること」です。

教科書を最後までやりとげることでも、エラーを解決することでもないです。

エラー解決には、幅広い知識や検索力が必要になる場合も多いです。

それは1日や2日では身につきません。

でも、1日あれば小さいプログラムをたくさん作って、プログラミングを学ぶことができます。

たくさんプログラムを作ってみて経験を積み重ね「クギの打ち方を覚えること」の方が大事なのです。

まとめ

いかがでしたでしょうか?

「プログラミング言語を学ぶこと」
「プログラミングを学ぶこと」
「アプリの作り方を学ぶこと」

この3つは明確に違います。

もっとも重要なのは「プログラミングを学ぶこと」です。

この違いを理解することで、プログラミング習得への最短の道を進むことができるでしょう!


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

学習者インタビュー

23歳、早稲田中退生が3ヶ月でフリーランスエンジニアになるまで
32歳ベンチャー企業元役員が起業してプログラミングを学んだ話
元ディスクユニオン店員が33歳からプログラミングを学びエンジニアになるまで
ヨガスタジオのマネージャーだった私が3ヶ月でWeb制作をマスターするためにした”たった1つ”のこと
Uターン女子がRubyを学んで理想のライフスタイルを手に入れた話
新卒、文系出身エンジニアが語る、経験0からプログラミングができるようになった理由

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題!最短1ヶ月でフリーランスエンジニア
プログラミング学習カリキュラム無料公開中
Ruby学習カリキュラム無料公開中
Python学習カリキュラム無料公開中
 1記事最大10,000円!テック系ライターさん大大大募集!!!
LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

佐野裕史

佐野裕史

侍エンジニア塾インストラクター。
主に技術担当をしています。

【経歴】
力仕事、接客業、営業職など様々な業界を経てIT業界に参入。
IT未経験からスタートし、1ヶ月で仕事獲得に奇跡的に成功。
1年半後にフリーランスに転身。

Web開発を主に行っており、得意とするのはRails、Ruby。
【技術スキル】
Rails、Ruby、Swift、Java(Android)、JavaScript

【趣味、趣向】
麻雀
MTG(マジックザギャザリング)
ダーツ、卓球、野球、ボウリングなどの球技

【Facebookページ】
https://www.facebook.com/hiroshi.sano.7
【Twitter】
プログラミング講師@佐野裕史
自分でプログラミングができない人のために情報を発信しています。
お気軽にフォローください。