プログラミングなんてものは、普通の日常生活を過ごしていく中で、全く出てこない言語。
一般の方からしたら、正直プログラミングは暗号にしか見せません。
そのため、今までプログラミングを触ったことがない人が、ある日突然勉強を始めると

おそらくこんな感想をリアルに抱くはずです。
暗号の羅列という認識から、いかにしてプログラミングコードという認識に変えられるかが理解するための最短ルートでもあります。
私自身もここでかなり苦戦しました。
なので、普通の学習方法を取り入れるのではなく、あえて違った角度からプログラミングの学習を始めたのです。
ここではプログラミングを最短で理解するために、コードを読む前にまずやるべきことを具体的にご紹介していこうと思います。


好きなところから読んでください
最初はプログラミングコードが暗号にしか見えない‥

とりあえず最初にお伝えしておきたいことは、どんな凄腕のプログラマー・エンジニアであっても、最初にプログラミングを学習し始めた頃は、確実に
『暗号に見えていた』
ということです。
もし最初からコードが読める人がいたとすれば、それは世界に数人しかいない天才か、英語のスキルが高い人だと思います。

つまり、プログラミングを理解できない・暗号にしか見えないという今の状況はめちゃめちゃ順調であるということです。
ゲームで言ったら、必ず通らなければならない最初のイベントのようなものです(ここを進まなければストーリーは始まりません)。
プログラミングが理解できない人の共通点

一定のレベルに達すれば、必ずこのイベントはクリアできるのですが、決してこれを甘く見てはいけません。
事実、プログラミングの学習で挫折している人の多くは、この最初の段階を乗り越えることができずにこの業界から姿を消します。

つまり、この最初の段階さえ乗り越えることができれば、間違いなくプログラミングアレルギーは取れるということです。
最初の小さな壁ではありますが、ここをクリアできない人たちにはいくつかの共通点があることも事実です。
1つ1つのコードの意味が理解できない

まず、初心者の時点でプログラミングコードを全体的に見ると、まず理解することはできません。
ただの暗号が書かれているだけになります。
最初にこのコードの羅列を見ると、大半の人が
『自分には絶対理解できない分野だ‥』
と心の中で思ってしまいます。

いきなり全てのコードを暗記して覚えるよう必要はありませんが、とりあえずプログラミング初心者の段階ではコード全体を見ることはせずに、自分のできることから始めることが重要です。
そもそも自分が何が分からないのかが分からない

結局のところ、挫折する原因の大半はここだと思います。
分からないことが明確に分かっていれば、そこを勉強すれば克服することができますが、自分が分からないことが分からない状態の場合、何を調べてどうすれば良いのかがさっぱり分からなくなります。

抜け出すこともできない。抜け出す方法も知ることができない。そうなると、人はどんどん追い詰められて、最終的にそのストレスから解放されるために
『今の環境から逃げたくなる』
のです。
これがプログラミングの挫折に繋がっているということです。
意味は分かるけど実際のやり方がよく分からない

レベルで考えると
超初心者:1つ1つのコードが理解できない
初心者:そもそも自分が何が分からないのかが分からない
初心者脱却前:意味は分かるけど実際のやり方がよく分からない
大体こんな感じですね。
個人的に一番挫折しやすいポイントだと思うのは
『そもそも自分が何が分からないのかが分からない』
ここですね。

つまり、調べようと思っても自分が知りたい情報を的確にピックアップできないため、対処ができなくなるのです。
最低限の意味が分かるレベルまでくる事ができれば、そこからはとにかくググる事で問題を解決していく事ができます。
本やネットでいくら情報を取り入れたとしても、それが今自分の抱えている悩みを解決してくれる情報に繋がることがないため、とにかく苦しい時期が続くのです。
プログラミングを教えるスクールが利用されている理由も、ある意味この段階を乗り越えるためだとも言えます。
プログラミングを理解するには最初『コード』として見ないことが重要!

私が最初にプログラミングの勉強を始めたときは、ガッツリとコードとして見ていたため、ある意味
『暗号を解読するために全ての時間を費やしていた』
と言っても過言ではありません。
もちろんコードは読めるようになる必要はあります。
ただ、最初の段階でやるべきことは、コードを読むのではなく
になります。

プログラミングは目的達成の手段でしかない

最初の段階で、この考え方を頭に入れておくことができれば、面白いようにプログラミングが理解できるようになります。
実際、プログラミングを使う理由は
『○○を実現したい!』
これを達成するためです。
よく言われる話が、
プログラミングを使いこなす練習をしている人
何かしらのサービスを生み出すためにプログラミングを学習している人
この2者がいた場合、どちらがプログラミングのスキルを伸ばすことができるのかというと、圧倒的に『後者』になります。

後者の場合、最初の段階でいきなり野球の試合に出場し、まずは野球の楽しさややり方をリアルに体感する感じなので、その後の練習でのスキルの吸収力が圧倒的に高まるのです。
プログラミングの学習が目的となると、結局手段が目的になってしまうため、いずれ必ず頭打ちがやってきます。
しかし最初の段階でプログラミングはあくまでも手段であることを理解し、そこから目的に向かって走り続けることができれば、それだけで学習効率は飛躍的に高まるのです。
つまり、まずプログラミングを学習する前に
『自分が作りたいもの・達成したい目的』
これを早い段階で明確にしておきます。
そしてそれを実現するためにはどのような知識が必要になるのか?
これを考えることによって、スタートからゴールまでの道のりを作ることができるため、出口のない迷路を迷うことがなくなるのです。
まずはゲシュタルト(全体像)を理解することから始める!

プログラミング学習に関しては、様々なテクニックを話している人が多いですが、私はこのゲシュタルトさえ掴んでしまえば、どのテクニックを使って学習をしても上手くいくと思っています。
人間は全体像が分からないものは頭に入ってきません。
英語の単語を一つ一つ覚えたとしても、その単語がどの場面でどのような文法で使われるのかが分かっていなければ、単語を上手に使うことはできませんよね?
プログラミングも同じです。

まずは全体像を把握していき、そこから足りない知識を後付けしていく。
このようなイメージで学習を進めることが最短ルートを駆け抜けるポイントでもあります。
例えばアプリ開発をしたいのであれば、
この流れで考える必要があります。
初心者はこの流れを全く逆の方向から考えてしまうため、多くの人が挫折することになるのです。
必要なデータを集めるのは最後です。
まずはゲシュタルトを構築して全体像を把握してから、その後にデータをかき集めていくのが成功する考え方となります。

まとめ

私自身も未経験・初心者だったからこそプログラミング初期の学習の辛さが分かります。
しかもテンプレのように挫折も経験したため、自分がなぜ挫折してしまったのかを考える期間も結構長かったことも事実です。

自分が正しいと思っていることが、実は一番難しい角度から物事を見ていることもたくさんありますので、新たなパラダイムを取り入れるイメージで今回の内容を参考にしてみてくださいね。
人気記事 安くてスキルが身につくプログラミングスクールを厳選してみた!