Pocket

プログラミングなんてものは、普通の日常生活を過ごしていく中で、全く出てこない言語になります。

そのため、今までプログラミングを触ったことがない人が、ある日突然勉強を始めると

avatar
『なんだ‥この謎の暗号の羅列は‥』

おそらくこんな感想をリアルに抱くはずです。

何を学習するにしても、とりあえず目の前に書かれているものが読めなければ、そもそも知識を頭に入れることなんてできません。

暗号の羅列という認識から、いかにしてプログラミングコードという認識に変えられるかが理解するための最短ルートでもあります。

私自身もここでかなり苦戦しました。

なので、普通の学習方法を取り入れるのではなく、あえて違った角度からプログラミングの学習を始めたのです。

ここではプログラミングを最短で理解するために、コードを読む前にまずやるべきことを具体的にご紹介していこうと思います。

avatar
確かに暗号だと言う人の気持ちは痛いくらいわかります。
avatar
実際全体的に見たら、本当に暗号が書かれているようにしか見えませんからね。

最初はプログラミングコードが暗号にしか見えない‥

とりあえず最初にお伝えしておきたいことは、どんな凄腕のプログラマー・エンジニアであっても、最初にプログラミングを学習し始めた頃は、確実に

『暗号に見えていた』

ということです。

もし最初からコードが読める人がいたとすれば、それは世界に数人しかいない天才か、英語のスキルが高い人だと思います。

avatar
それ以外の理由では、まずプログラミングコードを読むことはできませんからね。

つまり、プログラミングを理解できない・暗号にしか見えないという今の状況はめちゃめちゃ順調であるということです。

ゲームで言ったら、必ず通らなければならない最初のイベントのようなものです(ここを進まなければストーリーは始まりません)。

プログラミングが理解できない人の共通点

一定のレベルに達すれば、必ずこのイベントはクリアできるのですが、決してこれを甘く見てはいけません。

プログラミング業界のリアル

事実、プログラミングの学習で挫折している人の多くは、この最初の段階を乗り越えることができずにこの業界から姿を消します。

avatar
コードがちゃんと理解できて、尚且つ自分でコードが打てるような人が挫折したという話は一切聞いたことがありませんからね。

つまり、この最初の段階さえ乗り越えることができれば、間違いなくプログラミングアレルギーは取れるということです。

最初の小さな壁ではありますが、ここをクリアできない人たちにはいくつかの共通点があることも事実です。

1つ1つのコードの意味が理解できない

まず、初心者の時点でプログラミングコードを全体的に見ると、まず理解することはできません。

ただの暗号が書かれているだけになります。

最初にこのコードの羅列を見ると、大半の人が

『自分には絶対理解できない分野だ‥』

と心の中で思ってしまいます。

avatar
実際はそんなに難しいことはやっていないので気にする必要はありません。

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

そもそも自分が何が分からないのかが分からない

結局のところ、挫折する原因の大半はここだと思います。

注意点

分からないことが明確に分かっていれば、そこを勉強すれば克服することができますが、自分が分からないことが分からない状態の場合、何を調べてどうすれば良いのかがさっぱり分からなくなります。

avatar
この状態はまさに、出口のない迷路に迷い込んでいるような状態です。

抜け出すこともできない。抜け出す方法も知ることができない。そうなると、人はどんどん追い詰められて、最終的にそのストレスから解放されるために

『今の環境から逃げたくなる』

のです。

これがプログラミングの挫折に繋がっているということです。

意味は分かるけど実際のやり方がよく分からない

レベルで考えると

プログラミングレベル

超初心者:1つ1つのコードが理解できない
初心者:そもそも自分が何が分からないのかが分からない
初心者脱却前:意味は分かるけど実際のやり方がよく分からない

大体こんな感じですね。

個人的に一番挫折しやすいポイントだと思うのは

『そもそも自分が何が分からないのかが分からない』

ここですね。

avatar
基礎ができていない段階では、どんなコードを書いて、どんなエラーが出たとしても、それが何を意味しているのかがさっぱりわかりません。

つまり、調べようと思っても自分が知りたい情報を的確にピックアップできないため、対処ができなくなるのです。

最低限の意味が分かるレベルまでくる事ができれば、そこからはとにかくググる事で問題を解決していく事ができます。

本やネットでいくら情報を取り入れたとしても、それが今自分の抱えている悩みを解決してくれる情報に繋がることがないため、とにかく苦しい時期が続くのです。

