自分の感覚なのですが、「プログラミング」って実感がつかみづらい物なのかと思います。
どういうことなのかと言いますと、プログラムを入力して「実行」するとプログラムに問題がなければ結果が出力されます。
プログラミング(コンピュータへの命令)とその「結果」だけなので、何が起きているのか過程が分かりづらく、理解がしづらくなっているのではないでしょうか。
私が、この理解しづらさを解消するために行ったのが「理解するまで何度もやってみる」でした。
int a;
a = 5;
if (a >= 10) {
Debug.Log("aは10以上");
} else {
Debug.Log("aは10未満");
}
(上記はUnityを想定しているので言語は「C#」です)
上記のプログラムを実行するとコンソールに
aは10未満
と表示されます。
変数aには5を代入しています。
if文では10より大きいかを判断しています。
5は10よりも小さいので、if文の条件には合っていません。
なので、else文に記述されたプログラム「Debug.Log(“aは10未満”)」が実行されます。
結果としてコンソールに
aは10未満
と表示されると思います。
ここまでで、すんなり納得出来る人はそれで良いと思います。
ですが、良く分からない、という方は次のことを試してみてはいかがでしょうか。
例えば、aに代入する数字を15とします。(プログラムを書き換えます)
15は10よりも大きいので、さきほどとは結果が変わってきます。
実行するとコンソールには
aは10以上
と表示されるでしょう。
ここで少しでも感覚的に、「あぁ、そういうこと」と思えたならば、理解の方向へ向かっていると思います。
何を言いたいかというと、「理解が出来るまで色々とプログラムを書き換えて結果をみてみる」、
ということです。(分かるまで色々と試してみる)
絵を描いたり体を動かすことは、実際に物に触れたり、自分の体の感触があるので、頭が理解がしやすいと思います。
ですが、プログラミングはコンピュータ上のことで手触りがなく、プログラムコード(文字だけ)と結果である画面に出力された物が、かけ離れているので、頭で理解がしづらいのではないかということです。
ですから、プログラムを理解しようとするために、何度も手を使ってプログラムを書き換えて、自分の頭が納得するまで試してみるのです。
ここまで書いたことはあくまで私個人の実感です。
もしかすると私が人よりもプログラミングの理解が乏しかったのかも知れません。
私がコンピュータの専門学校に2年間通っていて、プログラミングを理解出来ていたのは生徒の10%もいませんでした。
職場でも長い時間パソコンの前に座っているのに、理解して良いプログラムを作成している人は少なかったです。
AIが全盛となり、プログラムはAIが生成してくれるようになる可能性は高いでしょう。
それでも関心を強く持っているという方は、取り組んでみたら良いのではないでしょうか。
私は、パズルをやっているみたいで十分に面白いです。
この作業をAIだけにやらせるのは、もったいないのではと思っています。