
プログラミングの勉強を始めたけど、よく分からない….

プログラミングが全然理解できない!どうしたらいい?
勉強しているのにプログラミングが分からない、理解できない状態になっていませんか。
プログラミングは一朝一夕で習得できるものではありません。
実際にプログラミング学習の挫折率は90%と言われています。
つまり、10人中9人は途中で挫折してしまうのです。
今、プログラミングが分からない、理解できないとあがいている時期は、挫折するかプログラミングを習得できるかの分かれ目だと言えます。
この記事を書いている筆者は、IT未経験でIT企業に入社し今では6年目のエンジニアです。
この記事では
- プログラミングが分からない・理解できない理由
- プログラミングが分かる・理解できるようになる方法
- おすすめのプログラミング学習の取り組み方
を紹介しています。
この記事を読むことで、プログラミングが分かる、理解できるようになる方法が分かります。
是非、最後まで読み進めてください。
「プログラミングが分からない」とはどんな状態か

この記事を読んでいるあなたの状態がまさにそうなのですが、プログラミングが分からない、理解できない状態は下記のような感じです。
- プログラムを見ても、どんな動きをするのか分からない
- どのようにプログラムを書き始めていいか、書き進めていいか分からない
- プログラムで何をすればいいか分からない
つまり、次何していいか分からない、今なにをしているのか分からない状態ですね。
動画や教材の進むがままに学習していて、途中でふと見直してみるとなんだっけこれ?となっている状態でもあります。
なぜプログラミングが分からない・理解できない状態になるのか

プログラミングは一言でいうとややこしいです。
難しいのではありません。
どちらかというと、あっちにもこっちにも様々なことが書いてあって混乱しているのです。
一本筋の通った勉強ができればいいのですが、それが難しいんですよね。
プログラミングが分からなくなる原因は、プログラミング言語自体の原因とそれ以外の大きく2つに分けることができます。
・プログラミング言語固有の原因
それぞれを解説していきます。
プログラミング言語以外の原因
プログラミング言語以外の原因には、心理的なものやその他の要因があります。
- 最初から分からないと諦めている
- タイピングができない
- そもそも手を動かして学習していない
- 開発に使用するツールの操作方法が分からない
- 分からないループに入っている
ここは少し長くなるので、サクッと読みたい方は、目次と吹き出しだけ読んで頂ければOKです。
最初から分からないと諦めている
プログラミングは難しい、自分には向いていない、がんばっても理解できない
と心のどこかで思っていませんか。
どの勉強でもそうなのですが、最初から理解できないと思っているとなかなか頭に情報が入ってきません。
この状態だとどれだけ勉強してもなかなか身につきません。

まずは、「自分にはできない」という思い込みを捨て
前向きに学習に取り組むといいですね。
タイピングができない
タイピングができないとプログラミングができないわけではありません。
しかし、タイピングができないと1つ処理を組むのに、処理のことと、キーボードを見ながらキーを選択することの2つを同時に行う必要がでてきます。
つまり、プログラミング学習だけに集中できないのです。
複数のことを同時にすると集中力が分散してしまいますし、タイピングが遅いと1つ処理を試すだけで多くの時間がかかってしまいます。

プログラミングを始める前に、タイピングを練習をおすすめします。
それだけでもその後の学習速度が桁違いに変わります!
そもそも手を動かして学習していない
書籍や動画で勉強して頭では理解した気になっても、それは本当に理解した気分になっているだけです。
実際にプログラムを組もうとしたらどう進めていいか分からない、といった状態になります。
プログラミングは実際に何度も自分の手で組まないと身につきません。

手を動かさずに理解しようとしているうちは、理解している気になっているだけ。
プログラミングを身につけるには、手を動かしましょう。
開発に使用するツールの操作方法が分からない
プログラムを組む際はほとんどの場合、テキストエディタをはじめ開発するためのツールを使用します。
ですが、操作方法が分かりにくかったり、英語のツールも多いのでどこになにがあるのか分からないこともあります。
プログラミングをする以前に開発ツールの操作段階で分からなくなっていることもよくあります。

開発ツールを使用するなら、まずは基本的な操作だけでも
先に知っておきましょう。ググれば、ほとんどのツールの基本操作は分かります。
分からないループに入っている
1つわからないと、次のものが分からないケースがあります。
前提として知っていないといけないことを知らずに、次のことをやろうとして、わからない。
また、次のことをやろうとして、わからない。
この繰り返しになってしまい、分からないループに入ってしまっていることがあります。

