Pocket

何かしらの理由で行動を起こし、その選択肢の一つとしてプログラミング言語を学ぶことを目標とする時期はあります。

avatar
結局プログラミング言語を学ぶということは、手段でありゴールではありません。

いくらプログラミングを学んだところで、それによって自分の目標を達成できなければ何も意味がありません。

しかし多くの場合、プログラミングを学習する段階で『辛い』『分からない』などのネガティブな感情が出てきてしまうことがほとんどです。

この段階で諦めてしまうと、そもそもの目標を達成するどころか、プログラミング自体を理解することすら困難になります。

初めてプログラミング言語に触れた時、最初に『絶望』を感じた私が、どのようにしてその強烈なアレルギー反応を克服したのか?

ここでは、プログラミングに強烈な反発をしていた

過去の私のリアルなエピソード

を交えながら、プログラミングに対する苦手意識を克服していただくことを目的にした内容をお届けします。

初心者が初めてプログラミング言語を触ると必ず起こること!

プログラミングを学習する場合、初心者と大きく分けても様々なタイプの人がいます。

▼初心者のざっくりとした分け方

  • パソコンで仕事をこなしている人
  • パソコンを全く触ったことがない人
  • タイピングが上手・できない人

あなたがどのタイプに含まれるかは分かりませんが、プログラミングを学ぶということは

『パソコン操作をする』

ことになるため、パソコン操作+プログラミング言語の学習をしなければならないのです。

avatar
かなり当たり前のことを言っていますが、これが意外と重要です。

タイピングができない人は、そもそもパソコンでの入力作業も辛いため、それ+コードを打ち込むのはなかなか大変です。

つまりプログラミング学習においては

『プログラミング学習の前の段階で苦戦することも多々ある』

ことを理解しておきましょう。

補足

基本的なところで苦戦することもありますが、実際にプログラミング言語を触った場合、必ず以下のようなネガティブイベントが発生します。

プログラミングに対する脳みその強烈な拒絶反応

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

avatar
しかもプログラミング言語だからこその決まりがたくさんあるため、基礎と全体像を理解していなければソースコードを解読することはまず不可能なのです。

人間には

『ホメオスタシス機能』

というものがあり、これがあることによって常に現状を維持しようとする力が働きます。

つまり、新しいことを始めると必ず

『過去の自分に戻そうと強烈な反発をする』

ため、最初の段階ではプログラミング学習を脳みそが拒絶するのです。

『プログラミング学習は非日常→プログラミング学習は日常』

この切り替えができるまでは、かなり辛い学習期間を経ることになるのです。

プログラミングを全く理解できずに苦しむ期間

学習することが日常になってくると、プログラミング自体を学ぶ習慣が付いてきます。

こうなると次の壁が目の前にやってくるのです。

日常的に勉強できるようになったのは良いのですが、そもそもプログラミングの基礎学習の段階では

『全体像がぼやっとしている』

ため、何のために自分が基礎を勉強しているのかが全く分からないのです。

後々全体像を把握できるようになると

avatar
『あ〜、このために最初の段階で基礎学習をさせていたのね!』

と腑に落ちる瞬間がやってくるのですが、大抵の人はその段階まで我慢することができずに挫折します。

理解できずに苦しみ、そこで心が折れてこの業界を去ってしまう‥。そんなことがプログラミング学習では頻繁に起こっているのです。

プログラミングを習得する人たちの学ぶ順番はある程度決まっています。

プログラミングが嫌いになる瞬間がなかなか多い

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

avatar
しかし好きになるまでは正直プログラミングが死ぬほど嫌いになった瞬間が数多くあります笑。

綺麗事はあまり好きではないので、これはしっかりと赤裸々に伝えておくべき内容でしょう。

そもそもプログラミングを本気で理解しようと思ったら、数週間・1ヶ月程度の学習ではまず無理です。

それくらいの期間であれば表面的なことは学べますが、そこまでです。

自分がサービスを作れるようになって初めてプログラミングが楽しくなるため、最初の数週間・数ヶ月の表面的な学習だけではその楽しさを実感することはできないでしょう。

