
プログラミングやってても、エラーばっかり。
なにが楽しいのかまったくわからない。
プログラミング、向いてないのかも。
とお悩みの方へ向けた記事になります。
先日のツイートです。
プログラミングでエラーばかり出てつまらなくても、それは当たり前
— モリ|フリーランスWebライター (@MockRoll) March 26, 2023
エラーを解決できるからこそ、プログラミングは楽しい
解決できず悶々としている時間は、誰にとってもつまらない
適性など気にせず「根拠のない自信」で前進あるのみ#駆け出しエンジニアと繋がりたい #プログラミング勉強中
プログラミングでエラーばかり出てつまらなくても、それは当たり前
エラーを解決できるからこそ、プログラミングは楽しい
解決できず悶々としている時間は、誰にとってもつまらない適性など気にせず「根拠のない自信」で前進あるのみ
- プログラミングのエラーの数を減らすことができます。
- エラーの対処法がわかり、プログラミングが楽しくなります。
【エラーばかりでつまらない】プログラミングでエラーを減らすには?


プログラミングでエラーを減らす方法は、主に以下のとおりです。
その①:とにかく数を打って慣れる
その②:「質問力」を鍛える
それぞれ見ていきます。
その①:とにかく数を打って慣れる


もっとも大切なのは、数を打って慣れていくことです。
そもそもプログラミングは、コードを書くよりも「エラーと戦うことが仕事」といっても過言ではないからです。
エラーと戦えば戦うほど、解決パターンがわかるようになり、正確な推測もできるようになります。
しかしプログラミングを始めたばかりでは「このパターンのエラーは、どうすれば解決できるか」など、知見がまったく足りてません。
ここで「向いてない」とくじけずに、何度もエラーと戦って経験値を積むことがもっとも大切です。
その②:「質問力」を鍛える


エラーを減らすには、「質問力を鍛えること」が大切です。
理由は以下です。
- 「質問力を鍛える」ことで、「不明点をより具体的に言語化できる」から
- 実際の現場においても、「質問力」はもはや必須だから



質問できる人まわりにいないし…。
といって漠然と悩み続けても、なかなかエラーは減りません。
どこがどうわからないか明確にすることで、エラーの解決は早まります。
質問力を鍛えるには、以下をすべて明確にできれば完璧です。
- 何をしよう(作ろう、動かそう)として
- どんな環境で
- どういうことを試して
- どんな結果を得られて(得られなくて)
- 今どうしたいのか
- 参考にして試した参考書やウェブサイト
プログラミングでエラーばかり出てしまう原因


プログラミングでエラーばかり出てしまう主な原因は、以下のとおりです。
その①:エラー文を読んでいないから
その②:エラー文の箇所以外の部分に原因があるから
その③:エラー文がすべて英語だから
その④:エラーにイライラしてしまっているから
その⑤:「プログラミングは難しい」という先入観があるから
それぞれ見ていきます。
その①:エラー文を読んでいないから


エラーを頻発してしまう方は、エラー文を読んでいない傾向があります。
プログラミングでエラーが発生すると、
- どの部分に
- どのような不具合があるのか
を示した「エラーメッセージ」が必ず表示されます。
エラー文を無視してプログラミングを行うほど、非効率なものはありません。
エラー文がすべて英語でも、Googleで翻訳すれば大体の意味はわかるはずです。
その②:エラー文の箇所以外の部分に原因があるから


一般的にエラー文は、「○行目の~の箇所に問題あり」のような形で出てきます。
だからといって、必ずしも「エラー文にある行のコードを直せば解決する」とは限りません。
たとえば「エラー文に100行目と書かれてても、実際の原因は90行目にある」というケースも珍しくありません。
そのためエラー文の箇所を何度修正しても改善せず、頻発させてしまいます。
エラー文を翻訳しつつ、内容を理解したうえで「どのロジックで問題が起きているのか」想定することが大切です。
その③:エラー文がすべて英語だから


プログラミングは、エラー文がすべて英語です。
そもそも英語に苦手意識をもっている方にとっては、この点は苦痛に感じてしまうでしょう。
翻訳して読むならいいのですが、「英語は読めないから」といってまったく読まない方もいます。
英語のエラー文には、解決のヒントが詰まっています。
しっかり読まないことには、エラーばかりを繰り返してしまう結果となります。
その④:エラーにイライラしてしまっているから


