コラム

超簡単!プログラミングで挫折する原因とたった1つの解決法

プログラミング 挫折

プログラミングが全然分からない、難しい

プログラミングの勉強って挫折の連続ですよね。一つ問題を解決したらまた分からないことがすぐ出てくるし…

私も何度も挫折した経験があるのでその気持ちがすごく分かります。

今回は、私がプログラミングを学ぶ中で身に付けたプログラミンで挫折をしなくするための方法をご紹介します。

他には

  • 将来的に挫折しないためのコツ

についても書いているのでぜひ最後まで読んでくださいね。

プログラミングで挫折する原因は?

プログラミング エラーが解決できない
ちか

プログラミングの勉強してても分からないことばっかり…もう挫折しそう

プログラミングで挫折する原因は色々ありますが、根本的な原因はただ一つです。

それは

モチベーションが保てないから

これに尽きます。

なぜモチベーションが下がってしまうのかというと、プログラミングで挫折するケースは独学が圧倒的に多く、独学では

  • 分からないことが聞けない
  • エラーが解決できない
  • 作り方が分からない

という問題が頻繁に起こるからです。

これらが原因となって、モチベーションが下がり、プログラミングが楽しくなくなって結果として挫折するという流れになります。

私も独学でプログラミングを勉強して、同じように挫折を経験してきました。そのため、モチベーションが保てないという気持ちはものすごく理解できます。

分からないことを1時間以上ネット検索をしても問題が解決しない。

イライラするし、時間を無駄にしているようで焦るし、自分にはプログラミングは無理なんじゃないかと思ってしまいますよね。

恐らくあなたも今、そんな気分なんじゃないかと思います。

でも、それはあなただけではないので安心してくださいね。

それでは、プログラミングで挫折する問題の解決策をご紹介したいと思います。

あなたも簡単にできる方法です。ぜひ参考にしてください。

プログラミングで挫折する原因の解決法

プログラミング 挫折 原因

プログラミングの挫折原因であるモチベーションの低下は

  • 分からないことが聞けない
  • エラーが解決できない
  • 作り方が分からない

これら3つの原因で起こります。

そして、これらの問題は、根本的には一人で問題を解決できないことが原因になっています。

つまり、一人で問題を解決できるようにすることが一番の解決策になります。

専門用語で検索することで解決をする

では、どのように一人で問題を解決するのか?

その方法は「検索」です。

ゆうき

検索ならすでにやってますよ…

先生

検索のやり方にコツがあるんですよ。

具体的には「専門用語による検索」を行うことで問題を解決をすることができます。

なぜ専門用語で検索をすると問題が解決できるのか?

その理由は、ネット上の記事が専門用語を使って書かれることが多いからです。

例えば、C#で配列を作り、最初から値を入れておく方法を調べるとします。

この時「C# 配列 値を入れる」と調べると、配列を作る時に値を入れる方法と配列を作った後に値を入れる方法の2つが検索されます。

しかし、「C# 配列 初期化」と調べる、配列を作る時に値を入れる方法に限定することができます。

プログラミング 検索 例

この場合、「初期化」という専門用語を使って調べることで情報を選別したことになります。

これは簡単な例になりますが、専門用語を使って調べた方が、より早く確実に目的の解決策にたどり着くことができます。

記事は専門用語を使って書くことで誤解が無くなる

専門用語は、話し手と聞き手がお互いに共通認識をするためのツールみたいなものです。専門用語を使わないと話が通じなかったり、誤解されてしまう可能性もあります。

特にWEBサイトの記事は不特定多数の人に一方的に話しかける内容になるので、誤解が無いように専門用語が使われていることが多いです。

このような理由から、専門用語を知り、それを使って検索をすることで、早く正確に目的の情報にたどり着くことができるようになります。

解決策はWEB上にあることが多い!見つける方法を知ることが大事!

ちか

私と同じ問題で悩んでる人なんているんですかね?

先生

その点は心配しなくても大丈夫ですよ!

あなたが悩んでいることは他にも必ず悩んでいる人がいます。そして、その中にはWEBサイトに解決策をアップしてくれている人もいます。

あなたが問題が解決できないのは、解決策にアプローチする方法が分からないだけということも多いのです。

専門用語による検索を上手に使えるようになると、解決策にたどり着く可能性が高くなります。結果として、より高い確率で問題を解決することができるようになります。

ベテランの方が挫折しない理由は?

分からないことがあるのはベテランも初心者も同じです。では、なぜベテランは挫折することが少ないのでしょうか?

その理由は問題が起きた時に解決策にたどり着く方法を知っているからです。

ベテランプログラマーは当然たくさんの専門用語を知っています。そして、意識せずに自然と専門用語を使って検索をします。そのため、解決策に早くたどり着くことができるのです。

