何かしらの理由で行動を起こし、その選択肢の一つとしてプログラミング言語を初めて触り、アレルギーを起こすことがあります。

いくらプログラミングを学んだところで、それによって自分の目標を達成できなければ何も意味がありません。
しかし多くの場合、プログラミングを学習する段階で『辛い』『分からない』などのネガティブな感情が出てきてしまうことがほとんどです。
初めてプログラミング言語に触れた時、最初に『絶望』を感じた私が、どのようにしてその強烈なアレルギー反応を克服したのか?
ここでは、プログラミングに強烈な反発をしていた
過去の私のリアルなエピソード
を交えながら、プログラミングに対する苦手意識を克服していただくことを目的にした内容をお届けします。
初心者が初めてプログラミング言語を触ると必ず起こること!

プログラミングを学習する場合、初心者と大きく分けても様々なタイプの人がいます。
▼初心者のざっくりとした分け方
- パソコンで仕事をこなしている人
- パソコンを全く触ったことがない人
- タイピングが上手・できない人
あなたがどのタイプに含まれるかは分かりませんが、プログラミングを学ぶということは
『パソコン操作をする』
ことになるため、パソコン操作+プログラミング言語の学習をしなければならないのです。

タイピングができない人は、そもそもパソコンでの入力作業も辛いため、それ+コードを打ち込むのはなかなか大変です。
つまりプログラミング学習においては
『プログラミング学習の前の段階で苦戦することも多々ある』
ことを理解しておきましょう。
基本的なところで苦戦することもありますが、実際にプログラミング言語を触った場合、必ず以下のようなネガティブイベントが発生します。
プログラミングに対する脳みその強烈な拒絶反応

私たち日本人は、当たり前のように日本語を使って生活していますが、プログラミング言語というのは基本的に全て『英語』です。

人間には
『ホメオスタシス機能』
というものがあり、これがあることによって常に現状を維持しようとする力が働きます。
つまり、新しいことを始めると必ず
『過去の自分に戻そうと強烈な反発をする』
ため、最初の段階ではプログラミング学習を脳みそが拒絶するのです。
この切り替えができるまでは、かなり辛い学習期間を経ることになるのです。
プログラミングを全く理解できずに苦しむ期間

学習することが日常になってくると、プログラミング自体を学ぶ習慣が付いてきます。
こうなると次の壁が目の前にやってくるのです。
日常的に勉強できるようになったのは良いのですが、そもそもプログラミングの基礎学習の段階では
『全体像がぼやっとしている』
ため、何のために自分が基礎を勉強しているのかが全く分からないのです。
後々全体像を把握できるようになると

と腑に落ちる瞬間がやってくるのですが、大抵の人はその段階まで我慢することができずに挫折します。
理解できずに苦しみ、そこで心が折れてこの業界を去ってしまう‥。そんなことがプログラミング学習では頻繁に起こっているのです。
プログラミングが嫌いになる瞬間がなかなか多い

私自身、今現在はプログラミングが好きです。

綺麗事はあまり好きではないので、これはしっかりと赤裸々に伝えておくべき内容でしょう。
そもそもプログラミングを本気で理解しようと思ったら、数週間・1ヶ月程度の学習ではまず無理です。
それくらいの期間であれば表面的なことは学べますが、そこまでです。
自分がサービスを作れるようになって初めてプログラミングが楽しくなるため、最初の数週間・数ヶ月の表面的な学習だけではその楽しさを実感することはできないでしょう。
ある意味、世に出回るプログラミングスクールというのは
『プログラミングが嫌いになりそうな瞬間を助けてくれる存在』
のような感じだと私は考えています。
▼勝手な考え方w
プログラミング独学をする=プログラミングが死ぬほど嫌いになりそうな瞬間を自力で乗り越える
プログラミングスクールに通う=プログラミングが嫌いになりそうな瞬間に手を差し伸べてもらう
プログラミングのアレルギーを取る方法は『勉強しない』こと

とにかく、最初の何もわからない状態から学習をするのはかなりしんどいです。
しかしわからないからといって、毎日暗記を頑張ってしまうと、ただテストの点数を高く取れるだけで、何もスキルが身についていない状態となってしまうのです。

つまり勉強をするのではなく、プログラミング言語を扱えるスキルを身につけるために、とにかくインプットよりもアウトプットを増やす必要があるということです。
仮に分からないことが出てきたとしても、今のgoogle先生に聞けば分からないことはありません。
しかしプログラミングのスキルがないと、その知識を入れたところで何に使えば良いかが分からないため、全く使い物にならないのです。
暗記するということは、スキルではなく
『知識を持っているだけ』
です。
この違いを理解しないと、後々泥沼にハマる可能性もありますので注意が必要です。
正直な話、最初はどの言語でも難しく感じる

よく受ける質問で
というものがありますが、個人的な意見をしっかりと言わせていただくと
『プログラミング学習に効率を求める=失敗する可能性が高い』
と思っています。
そもそもこの言葉の裏には、間違いなく
『楽してプログラミングを学びたい』
という欲求が含まれていますから、そのマインドでは立ちはだかる壁を自力で乗り越えることはできません。

