プログラミング言語を習得したいとき、正しい努力を行う必要があります。正しい努力とは、達成したいゴールに向けて着実に成長することを指します。
これだけ聞けば、当然のことのように思えます。しかし、正しい努力をしている人は少ないのが現実です。
特にプログラミング初心者であれば、ほぼ全員が間違った努力をしています。
実際、あなた自身もプログラミング学習を始めたにも関わらず、できるようになる前に挫折してしまった経験があるかもしれません。
このような人は努力の方向性を間違えていたり、継続した学習ができていなかったりします。
その理由について以下で詳しく紹介していきます。
目次
プログラミング言語習得に失敗してしまう3つの理由
プログラミング初心者がプログラミング言語習得に失敗してしまうのにはいくつかの理由があります。
主に以下の3つです。
理由2|プログラムを作るときのコツを理解していない
理由3|プログラミングのための頭の使い方を知らない
以下で、詳しく説明していきます。
理由1|自己流で学ぼうとする
プログラミング初心者ほど自己流で学ぼうとしがちです。
なぜならプログラミングの学び方を知らないからです。
例えば、プログラミング初心者ほどいきなりレベルの高いプログラムを作ろうとしてしまいます。
実際にあったのが、初心者がウェブスクレイピング(ウェブサイトから情報を取得すること)をしたいと言っていた例です。
ウェブの情報を取得できれば、確かに仕事の幅は広がるかもしれません。
しかし、プログラムを通じてウェブサイトの情報を取得する方法は、初心者が簡単に分かる内容とは言えません。
さて初心者が難しい内容に出会ったとき、どのように対処するのでしょうか。
おそらく分からない部分について、必要なプログラムをネットや本を使って自分で情報を調べるはずです。
そして、この行動こそ失敗してしまう原因です。
学習に必要はことを自分で取捨選択しながら学ぼうとするのです。
これは本やウェブの情報の通りに実践すれば、すぐにプログラムを使えるようになると考えてしまうからです。
しかし、実際はプログラミングのための頭の使い方や効果的な学習を行わないと勉強は進みません。
理由2|プログラムを作るときのコツを理解していない
プログラムを作成するときのコツとして、小さく作成して検証を繰り返すことがあります。
例えば、プログラミングの上達が早い人ほど、最初からいきなり全てのプログラムを書きあげようとしません。
プログラムをいくつかに分けて作成するのです。そして、小さなプログラムが動かくかどうか一つずつ試します。
しかし、プログラミングが上達しない人ほど、最初から全てのプログラムを書きあげようとします。
そのため、どのプログラムがエラーの原因になっているかを特定できません。そして、エラーまみれになってやる気を失っていくのです。
ここでは、プログラムを小さく作ることをコツとしましたが、他にもコツがあります。
例えば、「過去のプログラムを転用する」、「ゴールから逆算して作る」です。
このようなコツを知らないと、上手く書けるようになるまでに時間がかかってしまいます。
理由3|プログラミングのための頭の使い方を知らない
プログラミング初心者はプログラミングをするときの頭の使い方を理解できていません。
実際に、私が以前プログラミング初心者の人から聞いて印象深かったのは、「配列を理解できなくて挫折した」と語っていたことです。
その人曰く、「たまたま調べたウェブサイトのプログラムソースが配列だったから、それを転用した」と言っていたのです。
しかし、配列は高度な考え方であり、これを理解し実践するのは簡単ではありません。
ただ、プログラミングが上達する人は「配列以外の方法で、同じことができないか」と考えます。
しかし、初心者はウェブサイトのプログラムソースを転用せざるを得ません。
そのため自己流で学び、初心者が手を出さなくてもいいような難しい内容に手をつけてしまうのです。
以下の記事でも詳しく説明しています。以下はエクセルマクロVBAの記事ですが、他のプログラム言語に共通する内容です。
ここでは、配列の例をお伝えしましたが、変数で躓く人も少なくありません。
このような結果になってしまうのは、初心者ほどプログラミングの頭の使い方を知らないのが原因なのです。
プログラミング学習を挫折する人の共通点|プログラムを簡単に作れると思い込んでいる
ここまでプログラミング言語習得に失敗する理由についてお伝えしてきました。
上記の理由のほかに、もう一つ強くお伝えしておきたいことがあります。
それは、プログラミング習得は簡単ではないということです。
特に数学的に物事を考えるのが苦手な人にとっては習得までに時間がかかるものです。
なぜなら、プログラミングでは数学で学んだ内容を使うことが多いからです。
例えば、変数や配列といった内容は学生時代に数学が得意だった人からすれば、すんなり受け入れます。
しかし、数学が苦手だった人からすれば、戸惑うかもしれません。
プログラミングは難しいとは言いませんが、簡単に習得できるようなものでもありません。
本当に勉強したいと思っていないと続かない
私の場合は、しぶとくプログラミング学習を続けました。
それは会社でプログラムを使って仕事を効率化するのが楽しかったからです。
しかし、プログラミング学習を継続できない人もいます。
例えば、一念発起してプログラミングスクールに通ったとしても、途中で諦めてドロップアウトする人がいます。
なぜ、このような事態が起こるのでしょうか。
それは、厳しめにいうとプログラミング学習を始める人の心構えがそもそも甘かったからだといえます。
仕事でプログラミングが使えるようになるためにはやることは単純です。
自分で実際にプログラムを書いて、エラーと格闘したり上手く動いたりを繰り返すのです。これを毎日やればいいだけです。
これを実践できる人であれば、プログラミングを書けるようになるのは時間の問題です。
しかし、継続できなかったり挫折したりする人をみると、そこまで努力しているとは思えません。
そして、途中で挫折する人に共通するのが「プログラムを簡単に作れる」という思い込みなのです。
実際、いくら口で「プログラミングができるようになりたい」と言っていたとしても、行動が伴っていません。
結局、お金と時間を投資しても結果が出ないのです。
もし、これからプログラミングの力を高めたいきたいと考えているなら、「本当にプログラミングを使えるようになりたいのか」を本気で考えることを強くお勧めします。
そして、これからお伝えする正しい努力についても覚えておいてほしいです。
正しい努力の方向性とは少しだけ背伸びをすること
正しい努力は、自分が少しだけ背伸びをして届く学習をすることです。
これをコツコツ重ねていけば、自ずとプログラミングのスキルがついていきます。
しかし、多くの人はこれができません。
実は、私もそのことに気づかずに自己流の勉強を続け、何度も勉強を挫折した経験があります。もちろん必死に勉強はしていました。
しかし、何となく勉強をしているだけで、理解が進んでいる実感は全くありませんでした。
要するに、結果につながらない努力を続けていたのです。
このような無駄な努力をして、ようやく勉強の努力の方向性が間違っていることに気づいたのです。
しかし、このようになってしまうのはある意味で仕方のないことです。
プログラミング学習では自分の実力を過大評価しがち
それは、ウェブや本で数多くのプログラムが紹介されて情報が充実しているからです。
そのため、それらを見たり読んだりしていると、自分もプログラムを書けるようになると感じてしまうのです。
例えば、私のサイトではVBAのプログラムソースを紹介しています。
これをそのままコピペすれば、プログラムを動かすことはできるはずです。
しかし、あなたがこのプログラムを応用して自分の仕事に合わせて改良できるでしょうか。
おそらくそれは難しいです。なぜなら、コピペだけでは書けるようにはならないからです。
プログラムを作成するためには、書けるようにやりたいことを見極める力、ウェブや本の情報をどのように応用する力をつける必要があります。
そして、何より自分の頭で考え、実践する行動力が求められるのです。
ただ、ウェブや本で数多くのプログラムがあふれているため、自分の頭で考えることがなくなりつつあります。
そのせいで、自分の実力を過大評価してしまうのです。
厳しい意見をいってくれる先生が必要である
プログラム学習は一人で進めると高い学習効率を得ることができません。
それは、上記の通り自分の実力を過大評価してしまうからです。
自分のレベルに合わせた学習教材を選び(努力の方向性)を行い、毎日トレーニングをする(継続した学習)必要があるのです。
例えば、プログラミングスクールでは「反復練習を1ヶ月やること」とアドバイスをするところがあります。
中には、毎日のトレーニングの結果を報告して、それに対してフィードバックをする学校もあります。そのアドバイスの内容も厳しめです。
時には、「あなたは勉強できてませんよね。それではいつまで経っても英語を習得することなんてできませんよ」と言われることもあります。
これらは厳しいように見えるかもしれません。本気で学習したい人にとっては、本当に重要なアドバイスになります。
なぜなら、プログラミング学習の真実を教えてくれる先生は少ないからです。
多くの先生は、生徒から気に入られるために、本当のことを言いません。
もし「勉強量が足りていませんね。本気でプログラムを書けるようになりたいのですか?」と質問すれば、本気の人以外は来なくなります。
場合によっては、厳しいことを言われたことを悪評として広めるかもしれません。
このように厳しいことを伝えると、プログラミングスクールの利益が低下してしまう恐れがあります。
しかし、プログラムを仕事で書いている人の話を聞けば、「大量のプログラムを書いてエラーと格闘してきた」と話をしてくれます。
正しい努力の方向性とエラーにへこたれずに勉強し続けることこそ正しい勉強法なのです。
そのため、生徒に気に入られるために、その真実を伝えない人は本当の先生とは言えません。
残念ならが、「プログラミングは簡単で、すぐにできるようになる」というのは甘いワナです。
ここまでを認識したうえで、本当にプログラミングを習得したいのかを見極めるようにしてほしいと思っています。
口では「プログラミングを習得したい」と言ったとしても、実際のところ行動できないからです。
逆に、正しい努力さえ行えればプログラムが書けるようになります。