プログラミング 検索 初心者 ベテラン

実際に私もプログラミングの経験値が上がると共に問題の解決が早くなっていきました。

しかし、新しい言語を勉強する時は、専門用語が分からないので、今でも解決策を見つけるのに苦労することもあります。

プログラマーは一人で問題を解決する力がとても大事です。専門用語による検索は一人で問題を解決する練習にもなります。

あなたも専門用語を覚えて、適切な語句で検索をすることができれば、挫折の原因となる多くの問題を解決することができるようになります。

お金も掛からず今すぐできることなので、ぜひチャレンジしてみてください。

専門用語を調べる方法

パソコン 検索
ゆうき

専門用語で調べるって言われても、どんな言葉で検索したらいのかわかりません…

先生

始めたばかりはそうですよね。それでは専門用語の調べ方をご紹介しますね。

専門用語の調べ方は

  • 文法についての専門用語
  • プログラムの書き方についての専門用語

この2つで検索の仕方が変わってきます

文法についての専門用語の調べ方

文法についての専門用語は、参考書や初心者向けのWEBサイトで調べましょう。

プログラミング 文法 対処法

WEBサイトの場合、「C言語 入門」「ruby 文法」のように「言語名+入門」、「言語名+文法」と検索すると各言語の文法を紹介しているサイトが見つかります。

文法を勉強しながら一緒に専門用語を覚えていきましょう。

文法の学習となると、どうしても文法の書き方や使い方を重視しがちですが、専門用語を知っていれば書き方や使い方はあとからいくらでも検索ができます。

専門用語は検索時のキーワードとしてとても役に立つので、可能な限り覚えて、検索で活用できるようにしましょう。

プログラムの書き方についての専門用語の調べ方

プログラムの書き方が分からないというのは、例えば

1, 10, 2, 8, 5, 7, 3

これらの数字を小さい順に並び変えるプログラムの作り方が分からない、というように何かを実現する方法が分からないことを指します。

実戦形式で勉強をしていると、このような問題が頻繁に起こります。

このような場合は、自分で思いつく言葉をベースにして検索をしていきます。この例で言うと、「ruby 数字 並び替え」というように検索をすることが想像できます。

プログラミング 組み方 対処法

そうすると、検索結果の記事の中で専門用語を使って解説をしているWEBサイトが見つかります。そこから専門用語を覚えていきましょう。

今回の例で言うと、数字の並び替えはプログラミング用語で「ソート」と言われています。

専門用語を覚えたら、次回からは「ruby 数字 ソート」と調べればより早く適切な答えが発見できるようになります。

検索で調べるのは最初は大変!

お気づきかもしれませんが、この検索力を付ける方法は、専門用語が分からないうちは大変です。

しかし、慣れてくると検索スピードが上がって簡単に解決策が見つかるようになります。

これまでも学習をする中で色々と検索をしたと思いますが、その時はあまり専門用語は意識していなかったかもしれません。

しかし、今日からは専門用語を意識して検索してみてください。1ヶ月もがんばって続けていると、かなり調べるコツを掴んでくると思いますよ。

あなたと同じことで悩んでいる人は必ずいます。「絶対に答えはある!」という強い気持ちで粘り強く調べることが重要です。

プログラミングで挫折する原因の解決策(検索以外)

パソコン 問題 解決

ここまでは検索で問題を解決する方法をご紹介しました。

しかし、検索だけでは慣れるまではなかなか解決策にたどり着けずに苦労することもあります。

次は、そんな時に役に立つ、検索以外の解決策もご紹介しておきます。

具体的には、モチベーションを下げることに直結する

  • 分からないことが聞けない時の対処法
  • エラーが解決できない時の対処法
  • 作り方が分からない時の対処法

この3つの解決策をお伝えします。

この部分は少し内容が長くなっています。挫折の原因は人により色々だと思うので、自分のケースだけ読んでください。不要な箇所はスクロールして読み飛ばしてもらって大丈夫です。

分からないことが聞けない時の対処法

分からないことは「誰かに聞く」のが一番の解決策です。

しかし、おそらくあなたは

  • 周りにプログラマーの仲間がいない
  • ネットで質問をするのが怖い
  • コミュニケーションが苦手

このような状況なのではないかと思います。

私も始めたばかりのころは独学でしたので、その気持ちはよく分かります。

ここでは、そんなあなたにも使える解決策をいくつかご提案します。

分からないことが聞けない時の解決策は

  1. 専門用語による検索
  2. Qiitaを使って質問
  3. ココナラで教えてもらう
  4. プログラミングスクールに通う

この4つがあります。①は自力、②~④は他力による解決策です。