むしろその段階で、死ぬほどプログラミングが嫌いになったり、パソコンをぶん投げたくなる瞬間がたくさん出てきます。

ある意味、世に出回るプログラミングスクールというのは

『プログラミングが嫌いになりそうな瞬間を助けてくれる存在』

のような感じだと私は考えています。

▼勝手な考え方w

プログラミング独学をする=プログラミングが死ぬほど嫌いになりそうな瞬間を自力で乗り越える

プログラミングスクールに通う=プログラミングが嫌いになりそうな瞬間に手を差し伸べてもらう

プログラミングのアレルギーを取る方法は『勉強しない』こと

とにかく、最初の何もわからない状態から学習をするのはかなりしんどいです。

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

avatar
究極を言ってしまえば、プログラミングは『勉強してはいけない』のです。

つまり勉強をするのではなく、プログラミング言語を扱えるスキルを身につけるために、とにかくインプットよりもアウトプットを増やす必要があるということです。

仮に分からないことが出てきたとしても、今のgoogle先生に聞けば分からないことはありません。

しかしプログラミングのスキルがないと、その知識を入れたところで何に使えば良いかが分からないため、全く使い物にならないのです。

暗記するということは、スキルではなく

『知識を持っているだけ』

です。

この違いを理解しないと、後々泥沼にハマる可能性もありますので注意が必要です。

正直な話、最初はどの言語でも難しく感じる

よく受ける質問で

『プログラミングを効率的に学習する方法は何かありませんか?』

というものがありますが、個人的な意見をしっかりと言わせていただくと

『プログラミング学習に効率を求める=失敗する可能性が高い』

と思っています。

そもそもこの言葉の裏には、間違いなく

『楽してプログラミングを学びたい』

という欲求が含まれていますから、そのマインドでは立ちはだかる壁を自力で乗り越えることはできません。

avatar
なのでもしやるなら最初の段階でプログラミングスクール通ったほうが良いでしょう。

どんなプログラミング言語であっても、基礎学習+全体像の理解をするまでに一定期間の学習が必要となります。

この期間を短縮し、最短ルートでプログラミングをマスターできる方法があるのであれば、私が教えて欲しいくらいです。

プログラミングを嫌いから好きに変える5つの秘策

  • なぜプログラミングが嫌いになる瞬間が訪れるのか?
  • どのポイントでプログラミングの楽しさが分かるようになるのか?

ここさえしっかりと理解していただければ、あとは目の前に立ちはだかる試練を乗り越えるだけです。

avatar
プロに教われば、そこまで苦しむことなくプログラミングは学ぶことが可能です。なので基本的に私は初心者にプログラミングスクールに通うことをおすすめしています。

とはいえ、結局初心者に必ず訪れる

『プログラミングが嫌いになる瞬間』

を乗り越える方法を事前に知っておけば、楽しみながら学習が進められることも事実です。

もし目の前に壁が出てきた場合

avatar
『これが嫌いになる瞬間ってやつね。もう乗り越え方は知ってるわ!』

と自信を持つことができれば、もう怖いものはありません。

実はあることを徹底するだけで、プログラミング学習で挫折する可能性を大幅に下げることは誰にでもできるのです。

プログラミングを覚えた後の理想の自分を臨場感高く想像する

そもそも自分がプログラミングを学び、将来的にどのような未来を実現したいのかを明確に解説できるでしょうか?

多くの場合

▼プログラミングを学ぶ理由

  • プログラミングを学んで転職する
  • エンジニアとして活躍したい
  • サービスを作りたい

など、目標設定はある程度決まっているが

『プログラミング学習をした後の自分の姿に臨場感がない』

ことがほとんどです。

どの分野でも言えることですが、結局成功する人というのは

『高いモチベーションを保つ方法を知っている』

ため、ブレることなく突き進むことができます。

そしてその高いモチベーションを維持するために重要な要素なのが

『未来の理想とする自分の姿の臨場感を高めること』

なのです。

これをやると何が変わるのかというと

『自分の行動に一切のブレがなくなる』

ようになるのです。

考え方としては『アマゾンでの買い物』に似ています。

例えばあなたが欲しい商品をアマゾンで注文した場合、数日の間に自宅に到着しますよね?