補足

プログラミングを教えるスクールが利用されている理由も、ある意味この段階を乗り越えるためだとも言えます。

プログラミングを理解するには最初『コード』として見ないことが重要!

私が最初にプログラミングの勉強を始めたときは、ガッツリとコードとして見ていたため、ある意味

『暗号を解読するために全ての時間を費やしていた』

と言っても過言ではありません。

もちろんコードは読めるようになる必要はあります。

ただ、最初の段階でやるべきことは、コードを読むのではなく

『プログラミングの概念を理解すること』

になります。

avatar
コードを読もうとすると、そのコードの意味ばかりにフォーカスして理解しようと思ってしまいますが、それをやってしまうと、学校での詰め込み教育と同じ『暗記』になってしまいますので、プログラミングの理解が遠ざかってしまうのです。

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

最初の段階で、この考え方を頭に入れておくことができれば、面白いようにプログラミングが理解できるようになります。

実際、プログラミングを使う理由は

『○○を実現したい!』

これを達成するためです。

よく言われる話が、

プログラミングを使いこなす練習をしている人

何かしらのサービスを生み出すためにプログラミングを学習している人

この2者がいた場合、どちらがプログラミングのスキルを伸ばすことができるのかというと、圧倒的に『後者』になります。

avatar
前者はプログラミングを使いこなそうとしているため、言ってしまえば、野球を上手くなりたい人が毎日素振りをし続けているようなものです。

後者の場合、最初の段階でいきなり野球の試合に出場し、まずは野球の楽しさややり方をリアルに体感する感じなので、その後の練習でのスキルの吸収力が圧倒的に高まるのです。

注意点

プログラミングの学習が目的となると、結局手段が目的になってしまうため、いずれ必ず頭打ちがやってきます。

しかし最初の段階でプログラミングはあくまでも手段であることを理解し、そこから目的に向かって走り続けることができれば、それだけで学習効率は飛躍的に高まるのです。

つまり、まずプログラミングを学習する前に

『自分が作りたいもの・達成したい目的』

これを早い段階で明確にしておきます。

そしてそれを実現するためにはどのような知識が必要になるのか?

これを考えることによって、スタートからゴールまでの道のりを作ることができるため、出口のない迷路を迷うことがなくなるのです。

まずはゲシュタルト(全体像)を理解することから始める!

プログラミング学習に関しては、様々なテクニックを話している人が多いですが、私はこのゲシュタルトさえ掴んでしまえば、どのテクニックを使って学習をしても上手くいくと思っています。

人間は全体像が分からないものは頭に入ってきません。

英語の単語を一つ一つ覚えたとしても、その単語がどの場面でどのような文法で使われるのかが分かっていなければ、単語を上手に使うことはできませんよね?

プログラミングも同じです。

avatar
最初にいくらコードを暗記したからといって、その暗記したコードをどこで使うのかが分かっていなければ意味がありません。

まずは全体像を把握していき、そこから足りない知識を後付けしていく。

このようなイメージで学習を進めることが最短ルートを駆け抜けるポイントでもあります。

例えばアプリ開発をしたいのであれば、

1
まずはアプリの完成形・理想像を明確にする

2
そのアプリで使われるアルゴリズムを組み立てる

3
実際に必要となるデータを集めていく

この流れで考える必要があります。

※アルゴリズムは、目的を達成するための手順を表しているもの

初心者はこの流れを全く逆の方向から考えてしまうため、多くの人が挫折することになるのです。

必要なデータを集めるのは最後です。

まずはゲシュタルトを構築して全体像を把握してから、その後にデータをかき集めていくのが成功する考え方となります。

avatar
ぜひこれは頭にインストールしておいてください(ちなみにプログラミング以外の業界でもこの考え方は必須となります)。

まとめ

私自身も未経験・初心者だったからこそプログラミング初期の学習の辛さが分かります。

しかもテンプレのように挫折も経験したため、自分がなぜ挫折してしまったのかを考える期間も結構長かったことも事実です。

avatar
その経験を踏まえて、今プログラミングの学習に苦しんでいる方への一つのアドバイスとして今回の記事を作成しました。

自分が正しいと思っていることが、実は一番難しい角度から物事を見ていることもたくさんありますので、新たなパラダイムを取り入れるイメージで今回の内容を参考にしてみてくださいね。

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

Pocket