番号が大きくなるほど簡単に解決できる手順になります。ただ、それだけお金も必要になります。

専門用語による検索

個人的には、まずは「①専門用語による検索」を試すのをオススメしますが、この手順は先ほど説明したので省略します。

これでも問題が解決できない時は②~④の方法を検討してみましょう。

Qiitaを使って質問する

検索以外の解決策の一つ目はQiitaで質問することになります。

Qiitaはエンジニア向けのブログサービスで、誰でも無料で登録することができます。

Qiitaは技術メモをブログ形式で残すことができるサービスですが、この中でQiitaの利用者に質問をする形で記事を書くことができます。

ちか

でも、これってWEB上で質問するのが苦手な人にはきついですよね。

先生

Qiitaは質問サイトよりも質問しやすい環境なんですよ。

質問サイトが苦手な理由としては、

  • 内容によっては怒られる
  • ひどい言葉を浴びせらせる

など、質問をすることでイヤな気分になる可能性があることが原因だと思います。

特に初心者の場合、質問するのに必要な情報すら分からないので質問したら怒られるのではないかと心配になりますよね。

Qiitaの場合はその点は安心できます。Qiitaの回答者はサービスを利用しているエンジニアの方で、回答者の名前は公表される形になります。

回答者もQiitaで記事を投稿している人で、そのサービスを使って自分のメディアを運用している人ということです。

Qiitaは就職活動でも使えるメディアです。相手を罵倒するような回答を書くとエンジニアとしての評判にも関わります。そのため、回答も丁寧になる傾向があります。

■ 質問する前には必ず自分で調べよう

ただ、これは自分で調べもしないで答えだけを求めるような質問をしても良いということではありません。

質問する時の最低限のルールは、「事前に自分で調べること」と「お礼」です。

これさえ守れていれば、他の質問サイトに比べると質問しやすい環境にあるので、分からないことがあれば質問を投稿してみるのも一つの方法です。

ココナラで教えてもらう

3つ目の方法はココナラでお願いする方法になります。

ココナラはスキルシェアサービスです。色々なスキルを持っている人がそのスキルを販売するサービスになります。

そして、その中には「プログラミングを教えます」という商品もあります。

ここで分からないことを質問するという方法です。

ココナラがオススメな理由は、お金が発生するやり取りになるので、

  • 怒られる
  • ひどい言葉を浴びせられる

といったことがないからです。

料金も1回数千円程度なので、次にご紹介するスクールに比べたら遥かに安い金額で済みます。

やり取りもメールのみなので、空き時間を使って取引をすることができます。

分からないことを調べて何日も足止めを喰らうなら、時間を買うと思ってココナラで教えてもらうのも一つの方法です。

>>ココナラ 公式

プログラミングスクールに通う

分からないことが多い場合は、最後の手段としてプログラミングスクールに通うのも検討する必要があります。

プログラミングスクールは料金も高いのでよく検討する必要はあると思いますが、分からないことを簡単に聞ける環境を持つことができれば勉強もかなりスムーズになります。

先生がいるのといないのでは学びのスピードが圧倒的に変わります。

これは結果として挫折の可能性は圧倒的に下げることにも繋がります。

  • お金と時間に余裕がある
  • いち早くプログラミングを習得したい

このような場合はプログラミングスクールも検討してみてください。

エラーが解決できない時の対処法

それでは、次は「エラーが解決できない」時の対処法になります。

ゆうき

僕もエラーが解決できなくて1日悩むとかよくあります…

先生

エラーを解決するには検索の仕方にコツがあるんですよ。

エラーが解決できない時も基本的には分からないことが聞けない場合と対処法は同じになります。

  1. 専門用語による検索
  2. Qiitaを使って質問
  3. ココナラで教えてもらう
  4. プログラミングスクールに通う

これらの方法で解決ができます。

詳しくは上に書いた「分からないことが聞けない」場合を読んでください。

ただ、検索に関しては少しコツがあります。そのため、ここではエラーを解決する検索方法をご紹介します。

エラーを解決する検索方法

エラーが解決できない原因は、

  1. 英語で書かれたエラーメッセージを理解できない
  2. エラーメッセージは日本語だけど、文章が意味不明で理解できない
  3. エラーが多すぎてやる気が無くなる
  4. 動作中に原因不明のエラーが出る

このどれかだと思います。私もこれら全てで挫折しかけた経験があります。

このうち「①英語で書かれたエラーメッセージを理解できない」と「②エラーメッセージは日本語だけど、文章が意味不明で理解できない」は検索で解決することができます。

「③エラーが多すぎてやる気が無くなる」と「④動作中に原因不明のエラーが出る」は、検索よりもエラー解決のコツを知ることが大事になります。

