
プログラミングが全然わからない。
これが理解できる人って天才なの?
それとも自分が向いてないのかな。
とお悩みの方へ向けた記事になります。
先日のツイートです。
プログラミングが全然わからないのは、普通です
— モリ|フリーランスWebライター (@MockRoll) March 23, 2023
プログラミングは「学べばすぐできること」ではない
じっくり時間をかけて、習得していくもの
「できなから向いてない」と思っちゃ損です
継続が大切#駆け出しエンジニアと繋がりたい #プログラミング初心者
プログラミングが全然わからないのは、普通です
プログラミングは「学べばすぐできること」ではない
じっくり時間をかけて、習得していくもの「できなから向いてない」と思っちゃ損です
継続が大切
- プログラミングの正しい向き合い方と勉強法がわかります。
- 正しい対策がわかることで、プログラミングができるようになります。
プログラミングが全然わからないのは普通です【理由と対策】


タイトルにあるとおり、プログラミングが全然わからないのは「普通」です。
プログラミングは習得まで時間がかかるものだからです。
この記事を書いている僕は未経験からエンジニアになり、現在フリーランスとして活動しています。
プログラミング学習をはじめて、まともに理解するまで1年以上かかりました。
そんな僕の経験をもとに、プログラミングが全然わからないと感じる理由と対策を紹介します。
プログラミングが全然わからない理由


プログラミングが全然わからない理由は、主に以下のとおり。
その①:「学べばすぐできること」と思っているから
その②:すべて理解して覚えようとしているから
その③:なにがわからないのかわかってないから
その④:エラーが解決できないから
その⑤:英語が読めないから
その⑥:イライラしているから
それぞれご紹介します。
その①:「学べばすぐできること」と思っているから


プログラミングの習得には、時間がかかります。
決して「学んで覚えて、すぐにできるようになること」ではありません。
しかしプログラミング初学者の方の多くは逆に、「プログラミングは、学べばすぐにできるもの」と思っています。
そのためなかなか理解できず、上達しない自分に嫌気が差してしまいます。
その②:すべて理解して覚えようとしているから


プログラミングをすべて理解して覚えようとしていることも、「全然わからない」原因です。
プログラミングでできることは、星の数ほどあります。
これらをすべて覚えるのは、まず「無理」です。
たとえるなら、世の中にある英単語をすべて完璧に覚えようとしていることと同じです。
その③:なにがわからないのかわかってないから


わからないことがわからなければ、解決しようがありません。
たとえば右も左も分からない入社1日目の新人に「わからないことは聞いてね」といっても、質問が飛んでくることはないでしょう。
不明点すらわからないということは、そもそもの理解に乏しいということ。
それが原因で、「全然わからない」という心境になってしまいます。
その④:エラーが解決できないから


やはりエラーが解決しないと、「全然わからない」という心境になります。
プログラミングはエラーが解決できないと、まったく先に進まないためです。
エラーが何時間、何日かけても解決できないと「プログラミングが向いてないのかも」となってしまいます。
ここで誰も聞く人もいないと、結果的に「挫折」につながってしまいます。
その⑤:英語が読めないから


英語が読めないことも、「全然わからない」と感じる原因となります。
プログラミングは書くコードも英語なら、エラーメッセージも英語だからです。
英語に対して苦手意識をもっていると、この傾向はなおさら顕著になります。
その⑥:イライラしているから


「全然わからない」原因のひとつに、イライラしていることも挙げられます。
怒りはムダに脳のリソースを消耗するため、逆に脳の働きが鈍くなるためです。
イライラしながら作業しても、解決につながることはないと考えたほうがいいです。
全然わからないことと「向き不向き」は関係ない


プログラミングが全然わからないと



やっぱりオレ、向いてないのかな…。
と悩む方は少なくありません。
しかしプログラミングは、最初はわからなくて当然。
向き不向きはいっさい関係ありません。
プログラミングで重要なのは、センスではなく、「慣れと継続」です。
以前の記事、プログラミングは誰でもできるは嘘【向き不向きよりも継続】も参考にどうぞ。
プログラミングが全然わからないときの対策


プログラミングが全然わからないときの対策は、以下が挙げられます。
その①:6~7割の理解で進めていく
その②:検索のしかたを工夫してみる
その③:上手な質問のしかたを覚える
その④:作るもののハードルを下げる
その⑤:いったんプログラミングから離れる
その⑥:プログラミングスクールを利用する
それぞれ見ていきます。
その①:6~7割の理解で進めていく