こういう場合は、1度本当のスタート地点から学び直すことをおすすめします。
書籍なら最初から読んで、分かっているところはさらっと読み、どこから自分がわからなくなったのかを認識する。
そこから再度、理解を深めていきましょう。
プログラミング言語固有の問題
プログラミング言語固有の問題は次の5つになります。
他にも細々とした原因はありますが、次の5つがクリアされれば、そこまで大きな問題ではありません。
- 定数・変数、関数を使用するため、実態が分かりにくい
- 1番上から処理が始まらない
- 1つの動きにいくつもの処理を組み込む必要がある
- エラーを解決できない
- 知らないことが多い
定数・変数、関数を使用するため、実態がわかりにくい
プログラミング言語のほとんどは、処理を省略するために関数を使用したり、定数や変数に値をセットして処理に組み込みます。
そのため、さらっと見ただけでは何をしているか分かりにくいのです。
定数なら何がセットされているのか、変数なら今なにの値が入っているのか、関数なら定義してある部分を見ないと分かりません。
関数や定数・変数は慣れた人からすると便利なのですが、初心者からすると混乱する原因になります。

変数・定数を使う時は、中身が何か分かる名称にするのも手。
関数は、絶対に定義しているところがあるので、そこをしっかり確認すると理解が深まります。
1番上から処理が始まらない
トップから始まるものもあるのですが、プログラムを組む際にスタート地点よりも上にプログラムを組んだり、定義を書いたりしないといけないものが多くあります。
そのため、上から順にプログラムを見ていってもそこから始まっていなかったりして、スタート地点がどこか分からない状態に陥ってしまいます。

プログラムを見ていくうえでスタート地点を把握しておくことは最も重要です。
スタート地点には多くの場合、分かりやすい特徴や決まった組み方があるので、それを先に理解するといいですよ。
1つの動きにいくつもの処理を組み込む必要がある
例えば、「ある値を計算して画面に出して欲しい」という要望があったとります。
これをプログラムで組もうと思うと、
・計算に必要な値を取得してくる
・計算式を組み込んで、計算する
・計算結果を特定の画面のある場所に表示する
といった複数の処理が必要になります。
(実際はもっと複雑だったり、簡単だったり状況により様々)
このように実現したい1つの事柄に対して、やるべきことを分解してそれぞれを組む必要があります。
プログラミング初心者からすると、こうした処理の分解が難しいのです。

経験者だったら頭の中でさっとやってしまいがちな部分ですね。
慣れないうちは、紙にやるべきこと書き出して、正しい順番でプログラムを組んでみてください。
エラーを解決できない
プログラミングにエラーはつきもの
まずはそのことを頭に置いておきましょう。
とはいえ、エラーが出ると手が止まってしまい、エラーを解決するのに何時間もかかることもあります。
エラーの対応だけで体力もやる気も消耗してしまうのです。
ちなみに、経験者からするとまだエラーになっているってすぐにわかることは良い方で、
本当に怖いのは、エラーになっていないのにシステムを動かしたらおかしい動作になっていることです。

エラーはつきもの。これからは逃れられない。
けれど、質問サイトとかで同じエラーに苦しんでいる人が投稿していたりするので、まずはググってみましょう。
知らないことが多い
これは今までに上げていた内容ともかぶるのですが、
関数や、定型的な文言、プログラミングを組む時の考え方から必要なツールの操作方法など、プログラミングをする上で知っておくべきことはかなり多いです。
実際はなんとなく知っておくだけでいいものや、その都度調べればいいものも多いのですが、初心者にはその判断ができません。
そのため、知らないことが多いように感じて、分からない分からないとなってしまいます。

知らないことは、1つ1つ知っていくほかありません。
しっかり理解しておくべきことと(条件文や配列処理などの組み方や考え方)、
その都度調べればいいことがあります(関数など)。
それが何かさえ分かればある程度学習が楽になりますよ。
プログラミングが分かる・理解できるようになるには