それではそれぞれの解決法をご紹介します。

1. 英語で書かれたエラーメッセージを理解できない

プログラマーは英語を読む力が必要とも言われています。

理由は英語で書かれたエラーメッセージや情報サイトを読むためです。

ただ、英語は苦手な人も多いですよね。そんな時はGoogle翻訳を使ってしまえば大丈夫です。

英語で書かれたエラーメッセージは、日本語にしてしまえば理解できることも多いです。そのため、英語のエラーメッセージは、まず日本語にして内容をじっくり読んでみましょう。

■ 日本語にしても理解不能ならエラー番号で調べる

エラーメッセージを日本語にしても理解できない時は、エラー番号を使って検索をしてみましょう。

多くの開発ツールは、エラーが出た時、エラー番号を付けてメッセージを出力をしてくれます。

開発ツール エラー番号

これはVisual Studio Communityという開発ツールのエラーメッセージになりますが、「CS1513」という番号がエラー番号になります。

このエラー番号は解決方法を検索をする時にとても貴重な情報になります。

この場合、「Visual Studio Community CS1513」というように、開発ツール名とエラー番号を組み合わせて検索をすると、エラーが発生する原因と解決策についてのWEBページを見つけることができます。

■ エラー番号だけでは答えが出ない時

もし、エラー番号だけでは解決できない時は、エラーメッセージでそのまま検索してみましょう。

開発ツール エラーメッセージ

この例なら、「error CS1513: } が必要です」と検索をするということです。

TeratailやStack Overflowなどの質問サイトでは、質問をする時にエラーメッセージをそのまま投稿する人が多くいます。

この理由は、回答者が解決策を提示するためにエラー情報が必要になるからです。

もし同じエラーで苦しんでいる人が質問をしていれば、エラーメッセージで検索をすることで、質問サイトの回答にヒットする可能性が出てきます。

私の過去の経験から言うと、エラーメッセージで調べると、ほとんどの場合、何かしらの解決策を見つけることができます。それくらいみんな同じことで悩んでいるということですね。

エラーメッセージによる検索はとても有効な方法なのでぜひ使ってみてください。

■ 検索結果は上位以外も目を通してみよう

検索結果を調べるときは、上位10位だけでなく、30位くらいまでは調べてみましょう。

全部のサイトの中身を見る必要はありませんが、検索結果のタイトルや概要を見て、答えが書いてありそうな物はできるだけチェックをしましょう。

あなたのエラーが稀にしか起こらない現象の場合、情報が少なくて埋もれている可能性もあります。そのため、調べる時は30位くらいまでは調べてみることをオススメします。

2. 日本語だけど文章が難しくて理解できない

日本語の文章が理解できない時もまずはエラー番号で調べてみましょう。それでも分からなければエラーメッセージをそのまま検索してみましょう。

3.エラーが多すぎて理解できない

エラーが大量に発生してしまう場合は、検索よりも解決をするコツを知っておくことが重要です。

コツとしては、まず最初に一番上のエラーを解決しましょう。

プログラムのエラーは、ほとんどの場合、発生した順番でメッセージを出力していきます。つまり、2つ目以降のエラーは、1つ目のエラーが原因で起こっている可能性もあるということです。

そのため、まず最初は一番上のエラーを解決するようにしましょう。一つを解決したら芋づる式に全て解決されることもよくあります。

■ 大量のエラーが出やすいパターンは?

それでは大量のエラーが発生することが多いパターンをご紹介します。

  1. C言語やJavaなど文末に「;」(セミコロン)が必要な言語のセミコロン忘れ
  2. 括弧の数の食い違い
  3. 関数、メソッドの閉じ忘れ
  4. 関連するソースファイルの内容に文法的な間違いがある

これらの場合、一つエラーが発生すると以降の文法が崩れて大量にエラーが発生することになります。

最初に一番上のエラーを解決する

これを知っておくだけでも大量のエラーが出た時に慌てることはなくなります。

■ コメントアウトを使って間違いの箇所を特定する

どうしてもエラーが解決できない時は、書いたコードをコメントアウトしながら原因を探る方法が有効です。

例えば

void main()
{
	int a = 30, b = 100;
	if ( a > 10 ) {

		int c = 0 //←ここがエラー箇所

		c = a + b;
		printf( "c = %d", c );
	}
}

これはC言語のプログラムコードになりますが、6行目の「int c = 0」の部分にセミコロンが無いのでエラーになります。

この場合、エラーメッセージで原因が分からなければ、少しづつコメントアウトをしてエラー箇所を探していきます。

例えば

