子供に「プログラミングって何?」と聞かれたときの答え

「プログラミング」って何?

2020年より小学生で必修化されたプログラミングですが、算数や国語と違って教えられる気がしない。。。

なんてこと思っていませんか?

テル
テル

「プログラミングって何?」って子供に聞かれたけど答えられん。。。

ひらめ
ひらめ

プログラミングというのは、コンピュータに対する命令なんだよ。スマホとかの機会を制御したり、アプリを作ったり出来るんだよ

テル
テル

いやいやっ、もっと具体的に教えてくれよ

(何を話しているか分からん、、、。)

プログラミングを知っている人からすると分かっていることかも知れないけど、知らない人からすると全然イメージがつきません。

なお
なお

そもそも、プログラミングって何?

ひらめ
ひらめ

専門用語なしで説明するよ

プログラミングとは、コンピュータが動作するための「マニュアル」

この記事では、プログラミングについて説明します。

できるだけ、専門用語なしで初心者にも分かりやすく説明しているので安心して読み進めてください。

プログラミングとは

プログラミングとは、コンピュータに対して、思い通りに動いてもらうように指示を与える行為です。

コンピュータープログラミング(英語: Computer Programming)とは、ある特定のコンピューティングの結果を得ることを目的として、実行可能なコンピュータープログラムを設計・構築するプロセスのことである。

引用:Wikioedia
テル
テル

いやいやっ。だから、良く分からんて

ひらめ
ひらめ

だよね、、、。

簡単に言うと

コンピュータが処理を行う順番を決めてあげるのがプログラミング

コンピュータって何でもできるイメージだけど、指示がないと何もしません。ただ、指示を出されたことは文句も言わず、完璧にこなします。

コンピュータは偉大なるバカ

コンピュータは人間と違い、判断ができません。究極のマニュアル人間(人間じゃないけど)です。

指示を出されたことしか、やりません

プログラミングを書くことでコンピュータに対して「こうして欲しい」と言うことを正確に伝えることができます。

(プログラミング言語を使って)「コンピュータにやって欲しいことを伝える行動がプログラミング」です。

コンピュータが分かる言葉(プログラミング言語)については別記事でまとめますが、ここで知って欲しいのは、プログラムとは、コンピュータに対する指示書だと言うことです。

指示書を作成するのがプログラミング

コンピュータは指示がないと何もできない(何もしない)ので、いちいち「やって欲しいこと」を順番通りに書いていく必要があります。

何をして、次に何をして・・・。

なお
なお

料理をするときの「レシピ」みたいなものね

ひらめ
ひらめ

そうだね。「レシピ」だったり、仕事をするときの「マニュアル」みたいなものがプログラミングだよ。

コンピュータが何かをする(実行する)ときに、その順番が書いてあるのが「プログラム(指示書)」で、そのプログラムを作ることをプログラミングと呼びます。

プログラミングとは、簡単に説明すると次のように説明できます。

プログラミングとは、コンピュータのためのマニュアル。何(処理)をどんな順番で行うのかを書くための行為

なので、「プログラミング」は魔法でも何でもありません。

何でもできるイメージのあるコンピュータですが、指示がないと何もできない究極の「マニュアル人間」です。

ただコンピュータは人間の思考速度と比べ物にならないくらいのスピードで処理をしてくれます。

コンピュータという超高速で処理を実行できる道具に、どう動いてもらうかを正確に指示を出すことがプログラミングです。

テル
テル

バカなコンピュータに「やること」を決めてあげるのがプログラミングか。

ひらめ
ひらめ

イメージが湧きにくいよね。

なお
なお

なんとなくしか、イメージがつかないよ。

ひらめ
ひらめ

もうちょっと具体的に例をあげて説明するよ。

何をどの順番で行うか

普段使っているスマホでもPCでも、膨大なプログラムが動いています。

例えば、自動販売機を例に考えてみましょう。

自動販売機でジュースを買うときを思い浮かべてみてください。

お金を入れて、好きなジュースのボタンを押すとジュースが購入できますよね。

テル
テル

お金を入れて、ボタンを押すだけじゃん

単純にお金をもらって、ジュースを出すだけですが、自動販売機の中ではプログラミングが実行されています

ちょっと簡単にプログラミングしてみると

自動販売機のプログラム(簡易版)
  • STEP1
    お金が足りているか判断して!!

    選ばれた商品と入れられたお金を比較して

  • STEP2
    足りていなかったら何もしなくて良し

    お金が足りないので商品は出さないでね

  • STEP3
    足りていたら、商品を出して!!

    選ばれた商品を出してね

  • STEP4
    お釣りがあったら返して!!

    入れられたお金と商品の金額の差額を返してね

僕は自動販売機のプログラミングをしたことがないので、本当はもっと色々と行っているのかもしれませんが、単純に考えるだけでも、これだけのプログラミングが裏で動いています。

コレってコンピュータ(自動販売機)が行っていますが、初めて店番をする人に教える手順も似たような「マニュアル」を作るか、口頭で伝えますよね?

ひらめ
ひらめ

本当は、もっと色々とあると思うけど、お金をもらってジュースを渡すだけでも、コンピュータは『プログラム』がないと出来ないんだよ。

テル
テル

そんなのマニュアル(プログラム)がなくても、なんとなく出来るじゃん?

ひらめ
ひらめ

君はコンピュータより賢いんだよ!!

何も知らない、例えば、幼稚園児(出来るかはともかく)に何かを頼もうと思ったら、一から教えないと出来ませんよね?

お金の概念もない子供に「ジュースを売って!!」と言っても何をすれば良いのか分かりません。

なので「お金をもらうんだよ」「お金は足りてる?」「ジュースを渡すんだよ」「お釣りはある?」なんて、いちいち教える必要がありますよね。

それが「マニュアル」であり、プログラムです。

決まったことをするのは得意

コンピュータは決められ通りに実行することは得意です。と言うか、決められたことしかしません。

指示(プログラミング)された以外のことは絶対にしません。

一度、プログラミングをすると同じことを飽きもせず、文句も言わず、正確に行います。

なのでコンピュータにしっかり仕事を任せるためには、何をどうするかを全てプログラミングする必要があります

コンピュータが判断しているように見えても、判断の基準も全てプログラミングされています。

テル
テル

簡単な判断も、全て指示するの?

ひらめ
ひらめ

基本的には『全て』プログラミングする必要があるんだよ

テル
テル

思っている以上にコンピュータってバカだなっ

なお
なお

何から何まで指示(プログラミング)をする必要があるんだね

ひらめ
ひらめ

それが、プログラミングの楽しさであり、難しさでもあるんだよ

子供に「プログラミング」を聞かれたら

子供に「プログラミングって何?」と聞かれたら、次のことをかみ砕いて説明してあげてください。

プログラミングとは、コンピュータのためのマニュアル。何(処理)をどんな順番で行うのかを書くための行為

どうしてかと言うと

コンピュータは言われたこと(プログラミングされたこと)しか、できないから

正確なプログラミングができるとコンピュータは、人間より正確に早く処理をしてくれます。

ではでは。

コメント

タイトルとURLをコピーしました