プログラミングというものは「継承」の仕組みに代表されるように、先人たちの知恵の積み重ねで成り立っている、つまり「無償の助け合いの精神」で成り立っています。
では、ことユーザーに対してプログラム(アプリ)を提供していく上で考えないといけない視点とは何なのでしょうか。
そこで、まず考えないといけないことは、アプリのユーザーつまり使ってもらう人というのは、作ったぼくたちが意図する通りに動いてくれるとは限らないということです。
ですから、ユーザーがどんなにぼくたちの意図しない使い方をしても、ぼくたちが思っている通りにプログラムが動いてくれるようにする必要がある。
ですから、そのためにはどうすればいいのか、ということを考えるということが、一つの大事な視点になってくるということなのです。
ブロック(クラス)の組み合わせであるプログラミングでは、そのブロックの組み合わせ方を考えることがとても重要です。
たしかにそれも大事なのですが、その大前提として、いかに使ってもらう人が変な使い方をしても大丈夫なように設計してあげるのか。
あるいは、ユーザーが意図しない使い方をしないで済むように、どうやったらシンプルな作りにしてあげられるのか、ということを「ユーザー(使ってくれる人)の立場に立って」考えてあげる。
このことが、プログラミングの書き方を知っているということよりも、大事になってくるということであり、これは、まさに「相手の立場に立って物事を考える」、つまり「相手に対する『思いやりの精神』」そのものです。
つまり、プログラミングを学んでアプリを作るという経験は、そういう「思いやりの精神」を身につけられる絶好の機会ではあると考えられるのです。
これも受験勉強では身につけることが難しい、プログラミングの新しい「効用」なのではないでしょうか。