void main()
{
	int a = 30, b = 100;
//	if ( a > 10 ) {

		int c = 0 //←ここがエラー箇所

		c = a + b;
		printf( "c = %d", c );
//	}
}

まず、if分をコメントアウトしてみました。

これでもまだエラーが出るのであれば、

void main()
{
	int a = 30, b = 100;
//	if ( a > 10 ) {

		int c = 0 //←ここがエラー箇所

		c = a + b;
//		printf( "c = %d", c );
//	}
}

次は「printf( “c = %d”, c );」をコメントアウトします。このようにコメントアウトを使って少しずつ処理を削っていき、エラーが出なくなる箇所を探るという方法です。

void main()
{
	int a = 30, b = 100;
//	if ( a > 10 ) {

//		int c = 0 //←ここがエラー箇所

//		c = a + b;
//		printf( "c = %d", c );
//	}
}

この例で言うと、6行目の「int c = 0」をコメントアウトするとエラーが出なくなります。つまり、そこに原因があると予想することができます。

プログラミングを始めたばかりのころは、一日かけて解決したエラーの原因が「1行、1文字」とか簡単なスペルミスだったということも多くあります。

そのようなイージーミスは、いくら注意しても絶対に起きてしまうので、起こさないようにするのではなく、いち早く原因を特定することが重要です。

そのためには、コメントアウトを使ってエラーの箇所を断定する方法はとても有効です。ぜひ試してみてください。

4. 動くけど途中でエラーが出てしまう

最後は、動作をしている途中にエラーが出て止まってしまう場合の対処法です。

「文法的には間違っていないけど、動かしたら原因不明のエラーが出て動かない」

これが一番解決が難しいエラーになります。

ちか

私もこれでよく悩みます…

先生

私は最長で一つのバグを取るのに1ヶ月掛かった事がありますよ…

このような場合は、検索だけでは解決が難しいことも多いので、検索する前にどんな条件でエラーが出るのか調べる必要があります。

エラー 発生条件

条件の特定には、先ほどお伝えしたコメントアウトを使う方法がオススメです。エラーが出る前と出た後のプログラムを比較して、エラーが出る前までプログラムを少しずつ戻しながら動作テストをしていきます。

コメントアウトをしながら動作テストをしていき、途中でエラーが出現しなくなれば、そこに問題があると特定することができます。

■ 問題の箇所が特定できたらエラーが出なくなる方法を探る

問題の箇所が特定できたら、エラーが出る条件を探りましょう。

具体的には、

  • 変数の値を変える
  • 動作タイミングをズラす
  • 処理の順番を変える。
  • 同じ意味の違うプログラムコードに書き換える

など、色々なことをテストしてみます。

エラーが出る場合と出ない場合の違いを見つけることが重要です。

かなり根気がいる作業になりますが、色々な可能性を頭の中で考えて、仮説と検証の繰り返しをしながら原因を特定していきます。

もし原因が特定できれば、あとは検索を使って問題の解決策を探すことができます。

■ どこまで戻してもエラーが出る場合

もしエラーが出なかった頃まで戻してもエラーが出る場合は、設定ファイル等が書き換わってエラーが発生した可能性もあります。

その場合は、もう一度プロジェクトを作り直してソースコードを移植していくことが一番簡単な解決策になります。

独学のメリットは作り直しの判断が自由にできることです。意味不明なエラーで悩み続けるくらいなら作り直した方が精神的にも楽です。開発工程の復習だと思ってやり直すことも検討してみてください。

■ それでも解決できないときは

それでも解決できない時は、問題解決策の②〜④で提示した

  • Qiitaを使って質問
  • ココナラで教えてもらう
  • プログラミングスクールに通う

などの解決策を試してみてください。

これらの詳しい説明については、「分からないことが聞けない時の対処法」の中で説明していますのでそちらを参照してください。

プログラミングはエラーとの戦い

プログラミングはエラーとの戦いです。

プログラミングを始めたばかりの頃は、エラーで足止めを喰らうことも多く、かなりツラい思いをすると思います。

しかし、エラーに慣れて、解決方法が分かってくると少しくらいのエラーでは動揺しなくなります。

また「動くけど途中で止まってしまう」というエラーに関しては、解決した時の達成感がものすごくあります。これは一度経験をしてもらうとものすごくわかると思います。

エラー解決の達成感を気持ちいいと感じることができるようになったら、エラーによる挫折とは無縁になれますよ!

作り方が分からない時の対処証

最後は作り方が分からない時の解決策になります。

本を一冊勉強して、いざ自分で作ってみようと思ったら全く作り方が分からない…

そんなことありますよね。なぜこのようなことが起こるのか?

その理由は、「プログラムの組み方」が分かっていないからです。

