見出し画像

【学び】「プログラム」って何だろう?

◇デジタルの分野は似たような言葉が多くて、ややこしいですね。たまに「ゲームのプログラムができるようになりたい」などと耳にします。これはたとえるなら「朝ごはんになりたい」と似た意味合いになってしまいます。食べられてしまいますよー!

「ゲームのプログラムがプログラミングできるようになりたい」、これが正解。

プログラムは「ドラゴンQエストのプログラム」のような名詞、プログラミングは「プログラムを作っていく作業を示す「動詞」だったのです。

◆お次は、最悪なことに、言葉(単語)の知識や意味をたくさん知っていても、外国語の会話がペラペラお気軽にできない点と、プログラムを作る作業こと、プログラミングが同じ状況だということ。
最低限、言葉を正しく示さないと「プログラミングしたぞ!」と叫ぼうとも、得体のしれないナニか(ファイル?)ができただけです。

カオス_イメージ画像

では、プログラムと呼べる物を作るには?

はい。ある程度の型や構文は決まっていて、かつ、人それぞれに正しく言葉(単語や指示)を入力したり並べたりと「プログラミングして」プログラムにしなければ、やっぱり得体のしれないモノができるだけ。未来永劫、プログラムと呼べるものは完成しません。

画像1

◇昔から耳のとがった異星人も言っています。「それは非論理的です」と。ええ、まさしく、プログラミングではご法度です。
論理的な思考力がプログラミング時に、必要となります。それら論理的な考えを元にして、目的や問題を「うまく処理し解決するものこそ」、プログラムです。そして、これらをカタチにしていく作業がプログラミング。おまけで、作る人(生き物)はプログラマと呼びます。

◆さて、先ほどプログラミングは人それぞれと書きました。さまざまな問題をうまく処理する方法(カッコよく”アルゴリズム”と呼びます)は、実は……そうです。そう、アルゴリズムはひとつとは限らないのです。

この問題でしたら、どうでしょう?
・1+2+3+……+99+100はいくつ? 

この問題を解くため、シンプルな考えの方は、数(値)を順番に足し算していくプログラミングをするでしょう。正解です。5050と、答えを計算するプログラムが作れます。ただ……!

画像2

スゴイ人(注:上のシルエットはスゴイ人ことカール・フリードリヒ・ガウス氏とは、おそらく違います)……が発見した”ガウスの計算法”ことアルゴリズム(解決への考え方でした)を知っていたら「101×50」とだけ、プログラミングで指示をすれば完了。わずかな処理でまったく同じ答えを導き出せます。

◆どちらも、プログラムとしては正解ですが、処理をやらされる機械的(?)には「1回の計算ですぐ処理できる方がカンタン」なうえ、効率アップ(動作が速いプログラムの完成)につながります。
いかに最適な方法や手順を考えるか、そう、論理的思考で挑むか、アルゴリズム勝負はプログラミングの「だいご味」といえます。

画像3

これらプログラミングに欠かせない事柄と知識、操作方法を体験し、スキルとして得ていきませんか?

(文責)米村貴裕


この記事が参加している募集

スキしてみて

最近の学び

お読みくださりありがとうござります。費用未払い「大手大型倒産」を受けて、創作活動の継続がかなり危機的です。助っ人いただけましたら幸いです。 みなさまに喜んで楽しんでいただける創出をつづけます! 朽ち果てるまで……