前章の各々の解決法は先に示したとおりです。
ここでは、プログラミングを理解するための3つの方法を紹介します。
- まとまった処理ではなく、分解した処理を1つ1つプログラムする
- 模写する
- ひたすらプログラムを組んでみる
まとまった処理ではなく、分解した処理を1つ1つプログラムする
画面に文字を出すなら、出すだけ、特定の文字を取得するならそれだけで1つ1つの処理を理解しもって進めてください。
1つ1つの細かい処理を組み合わせれば、様々な動きをプログラムで組むことができます。
しかし、基本となる細かな処理を理解していなかったら、組みたいプログラムを組むことができません。
正直、センスのある人はなんとなく学習を進めてもあぁそういうことかで、理解できてしまいます。
ですが、今プログラミングで躓いているのであれば、1つ1つの処理を丁寧に組んでいくことをおすすめします。
模写する
書籍なり、すでにプログラムが組まれているものを見れる場合は、模写することをおすすめします。
なぜなら、正しく動くものを形から覚えられるから。
仕事でもそうですが、まずは真似から入って、体系的な部分を覚えていくと理解が進みやすいです。
あまり難しいものを模写するのではなく、基礎的なことが組み込まれているプログラムの模写から始めるといいでしょう。
ひたすらプログラムを組んでみる
安直ですが、数をこなすことです。
やはり、プログラミングは頭での理解も大事ですが、手が勝手に覚えているレベルまで繰り返すことが大事です。
書出し、特定の処理など、決まっているプログラムの組み方などを反復練習をすることで、覚えてしまうと他の部分に思考を持っていけるので実は後々効率よくプログラミングを行うことができるのです。
おすすめのプログラミング学習への取り組み方

学習を途中で挫折しないためにおすすめの学習方法を紹介します。
- 分からないことを聞ける環境を用意する
- 動画や書籍など1つの学習教材にこだわらず、自分にあった学習方法を見つける
- ロードマップを考えておく
この3つを試すことで、途中で挫折せずに学習を進められるかと。
それでは説明していきます。
分からないことを聞ける環境を用意する
3つの中でも1番大事なポイントで、分からない箇所を誰かに聞ける環境を用意しましょう。
分からない部分は誰かに聞ける、そう思えるだけで学習を進めやすくなります。
プログラミングが出来る友人に聞いてもいいですし、エンジニア向けの質問サイトを利用したり、有料で現役エンジニアに質問できるサービスを利用するのも手です。
効率的にこういったサービスを利用して、学習を進めると途中で分からなくて前に進めないってことは少ないはずです。
動画や書籍など1つの学習教材にこだわらず、自分にあった学習方法を見つける
書籍なら書籍、動画なら動画、学習サイトでの学習という感じで、1つの方法だけで勉強していないでしょうか。
書籍は、順序だてて書かれており理解しやすいですが、ツールの操作方法やどうやってプログラミングの手順が曖昧な部分があります。
動画は、視覚的にプログラミングをしている姿を見ることができ、分かりやすい一方、さらっと話が進んでしまったり色んなところに情報があって順序だてて学習することが難しい場合があります。
学習サイトを使うと、最初の開発環境を用意せずにすぐに試せたり、スマホで電車通勤中や休み時間に学習を進めることができます。
しかし、どの学習サイトがいいのか調べる必要があったり、情報が不足していることも多いので試してみたけど、なぜかエラーになる場合もあります。
ポイントは1つの学習方法にこだわらないこと。
基礎概念を書籍で学習して、動画で復習と実際に手を動かしてプログラミングしてみる、など組み合わせて複数のアプローチで学習を進めることをおすすめします。
動画でいうと、結構Youtubeでも無料で質の良いものがあったりします。一度検索してみてください。
自分で探すのが苦手、もっと効率的に学びたい方は有料サービスもあります。
ドットインストールは短い動画で構成されています。無料で見れるものや有料のものがあり、無料版で気に入れば有料版を利用してみてください。
プログラミング初心者に有名なプログラミング学習サイトのProgateもおすすめです。スライド式の勉強方法で、スマホにアプリをインストールして持ち歩くこともできるので、隙間時間に勉強しやすいです。
有料ですが、動画で学習を進めるタイプの Udemy もおすすめです。
こちらは、プログラミング特化ではなく様々な分野の学習ができるサイトです。
コンテンツごとに料金が発生する方式なので、買ってしまえば何度も復習が可能です。
ロードマップを考えておく
最初は簡単にでもいいので自分なりのロードマップを考えておくといいです。
PC操作に慣れる→作りたいものを決める(アプリなりWebサービスなり)
→作りたいサービスが決まったらそれを作るのに必要なプログラミング言語を調べる
→難易度の低いプログラミング言語を選び、学習を始める
→超単純なサービスを作ってみる
→最初に作ったサービスよりもひと手間加えたサービスを作成する
….のようにロードマップを考えておきましょう。
今、どこの段階でここが過ぎればこれができる、と分かっていると挫折しにくく、
最初に作りたいサービスを思い描くことが出来ていれば、目標に向かって進みやすくなります。
まとめ プログラミングは分かる・理解できるようになれる

プログラミングは、センスがなくても地道に学習していけば習得できるスキルです。
ですが、すごく時間がかかるのは間違いないので、途中で挫折してしまう方も多いのが事実。
時間はかかりますが、必ずプログラムは組むことができるようになる、と強い思いを持って学習に取り組んでください。
コメント