こんにちは!なるーらぼです。
長らく更新をしておりませんでしたが、相変わらず息子へのScratch講座などは続けております。今回はなぜプログラミングを学ぶのか、という漠然としたことについて考えてみたことをお話しします。
なぜ、プログラミングなのか
つい先日、妻に聞かれて即答できなかったのが悔しい限りなのですが、みなさんは即答できますか?
「プログラミングを勉強して、どんないいことがあるか一言で言える?」
ここでいう「プログラミング」が何を指しているのかわかりませんし、「いいこと」についての定義も唐突でしたので文脈からの判断がつきませんでした。そこで、悩んだ末に「いろんな選択肢、可能性が広がる」と答えました。
一応、妻は「あー、なるほどね」と言ってくれましたが納得している様子はありません。
続けて妻が質問してきました。
「何かピンポイントに、わかりやすい事例がある?」
「例えば、そろばんなら頭がよくなる、とか。音楽なら情操教育にいい、とか」
ああ、そういう話か…と思いましたが続けて考えてみることにしました。
しかし、答えはありませんでした。ストレートにそう答えました。
プログラミングした結果として、そろばんのように計算をすることもできますしプログラミング自体に計算、数学の要素を含むので包含したかたちになると考えられます。
それに音楽も音を制御するプログラムをつくることになればもちろん包含してしまいます。
書道や硬筆についても手書きアプリをつくれば包含してしまいますし、センサーを使えば身体を動かすこともできますよね…
そうなると「これ」というものがないのではないかという話になってしまいました。
得意分野を決めるもの
プログラミングにおいて、得意分野を決めるのは現実世界のどんな分野を記述するのにどのプログラミング言語が向いているかというだけにすぎません。
元々は教育用に開発されたPythonもいまでは数学分野、統計、金融でも利用されますし、ウェブサービスもつくることができます。Linuxなどでは画面アプリケーションに利用されていますしソフトウェアの拡張機能としても利用されています。しかし音楽やアニメーションにはあまり使われていない印象を受けます。
音楽では専門のプログラミング言語Maxがありますし、このサイトでも入門講座で公開していますSonic Pi(あれはrubyですけどね)もあります。アニメーションでは長らくFlash(ActionScript)が利用されてきました。もちろんそのほかのモノでも利用することができます。
これはプログラミング言語とそれを取り巻く環境、エコシステムがどんなものがあるかによって決まる気がします。ですから、ピンポイントとなると特定のプログラミング言語といった環境に依存することになってしまいます。
どの時点の勉強について話をしているかわかりませんが、小学生くらいだとするとScratchかな?となります。Scratchは科学技術計算などには向いていないでしょうが、ゲームやアニメーション、音楽をつくることはできます。さらにリミックス機能がありますし、そのコードは公開するとオープンになります。
「これ」といったものを考えると、時期や用途によってさまざまな選択肢があります。
妻が考えたこと
この後、よくよく話を聞いてみると何かの雑誌かニュースを観たのでしょう。こういうことがあったので聞いてくれたようです。
- WordやExcelなどのように仕事で必要なら学ばなくても使えるようになるよね
- 将来的にはプログラミングはできて当たり前になるのかな
- できて当たり前の社会では、プログラミングは何につかうようになるの?
- いま(こどものうちに)習っておいても英語と同じで活用しないと意味がないよね
- 仕事で役に立つの?Scratchを仕事でつかうイメージないけど
- 仕事で使わないのに(つまり役に立ちそうもないのに)習う理由はなんなの?
それに、こどものうちから習うことが発達に良い影響を及ぼすのであれば、その根拠があるといいよねということでした。非常に素朴な疑問でありました。
確かに、何に使うのか、どんなことに利用できるのか、そしてそのことを説明される妻のような方に、しかもその人が理解できる言葉で語らなければ納得感はありません。
世界に通用する人材の育成が云々という話もありますが、じゃあ具体的にわたしの生活はどう変わるのよ?ということですね。
大人が(あるいはプログラミングを既になんらか経験している方が)プログラミングを勉強しようとする方へすべきこと、できることは、だれかの質問に答えたり、読めない英語のサイトを日本語にしたり、「○歩動かす」のブロックがどこにあるかを教えてあげるなどです。
それ以外には具体的な実例を示すことができるように自分の意見(プログラム)を持つべきです。そのためには、身の回りにあるちょっとしたことをもっともっとプログラムとして作成してコードを公開するべきなのではないかと感じたのでした。
あっ、でもお仕事で書いたものはダメですよ…
例えば…音楽を再生するプログラムでもいいでしょうし、テキストを入力するものでもいいでしょう。もちろん、「それ○○でできるよ」という言葉にめげてはいけません!
以前からScratchからテキストベースのプログラミング言語へのジャンプを、大学などの研究機関(ハーバード大とかですかね)がどうやっているのか不思議だったので、調べてみたほうがいいかもしれません。
大学生なのでスムースに移行できるんでしょうかね。また、プログラミング言語が英語主体なので大丈夫なのかな?日本語だと「なでしこ」のほうがスムースなのか、など実験してみないとわかりませんね。
今回の件について、わたしの回答は学ぶひとに対してより多くの選択肢、可能性を示すことができるであり、その実証のためには既にできるひとがコードを添えて実例を示せばいいでした。
あとは、よりたくさんのユーザーと会話できるために日本語と英語かな…
0コメント