エラーにイライラしてしまうことも、エラー頻発の原因です。
精神論のようにも思えますが、実際イライラすると頭の働きは鈍くなるため、ますます解決から遠ざかります。
どうしても解決せずイライラするくらいなら、いったん休憩を挟んでクールダウンすることが大切です。
その⑤:「プログラミングは難しい」という先入観があるから


「プログラミングは難しいもの」という先入観も、エラー頻発の原因です。
「難しい」と思って取り組むと、本当に難しいもののように思えてくるからです。
いい意味でも悪い意味でも、人間の「思い込みの力」は、結果を大きく左右します。
「プログラミングなんて余裕」くらいの、根拠のない自信をもつことが大切です。
エラーばかりでは辛いのは当たり前【向き不向きは関係ない】


エラーばかりが出てしまうと、



エラーばかりで苦痛。
おれ、向いてないのかな。
のように悩んでしまうものです。
しかし、エラーばかりが出ることに「楽しい」と感じる人はいません。
苦痛を感じて当たり前なので、向き不向きはいっさい関係ないと考えていいです。
エンジニアはエラーと戦う時間のほうが長い
エンジニアに対して、
- エンジニアはコードを書いてナンボ
- エラーは極力起こさない
のようなイメージを抱く方もいるでしょう。
しかし実際、エンジニアはエラーと戦う時間のほうが長いです。
どんなに高レベルのエンジニアになっても、それにともなって高レベルのエラーが立ちふさがります。
そのエラーと戦ってググり続け、なんとかして問題を解決できるからこそ、エンジニアは楽しいのです。
「向いてる人=エラーとの戦いが好き」というのは、間違いです。
プログラミングでエラーばかり出るときの対処法


エラーばかり出るときの対処法は、大きく以下です。
その①:エラー文の一部のみを検索する
その②:Googleのコマンド検索を活用する
その③:質問サイトを活用する
その④:いったんPCの前から離れる
それぞれ見ていきます。
その①:エラー文の一部のみを検索する


エラー文をそのままコピペして検索しても、求めている情報になかなかたどり着きません。
エラー文は、一部のみをコピペして検索してみることが大切です。
たとえば
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つ【対策も】もぜひお読みください。
その④:いったんPCの前から離れる


エラーばかり出て疲れたら、いったんプログラミングから離れましょう。
具体的には、いったん机から離れて
- 寝る
- 出かける
- 別のことをやる
など、関係ないことをやってみることです。
そうすることでリフレッシュになって、「再開したらあっさりエラーが解決した」というケースは珍しくありません。
その⑤:基礎を体系的に学び直す


ここまで紹介した対策を試しても、エラーばかり頻発させてしまうケースもあります。
その場合は、根本的にプログラミングの知識がまだまだ足りていない可能性があります。
たとえば、足し算のわからない人に掛け算を教えても、難しくて理解に時間がかかることは明白です。
すこし酷ではありますが、もういちど基礎から体系的に学習し直すほうがいいでしょう。
学び直して基礎を固めることによって、エラーの原因が見えてくることもあります。
- TECH BOOST:未経験者向けの優しいカリキュラムで、基礎固めにも最適。


- DMM WEBCAMP:大手DMMグループ運営・提供。実践で役立つ基礎が身につく。


- ポテパンキャンプ:Web系自社開発企業への転職に向けた基礎固めができる。カリキュラムもRuby。


まとめ


以上、プログラミングでエラーばかり出る理由や対策、エラーを減らす方法などを紹介してきました。
記事の内容をまとめると、以下のとおりです。
- エラーを減らすには、数を打つことと、質問力を磨くこと。
- エラーに苦痛を感じるのは普通。向き不向きはまったく関係ない。
- まずは英語でも、翻訳しながらエラー文をしっかり読むこと。
- エラー文の箇所のみならず、それ以外にも目を向けることが重要。
- 「プログラミングは難しい」という先入観を捨て、根拠のない自信をもつ。
- エラーばかりが出るなら、検索方法を変えたり、質問サイトを活用する。
エンジニアは、エラーと戦う時間のほうが長いです。
また、「エラーと戦うことが楽しい」と感じるエンジニアはいません。
エラーを解決させられるからこそ、エンジニアは楽しいわけです。
エラーばかり出てしまっても、向き不向きなど気にしてはいけません。
「プログラミングなんて余裕」という謎の自信をもち、地道にエラーとの戦いを重ねていくことが、大きく成長するためのコツです。








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