プログラミングは完璧に理解したり、暗記する必要はありません。
6~7割程度の理解で次のステップへ、テンポよく進んでいくことが大切です。
METAのCEO、マーク・ザッカーバーグの名言に以下のような言葉があります。
完璧を目指すよりまず終わらせろ
マーク・ザッカーバーグ
プログラミング学習も、このスタンスで進めていくことが大切です。
その②:検索のしかたを工夫してみる


検索のしかたを工夫してみましょう。
具体的には、以下の3つを参考にして下さい。
- ①:エラーメッセージの一部のみを検索する
-
たとえば
CS0103 The name ‘Team_Tanaka’ does not exist in the current context
といったエラーメッセージが出たなら、
CS0103 does not exist in
など、一部分をコピーして検索してみましょう。
エラーメッセージをそのままコピペして調べても、まともな解決方法は見つかりません。
- ②:Googleのコマンド検索を利用してみる
-
コマンド検索とは、以下のようなものです。
Googleの検索窓で入力してみましょう。
利用すべきコマンド検索- 完全一致検索(特定のキーワードに完全一致した情報のみ表示)
方法:
調べたいキーワードを””で囲む
例:
「FileNotFoundException “JAVA”」
- 除外検索(特定のキーワードを含む情報を除外)
方法:
調べたいキーワードの前に「-」を置く
例:
「FileNotFoundException -java」
完全一致のもののみを表示させたり、的はずれな検索結果を除外できて便利です。
- 完全一致検索(特定のキーワードに完全一致した情報のみ表示)
- ③:質問サイトで検索してみる
-
質問サイトで、エラーメッセージの一部を検索してみること。
あなたと同じことで悩んでいる人がすでにいたりします。
プログラミング系質問サイトは、teratailやQiitaがおすすめです。
ただteratailには注意点もあるので、なぜ?プログラム初心者がteratailで説教される理由3つ【対策も】もぜひお読みください。
その③:上手な質問のしかたを覚える


もし「周りに質問できる環境」にいる方であれば、上手な質問のしかたを覚えるのも効果的です。
質問に具体性があればあるほど、より確実な解決につながるためです。
上手な質問とは、以下が明確になっている質問のことを指します。
- 何をしようとして(作ろうとして、動かそうとして)
- どんな環境で
- どんな結果を期待して
- どういう事を試して
- どんな結果を得られて(得られなくて)
- どういう風に困っていて
- 今どうしたいのか
- 参考にして試した参考書やウェブサイト
その④:作るもののハードルを下げる


「全然わからない」という心境になったら、作るもののハードルを下げることをおすすめします。
プログラミング学習においては、「できた」という実感や喜びが大事だからです。
難しいものや高いクオリティに憧れる気持ちは痛いほどわかります。
しかし、かんたんなものをいくつも作っていくほうが、上達は早いです。
その⑤:いったんプログラミングから離れる


「全然わからない」と悩んだ場合、いったんプログラミングから離れましょう。
具体的には、いったん机から離れて
- 寝る
- 出かける
- 別のことをやる
など、関係ないことをやってみることです。
そうすることでリフレッシュになり、再開したらあっさりエラーが解決するケースも珍しくありません。
その⑥:プログラミングスクールを利用する


プログラミングが全然わからない場合、スクールに投資するのもひとつの選択肢です。
悶々と独学を続けていてもなかなか成長せず、もし挫折すればそれこそ「時間の損失」となります。
スクールならわからない点を講師に聞けるので、確実かつスピーディーにプログラミングを習得できます。
- TECH BOOST:「挫折させないサポート体制」が特徴。完全未経験向け。


- DMM WEBCAMP:大手DMMグループ運営・提供。未経験者向けのスクールでNo1。


- ポテパンキャンプ:Web系自社開発企業を目指す方におすすめ。カリキュラムもRuby。


まとめ


以上、プログラミングが全然わからないと感じる原因や対策を紹介してきました。
記事の内容をまとめると、以下のとおりです。
- 全然わからないのは、向いてないわけではなく、普通。
- すぐに習得するのは不可能。時間をかける必要がある。
- すべてを理解するのではなく、6~7割の理解ですすむこと。
- 検索や質問のやり方を変えてみることもひとつ。
- 難しいものをひとつ作るより、簡単なものを複数作るほうがいい。
- いったんプログラミングから離れることも大切。
プログラミングにおいては、全然わからないのが普通です。
最初からスムーズに習得できる人なんていません。
向き不向きなど気にせず、イライラすることなく、コツコツと段階を踏んで、時間をかけてじっくり学習していく姿勢が大切です。








1992年生まれ|2020年10月フリーランスとして独立|Web制作、SEOライティングを軸に活動中|接客→生産管理→システム開発会社→現在|モリブログ運営。Web制作、フリーランスジャンルを中心に更新中。PV数は年間14万人以上||温泉、旅行、甘いものが好き。