支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


なぜプログラムを使う?

現在機械を作る場合プログラムを組み込むことが普通になっています。そのため、なぜプログラムを組み込むのかを考える機会は意識しなければほとんどありません。機械を作る(使う)からプログラムを作るという流れ作業で捉えるのではなく、『どうしてプログラムを使うのか?』という、使う意味について記述します。

プログラムは機械を制御できるようにするもの

そもそも機械は、元を辿ればプログラム制御ができない時代から存在していました。もっと遡れば、電気を使わずに動く機械も存在します。つまり理論上は機械を使うのにプログラムは必須ではないと言えます。機械は元々、それぞれの連鎖反応を効率よく配置することで人間の望む効果を実現するものです。アナログ的なスイッチであれば電気を通す・通さないの機構を、物理的な通電・遮断によって実現させています。単一的な動作のみを望む場合は現代においても、必ずしもプログラムを使う意味は無いと言えます。ではなぜプログラムを使うかですが、機械にプログラムを組み込むことで『機械を制御』できるメリットが生じるためです。制御は機械の動作を止める・動かすという小さな範囲のことだけでなく、より大きなことを実現します。

プログラム制御によって大きく2つのことが可能になっています。まず一つ目は機械のデジタル制御です。すぐに目につく部分としては電源などのスイッチがあります。スイッチはアナログでも実現できますが実現するための機構が大きくなりがちです。かつ単一の動作しかできません。つまり効率面から見た場合アナログ制御は無駄が多くなりがちだと言えます。基本的にはデジタル制御にしてアナログ制御個所をピンポイントにすることで効率を上げることができます。スイッチをデジタル化した場合コンパクトにすることができます。また様々なスイッチを一か所に集めることもできるため利便性を上げることができます。このようにデジタル制御ができるだけで、大きさから利便性まで、機械に大きく影響を与えることができます。この結果、機械を扱う場合の難易度をぐっと下げることができます。人間が扱いやすい機械を作りやすくなることがプログラムの持つ意味の一つと言えます

またプログラム制御ができるようになったことではじめて実現可能になったものもあります。それがパソコンなどをはじめとするコンピュータ機器です。これらはプログラム制御が前提となっているため切り離すことができません。つまりコンピュータ機器を実現させることがプログラムの持つ意味とも言えます。手軽に行えるプログラミングは、ここでいうプログラム制御より上位で行われるため、厳密には別物になります。ですがプログラムの持つ意味を考える上では抑えておくべきものと言えます。プログラムによる制御は何層も積み重ねることにより実現されています。機械全体をプログラムによって制御することによって、それより上位のプログラムが動く場所を用意できるようになります。コンピュータ等、精密になればなるほどプログラムの階層構造が重要になっていきます。

プログラムを使う意味とは

なぜプログラムを用いて機械をより便利にするのか、という視点を切り口にすると答えがでやすくなります。全ては最終的に人間が楽をすることに帰結します。ここを抑えておくことで良いプログラムを書きやすくなると言えます。プログラムを使うことにより機械を自動化させることができます。自動化の範囲は状況に応じて変わります。プログラムで機械全体を制御する場合もありますし、スイッチ制御など局所的に使われることもあります。そのどれも人間が楽をするために使われているという共通点があります。この考え方はプログラムを作成する場合にも利用することができます。人間に取って都合のいい、利用しやすいプログラムの書き方が良い書き方の一つであるといえます。一昔前と違いコンピュータの性能が上がっているため、よほど効率の悪い書き方をしない限り影響が少ないケースが増えました。マシン負荷の少ない効率の良い書き方は大事ですが、それによって人間が著しく理解が難しくなる場合、必ずしも良い書き方とは言えません。どちらが良いかという判断基準の一つとして、プログラムを使う意味である『人間が楽をする』という考え方が使えます。人間が分かりやすく、かつ効率の良い内容を心がけるのが良いプログラムの一種と言えます。

まとめ

プログラムを使う意味は、どのようなプログラムでも機械をより便利に扱うことに帰結します。スムーズに機械を扱えることがプログラムに求められていることと言えます。プログラム自体にも同じことが言えます。プログラムの中身が分かりやすいほうが扱いやすいプログラムと言えます。プログラムの性能はもちろん大事なことですが、見通しの良さとバランスが取れていないと扱いにくくなってしまいます。人間視点で見た時に便利なプログラムだと判断できるバランスでプログラムを作成することが大切です。