どんなプログラミング言語であっても、基礎学習+全体像の理解をするまでに一定期間の学習が必要となります。
この期間を短縮し、最短ルートでプログラミングをマスターできる方法があるのであれば、私が教えて欲しいくらいです。
プログラミングを嫌いから好きに変える5つの秘策

- なぜプログラミングが嫌いになる瞬間が訪れるのか?
- どのポイントでプログラミングの楽しさが分かるようになるのか?
ここさえしっかりと理解していただければ、あとは目の前に立ちはだかる試練を乗り越えるだけです。

とはいえ、結局初心者に必ず訪れる
『プログラミングが嫌いになる瞬間』
を乗り越える方法を事前に知っておけば、楽しみながら学習が進められることも事実です。
もし目の前に壁が出てきた場合

と自信を持つことができれば、もう怖いものはありません。
実はあることを徹底するだけで、プログラミング学習で挫折する可能性を大幅に下げることは誰にでもできるのです。
プログラミングを覚えた後の理想の自分を臨場感高く想像する

そもそも自分がプログラミングを学び、将来的にどのような未来を実現したいのかを明確に解説できるでしょうか?
多くの場合
▼プログラミングを学ぶ理由
- プログラミングを学んで転職する
- エンジニアとして活躍したい
- サービスを作りたい
など、目標設定はある程度決まっているが
『プログラミング学習をした後の自分の姿に臨場感がない』
ことがほとんどです。
どの分野でも言えることですが、結局成功する人というのは
『高いモチベーションを保つ方法を知っている』
ため、ブレることなく突き進むことができます。
そしてその高いモチベーションを維持するために重要な要素なのが
なのです。
これをやると何が変わるのかというと
『自分の行動に一切のブレがなくなる』
ようになるのです。
考え方としては『アマゾンでの買い物』に似ています。
例えばあなたが欲しい商品をアマゾンで注文した場合、数日の間に自宅に到着しますよね?
注文してから途中でいきなり別の家に宅配されるということは、まずありません。
つまり
『アマゾンで商品を注文した後の未来はその時点で決まっている』
ため、一切心配する必要がなくなるのです。
プログラミング学習でも同じように、最初に自分の理想とする未来の姿の臨場感を高めまくり
『すでにその理想とする自分になっている前提で物事を考える』
ことができれば、プログラミング学習に一切のブレがなくなるのです。

少し抽象的すぎる話かもしれませんが、この
『未来の理想とする自分の臨場感を高めまくる』
ことは、どの分野で成功するためにも重要なことなので、必ず覚えておきましょう。
自分が作りたいサービスを1つ見つけておく

そして理想とする自分になることが確定すれば、将来的に必ず自分の手でサービスを作れるレベルまで成長することが可能になります。
となれば、最初の段階でどんなサービスを作りたいのか?そのサンプルを一つ決めてきましょう。

世の中には200種類以上のプログラミング言語があると言われていますが、結局メインで使われているのは多くても數十種類です。
その中で自分が作りたいものを形にしてくれるプログラミング言語を学習すれば、あとはサービスを作りまくるだけです。
ちなみに、プログラミング言語に関しては
『1つ極めれば他の言語の学習が容易になる』
ため、最初は1つに絞ったほうが良いです(WEB系であればHTML/CSSは前提知識です)。
それを作るために何をすれば良いのか?この基準ができると学習の効率化を図ることができるため、最初の段階で何かしらの目的地を決めておくことも重要です。
とりあえずスクリプト言語・コンパイラ言語の違いを知る

そして最初の段階で必ず理解しておくべきことは、プログラミング言語には大きく分けて
スクリプト言語(難易度は低め):JavaScript・PHP・Pythonなど
コンパイラ言語(難易度が高め):C・C++・Javaなど
この2つがあるということです。
スクリプト言語というのは、ソースコードをその場で機械語に翻訳できるため、すぐに実行ができます。
逆にコンパイラ言語というのは、ソースコードを高速で動作させるため、記述がかなり複雑なものになります。なのでスクリプト言語に比べて難易度がかなり高くなるのです。

需要の高い言語を必ず選ぶ

せっかくプログラミングを学ぶのであれば、やはり世の中の多くが求めるものを身につけた方がお得です。
例えば需要の高い言語とそうではない言語があった場合、需要の高い言語のスキルを身につけていると

というオファーが山ほどきます。
需要が高いということは、それだけ企業同士の強豪が多いため、お金を積んで仕事を依頼してくれるのです。
つまり
『高単価の仕事がバンバン取れるようになる』
のです。

ちなみに需要の高い言語の代表的なものとしては
- Python
- JavaScript
- PHP
などが挙げられます。
もちろん他にもたくさんありますが、学習のやりやすさを考えると、このあたりの言語をマスターしておいても良いでしょう。
まとめ



このような話をしている人が多いですし、私自身もそう思っていることは事実です。
ですがそれだけを伝えたとしても、結局辛い場面は誰にでも必ずやってきます。
抽象的な未来を想像するよりも
『自分の理想とする未来に臨場感を高め、目の前の壁を乗り越える方法をすでに知っている』
状態を作ることが、プログラミング攻略では最も大切なことだと思っています。
今回の記事を、ぜひこれからのプログラミング言語学習に役立ててみてください。