注文してから途中でいきなり別の家に宅配されるということは、まずありません。

つまり

『アマゾンで商品を注文した後の未来はその時点で決まっている』

ため、一切心配する必要がなくなるのです。

プログラミング学習でも同じように、最初に自分の理想とする未来の姿の臨場感を高めまくり

『すでにその理想とする自分になっている前提で物事を考える』

ことができれば、プログラミング学習に一切のブレがなくなるのです。

avatar
だって成功する未来は決まっているんですから、その途中のプロセスはどうでもよくなるのです。

少し抽象的すぎる話かもしれませんが、この

『未来の理想とする自分の臨場感を高めまくる』

ことは、どの分野で成功するためにも重要なことなので、必ず覚えておきましょう。

自分が作りたいサービスを1つ見つけておく

そして理想とする自分になることが確定すれば、将来的に必ず自分の手でサービスを作れるレベルまで成長することが可能になります。

となれば、最初の段階でどんなサービスを作りたいのか?そのサンプルを一つ決めてきましょう。

avatar
これを決めることによって、自分が学ぶべきプログラミング言語を絞ることができます。
補足

世の中には200種類以上のプログラミング言語があると言われていますが、結局メインで使われているのは多くても數十種類です。

その中で自分が作りたいものを形にしてくれるプログラミング言語を学習すれば、あとはサービスを作りまくるだけです。

ちなみに、プログラミング言語に関しては

『1つ極めれば他の言語の学習が容易になる』

ため、最初は1つに絞ったほうが良いです(WEB系であればHTML/CSSは前提知識です)。

それを作るために何をすれば良いのか?この基準ができると学習の効率化を図ることができるため、最初の段階で何かしらの目的地を決めておくことも重要です。

とりあえずスクリプト言語・コンパイラ言語の違いを知る

そして最初の段階で必ず理解しておくべきことは、プログラミング言語には大きく分けて

スクリプト言語(難易度は低め):JavaScript・PHP・Pythonなど

コンパイラ言語(難易度が高め):C・C++・Javaなど

この2つがあるということです。

スクリプト言語というのは、ソースコードをその場で機械語に翻訳できるため、すぐに実行ができます。

逆にコンパイラ言語というのは、ソースコードを高速で動作させるため、記述がかなり複雑なものになります。なのでスクリプト言語に比べて難易度がかなり高くなるのです。

avatar
できることがそれぞれ異なりますが、もし今の段階で具体的に作りたいものが決まっていなければ、最初はスクリプト言語を選ぶことをおすすめします。

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

せっかくプログラミングを学ぶのであれば、やはり世の中の多くが求めるものを身につけた方がお得です。

例えば需要の高い言語とそうではない言語があった場合、需要の高い言語のスキルを身につけていると

avatar
『うちの仕事をやってくれませんか?』

というオファーが山ほどきます。

需要が高いということは、それだけ企業同士の強豪が多いため、お金を積んで仕事を依頼してくれるのです。

つまり

『高単価の仕事がバンバン取れるようになる』

のです。

avatar
このスキルさえ身につけることができれば、まず食いっぱぐれはなくなるでしょう。

ちなみに需要の高い言語の代表的なものとしては

  • Python
  • JavaScript
  • PHP

などが挙げられます。

もちろん他にもたくさんありますが、学習のやりやすさを考えると、このあたりの言語をマスターしておいても良いでしょう。

まとめ

avatar
『プログラミングは楽しいよ〜!』
avatar
『プログラミングを学習すると世界が変わるよ〜!』

このような話をしている人が多いですし、私自身もそう思っていることは事実です。

ですがそれだけを伝えたとしても、結局辛い場面は誰にでも必ずやってきます。

抽象的な未来を想像するよりも

『自分の理想とする未来に臨場感を高め、目の前の壁を乗り越える方法をすでに知っている』

状態を作ることが、プログラミング攻略では最も大切なことだと思っています。

今回の記事を、ぜひこれからのプログラミング言語学習に役立ててみてください。

人気記事 安くてスキルが身につくプログラミングスクールを厳選してみた!

Pocket