プログラミングの学習は絶望と諦めの繰り返し【試合終了しません】

こんばんは、氷犬です。

こんな悩みの声に応えます。
プログラミングの学習は、絶望と諦めを繰り返して進めていくものです。
慣れてくると少し楽しくなるけど、最初のうちはつまらないしわからなくて当然です。
この記事では、「プログラミングを学習する人がときに絶望する理由」について、まとめてみました。
- プログラミングに絶望する理由は言語の学習だから
- プログラミング学習は絶望と諦めの繰り返し
- プログラミングはコツコツが大事です【結論】
プログラミングに絶望する理由は言語の学習だから
プログラミングに絶望する一番の理由は、「プログラミングは言語学習だから」です。
英語も法律もそうですが、言語学習は基礎がすごく重要ですよね。
言葉の意味・数字の数え方・文法など、ひととおり基礎を固めないと応用が効きません。
ただ、基礎の知識は正直見ればわかるので、覚えようとしてもなかなか頭に入ってこないです。
たぶんですが、言語学習において挫折する人が一番多いのは「基礎固め」の部分なのかなと思います。
基礎学習はつまらなさすぎて頭に入ってこない
プログラミングを勉強していると、言語は違っても基礎的な部分は一致してることがわかるはずです。
- 文字列の出力
- 演算子(四則演算)
- 変数
- 関数(ファンクション)
- ループ処理
Progateやドットインストールでも、この基礎の部分を一番最初に学ぶようになっています。
基礎中の基礎は「いや、見ればわかるし、、、」というぐらい簡単なので、つまらなすぎて頭に入ってこないんですよね。
「これぐらいのコードだったらすぐ書ける」という思いが基礎固めを疎かにしてる可能性は高いです。
HTML/CSSにはなんとなく慣れたのでPHP勉強してるんですが、基礎学習が死ぬほどつまらない…
ある程度まで進んだら楽しくなるのはわかるんですが、プログラミング言語は基本的に楽しくなるまでの道のりが長い気がします…(-_-;)
— 氷犬????元税務職員デザイナー (@icedog_410) 2018年9月13日
応用は基礎の組み合わせだけど難しく感じる
基礎は簡単なものの、基礎同士を組み合わせたプログラムの学習に入ると、「いや、急に難しすぎるんだけど(-_-;)」となるわけです。
基礎の部分は見ればわかりますが、頭の中には残っていないために、少し学習を進めると段々わからないことが増えて絶望していくのかなと思います。
実際難しそうなコードでも1行見ていけば、まったくわからないコードはないはず。
でも、行が多くて複雑そうに見えるので、「難しそう」という先入観を覚えてしまうわけですね。
プログラミング学習は絶望と諦めの繰り返し
一度「難しそう」と感じてしまうと、あとはしばらく絶望です。
- 「前に進みたいけど、このコードの意味がわからないのに進めていいんだろうか」
- 「わからないまま進めてみたけど、マジでわからない」
これを繰り返していくと、段々と心が疲れてきて勉強するのが嫌になります。
学習とは点で覚えたものを線で繋げていく作業
ただ、プログラミングに限らず、勉強って大体そんなものだと思うんですよね。
わからないけど進める⇒点で覚えたことが増えていく⇒線で繋がる
Appleのスティーブ・ジョブズで有名な「コネクト・ドッツ」ですね。
一見停滞しているように見えても、自覚がないまま、実はしっかり前に進んでいます。
絶望と諦めを繰り返しながら学習していく
「全然わからない。マジで絶望している」⇒「でもこのままだと進まないし、やるしかないか」、プログラミングはこのループで学習するしかありません。
途中でやめてもいいんですが、やめてしまったらせっかくの苦労が水の泡ですからね。続けた方がいいと思います。
わからないことを学習するのは本当に心が疲れますが、プログラミングを学ぶのは、自分で決めたことなのでがんばりましょうd(^_^o)
わかる範囲が広がると段々楽になる
最初は何もわからなくて当然です。
ただ、コードを少しずつ書き進めることによって、段々わからないことがわかるようになってきます。
幸いにもわからないことをインターネットで検索すると、親切な解説記事がたくさん出てくるので安心です。
レベルとしては、「どう書くかはわからないけど、調べ方はわかる」という感じ。
基礎が理解できていれば、コードの読み方も雰囲気でわかるので、あとはコピペしていじればOK。
プログラミングを学習する人は、この調べる力(ググる力)が重要といっても過言ではないと思います。
プログラミングはコツコツが大事【結論】
自分でも勉強してて感じますが、プログラミングを学習する人はなんとなく「プログラミングは簡単だ」と思ってる節があるような気がします。
プログラミングを学習する前:「プログラミングは難しそう」
プログラミングを学習中:「プログラミングは余裕」
自覚してはいないけど、潜在的にこう思っているイメージ。
ある意味、理想と現実のギャップがあって、プログラミングに絶望するのはそのギャップを自覚した時なのかなと。
ただ、自分ができないことを自覚できたら、一歩成長したということなので、あまり気にしなくてOKです。むしろポジティブに捉えるべき。
毎日コードを書く、ただそれだけ
勉強をやる気で続けようと思うと挫折します。
人の意志は想像以上に弱いからです。
ただ、習慣にしてしまえばあとは自動的に続きます。
何かを1週間やり続けると習慣として定着するので、まずは1週間学習してみましょう。
1週間続けると、「勉強しないとマズい気がする」という罪悪感を覚えるようになるのでおすすめです。
ただ、目標なき学習は辛いだけなので、就職するとか海外でノマドするとか、明確な目標を持つことは大事です。
プログラミング学習自体は目的ではなく、手段。
目標達成する前に手段なんかで挫折してられないですよね。ひととおり絶望したら、今日もコードを書きましょうd(^_^o)
関連記事:
【未経験から】プログラミングの独学方法の手順まとめ【実践済み】
プログラミングを勉強しているんですが、素直に言って絶望しています。。。
本のとおりにコードを書いてもうまく動かないし、簡単なエラーも読めません。
そもそも英語ばかりでよくわからないし、やる気も無くなってきました(T_T)