「プログラム」って何だろう?

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

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

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

◆お次は、最悪なことに、言葉(単語)の知識や意味をたくさん知っていても、外国語の会話がペラペラお気軽にできない点と、プログラムを作る作業こと、プログラミングが同じ状況だということ。

最低限、言葉を正しく示さないと「プログラミングしたぞ!」と叫ぼうとも、得体のしれないナニか(ファイル?)ができただけです。

カオス_イメージ画像.jpg

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

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

未来永劫、プログラムと呼べるものは完成しません。
alien.jpg

◇昔から耳のとがった異星人も言っています。「それは非論理的です」と。ええ、まさしく、プログラミングではご法度です。

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

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

この問題でしたら、どうでしょう?

・1+2+3+……+99+100はいくつ?

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

Einstein2.jpg

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

◆どちらも、プログラムとしては正解ですが、処理をやらされる機械的(?)には「1回の計算ですぐ処理できる方がカンタン」なうえ、効率アップ(動作が速いプログラムの完成)につながります。

いかに最適な方法や手順を考えるか、そう、論理的思考で挑むか、アルゴリズム勝負はプログラミングの「だいご味」といえます。

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




文責:米村貴裕
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す