本や動画を見ながら勉強をすることで、「プログラムの書き方」は覚えることができます。しかし、一人でプログラムをするにはそれだけでは不十分です。

一人で作れるようになるには、目的の物を完成させるために「プログラムを組み方」を知る必要があります。

では、どのようにすればプログラムの組み方が分かるのか?

その方法は「完成系から逆算」です。

プログラムは完成形から逆算して文法単位までバラしていくとプログラムの組み方が分かってきます。

電卓の作成を例に解説

ここではC#とWindowsフォームを使って電卓を作る場合を例にしてご説明します。

プログラムの組み方を考える手順としては以下の通りになります。

  • 完成系をイメージする
  • 構成しているパーツを調べる
  • 各パーツのイベントを調べる
  • 各パーツの動作を考える
  • プログラムコードに落とし込む

完成系をイメージする

アプリなど目に見える形があるツールの場合、まずは完成系をイメージしましょう。

電卓

どんなボタンや入力欄があるのか、それぞれがどんな機能を持っているのかをイメージします。

今回の場合は電卓の完成系をイメージします。

構成しているパーツを調べる

完成系がイメージできたら、その完成系がどんなパーツで構成されているかを調べます。

電卓の場合は、たくさんのボタンと計算結果を表示するエリアがあります。

電卓 パーツ

必要なパーツが分かったら、C#で各パーツを作成する方法を調べておきましょう。

「C# ボタン 作成」などの言葉で検索をすると作成方法を調べることができます。

各パーツのイベントを調べる

パーツの作り方が分かったら、次は各パーツにどのような動作を付けるのかを決めます。

例えば、ボタンの場合、クリックした時に動作をさせないといけません。この各パーツの動作のことをプログラミング用語で「イベント」と呼びます。

クリック イベント

パーツにイベントの付け方が分からない時は専門用語を使って検索をすることで簡単に答えを見つけることができます。

例えば、ボタンのクリックであれば「C# ボタン クリック イベント」と調べると、ボタンの各イベントに反応させる方法を調べることができます。

各パーツの動作を考える

イベントが決まったら、次はそのイベントで具体的にどんな動作をするのか考えます。

例えば、電卓の「1」ボタンであれば、計算結果を表示するエリアに1と表示することが分かります。他には条件として、事前に数字が入力されていたら、表示エリアの数字を10倍して1を加えるなど、色々な条件がありますよね。

各パーツにはどんな条件でどんな動作をさせるのか文字で落とし込んでみましょう。

この作業は間違っていても後で直せば良いので大丈夫です。分かる限り書いていきましょう。

プログラムコードに落とし込む

各パーツの動作が分かれば、どのような文法を使えば期待する動作ができるのかを考えます。

それが分かればあとはプログラムで書くだけです。

最初はできなくて当たり前

ゆうき

分かりやすいけどけっこう面倒ですね…

先生

慣れると文字起こしをしなくてもプログラムが組めるようになりますよ!

文字で落とし込んでからプログラムで書くという手順がかなり面倒に感じるかもしれません。

ただ、これは実際に開発の現場でも行われていることです。仕様書と呼ばれるたくさんの資料を作成し、それに基づいてプログラムを組んでいきます。

一人でアプリなどを開発する時も、事前に設計書を作っておくと迷うことなくプログラムを組むことができるようになります。

慣れてくると自然と頭の中で作り方が分かるようになりますが、設計図はいつでも作ることをオススメします。

理由は、設計図を書くことでゴールが明確になるからです。

ゴールが明確になるとゴールに近づく喜びを感じながら開発ができるようになります。

これはモチベーションにもつながり、飽き防止にもなるので、プログラミングの組み方の勉強も兼ねて設計図は書くようにしましょう。

将来的にプログラミングで挫折しにくくする方法

プログラミング 挫折しにくくする

それでは次は、将来的にプログラミングで挫折しにくくする法をご紹介します。

プログラミングを楽しめれば挫折をしなくなる

まず、最初に結論になりますが、プログラミングの勉強で挫折をしにくくする方法は「楽しむこと」です。

なぜ楽しむことが重要なのか?

その理由は、時間を忘れるほど楽しいと感じることであれば挫折する原因すら楽しいと感じることができるからです。

ゆうき

いきなり楽しめって言われても難しいですよね…

先生

少し考え方を変えると楽しむことができるもしれませんよ。

例えば、制作物の作成を楽しむだけではなく、

  • 美しいプログラムコードが書けるか
  • 分かりやすく書けるか
  • より高速な処理を書けるか

というように、プログラミングを書く中で色々なことに挑戦するという方法もあります。

物を完成させることだけではなかなか達成感を味わうことができません。

しかし、プログラムコードのキレイさや高速化であれば、すぐに達成感を味わうことができます。

達成感を味わえるとプログラミングも楽しくなってきます。

物を完成させるだけでなく、プログラムを書くことに対して目標を立てるのも挫折を減らす一つの方法です。

どうしてもモチベーションが保てない時の対処法

それでは最後に、何をしてもモチベーションが保てない時の対処法についてお話したいと思います。

対処法はこの2つになります。

  • 新し言語を勉強する
  • プログラミングをやめる

それぞれについて解説していきます。

新しい言語を勉強する

プログラミング 新しい言語

一つ目の方法は、「新しい言語を勉強する」という方法です。

なぜ新しい言語を勉強するといいのか?

その理由は、新しい言語を学ぶことでリフレッシュした気持ちでプログラミングをすることができるからです。

また、新しい言語を文法から改めて学ぶことで勉強が進んでいる感覚を得ることができるからです。

例えば、学校の試験勉強で、数学の難しい問題が全く解けない時に、気持ちを切り替えて簡単な問題を解いたり、得意な科目の勉強をしたりした経験はありませんか?

今回の新しい言語を学ぶという行為はこれに近いものがあります。

モチベーションが保てない原因は前に進んでいない、成長できていないという気持ちによることがほとんどです。

つまり、どんな形であれ前に進んでいるという気持ちを得ることができれば、モチベーションを回復することができるのです。

そして、そのために一番簡単な方法が他の言語を勉強することになります。

これまで学んだことは無駄になるのか?

ゆうき

他の言語の勉強をしたら、これまで勉強したことが無駄にならないんですか?

先生

そんなことはないので安心して大丈夫ですよ!

他の言語を勉強すると、これまで学んだことが無駄になってしまうと思うかもしれませんがそんなことはありません。

プログラミングに関しては、言語を一つだけ覚えておけばよいということはなく、プログラマーとして仕事をするのであれば2つ、3つと使えることが重要になります。

使える言語は多ければ多いほど仕事の選択肢も広がります。そのため、新しい言語を勉強し直したとしても、これまで学んだことが無駄になるわけではありません。

■ プログラミング言語は似ている部分も多い

また、プログラミング言語は、全てが全く別の言語かというわけではなく、似通っている部分も多くあります。

つまり、2つめ3つめの言語は比較的簡単に覚えることができるので、習得スピードも早く、モチベーションをアップさせる効果も期待できます。

プログラミング言語は一つをマスターしてからでないと次の言語を学べないというルールはありません。

壁にぶつかり挫折しそうになってしまったら、その時は気分転換に他の言語を勉強してみましょう。

■ 補足:関連性が高い言語を学ぶとより効果的

他の言語を勉強する時は、全く違うジャンルの言語よりは、挫折した言語に関連性が高い言語を選ぶことをオススメします。

理由としては、関連する言語を学ぶことで、仕事をする時により自分の価値を高めることができるからです。

例えば、RubyでWEBアプリの開発をして挫折した場合は、次はPHPを学んでWEBアプリを作ってみる。またはJavaScriptを学んでWEBサイトのデザインを作る勉強をしてみる、というように関連性が高い言語を学びます。

こうすることで、WEB系のプログラマーとしての知識の幅を広げることができ、仕事を選ぶときの幅を広げることができます。

■ 関連性が高い言語を学べば既存の問題が解決できることもある

さらに、関連性が高い言語で学ぶと良い理由があります。それは挫折した原因が解決できる可能性があることです。

例えば、WEBアプリを作る場合、RubyでもPHPでも、仕組みとしては共通の部分も多々あります。

もしRubyとPHPで全く同じ内容のWEBアプリを作ったとして、Rubyは途中でバグが出て動かなくなった、でもPHPでは問題なく動作した、となれば、何が原因で問題が起こったのかを解くヒントになりますよね。

さらに問題が発生してWEBで解決方法を検索をする場合においても、RubyとPHPでは検索結果が変わってきます。

そのため、同じような問題に対して違う回答を得ることができます。ここに大きなヒントが隠れている可能性もあるのです。

このように新しい言語を学ぶとモチベーションを保つだけでなく、それ以外にも色々なメリットがあります。

そのため、もしどうしても挫折しそうという場合は新しい言語を学ぶことも検討してみてください。

プログラミングをやめる

プログラミング やめる

どうしてもモチベーションが続かない時の二つ目の対処法は、一度プログラミングを止めるという方法になります。ちょっと荒療法になりますが、これも効果的な方法です。

なぜ止めてしまうと良いのか?その理由は、あなたが本当にプログラミングが好きかどうか分かるからです。

もしあなたがプログラミングを通じて本当に達成したい目標があるならば、例え一度プログラミングを止めたとしても必ずもう一度やりたくなるはずです。

例えば、ゲームを作りたいと思ってプログラミングを始め、途中で挫折してしまった場合、もし本当に作りたいゲームがあるならば、ふとした瞬間にまたゲームを作りたいと思うはずです。そうなった時にまたプログラミングの勉強を再開をすればいいのです。

もしゲームを作りたい気持ちが戻らなければ、あなたは一時的な気持ちでプログラミングを勉強したかっただけということになります。

その状態でプログラマーの仕事に就いても仕事が辛いと感じるだけなので、その場合は止めてしまった方が良い選択ということになります。

この考え方は「挫折するヤツは諦めろ」という厳しい意見にを聞こえるかもしれませんが、そうではありません。

プログラマーは突発的な残業などが起こりやすい仕事です。もしプログラミングを楽しめないようであれば、この先、プログラマーになっても精神的に辛いと感じてしまう可能性があります。そうなってしまったらあなたのためにも良くないですよね。

この先、あなたがプログラマーとして活躍するためには、プログラミングを楽しむことが一番重要です。その気持ちを確かめるためにも、挫折しそうになったら一度止めてみるという方法は効果的です。

止めたらこれまで勉強したことは無駄になるのか?

ゆうき

一度止めてしまったらこれまで勉強したことが無駄になるんじゃないですか?

先生

少しは忘れると思いますけど、復習すればすぐに思い出せるから大丈夫ですよ!

プログラミングを止めてしまうと、これまで覚えたことを忘れてしまうのではないかと不安になると思いますが、そこまで気にする必要はありません。

一度学習したことは初めて勉強する場合に比べて圧倒的に早く学習することができます。さらに復習の場合、新しい気づきを得ることもできるので、より学習効果が高まることも期待できます。

もちろん挫折することなくずっとプログラミングを続けるのが一番ですが、どうしてもモチベーションが続かない時は止めてしまうことも一つの方法になります。

まとめ

それでは最後にまとめになります。

プログラミングで挫折しないために
  • 挫折する原因はモチベーションが保てないから
  • 解決策は一人で問題を解決できるようになること
  • 専門用語で検索をすると問題が解決できる
  • どうしても問題が解決できないなら、他力で解決するのも検討する
  • プログラミングで挫折しないためにはプログラミングを楽しむことが大事
  • どうしてもモチベーションが続かない時は新しい言語を勉強する
  • モチベーションが続かない時は一度プログラミングを止めて自分の気持ちを確かめてみる

少し長くなりましたが、以上になります。

プログラマーは挫折率が圧倒的に高く、約9割の人が挫折するとも言われています。

なぜこんなに挫折率が高いのかというと、独学が圧倒的に多いからです。独学は孤独との戦いです。それが挫折の大きな原因になっています。

ただ、これはプログラミングに限った話ではありません。

ユーチューバーは挫折率99%とも言われているし、ブロガーも挫折率は9割を超えると言われています。

YouTuber ブロガー
Youtuber もブロガーも挫折率が高い!

挫折をしやすいものは、

  • 先生がいない
  • 学費が高い

という特徴があります。

プログラミングもこれにあてはまりますよね。

つまり、今、あなたが挫折しそうになっているのは、あなたが悪いからではなく、プログラミングを学習する環境を考えたら当たり前なのです。

プログラマーはみんな挫折を経験している!

挫折をしそう、もう止めたいという感情が湧いてくると自分を否定したくなります。

でも、そんな必要はありません。

あなたは全然普通です。挫折をしそうになっているのは、今のプログラミングの学習環境を考えたら、当たり前なのです。

何も気にすることはないし、恥じる必要はありません。

今、実際に現場で活躍をしているプログラマーは、ほとんどの人が挫折を経験しています。しかも、挫折の回数も1回とは限りません。私も数えきれないくらい挫折を経験しています。

みんな挫折しても諦めずに勉強をしました。だからプログラマーになれたのです。

中にはプログラミングスクールや友人に助けられた人もいると思いますが、独学で勉強を続けてプログラマーになった人もたくさんいます。

プログラミングを楽しむことを忘れないで

挫折しても諦めずに学ぶ一番のコツはプログラミングが好きかどうかです。

そして、プログラミングを好きなれるかどうかはプログラミングを楽しめるかどうかです。

プログラミングで挫折しないためには、とにかく楽しむことが一番。

独学による勉強は辛いことも多いですが、

  • 分からないことを解決すること
  • エラーを解決すること
  • 目標に向かって勉強すること

この3つを楽しむことができれば挫折とは無縁になることができます。

もしこの挫折を乗り越えることができれば、数年後、あなたは凄腕のプログラマーになっていると思いますよ!

がんばってくださいね!