【すっきり解説】プログラムってなに?~プログラミング目線で語る新解釈

what-is-a-program

プログラミングを学ぶとき、誰しもがいちばん最初に思いつく疑問。

新人くん

プログラムって、なに?

一般的には「一連の手順」などと言われます。ただプログラマーとしては、この説明は本質とは思えない

プログラミングの立場から、プログラムとは何か?の解釈を新たにしてみます。

目次

「プログラムとは」の一般論

ChatGPTに聞いてみよう

分からないことは、今の時代、ChatGPTに聞くのがてっとり早い。聞いてみましょう。

ChatGPT回答

プログラムとは何か?

プログラムは、コンピュータに対して実行を指示するための一連の命令や手順の集合です。プログラムは、ソフトウェアの基本的な構成要素であり、コンピュータが特定のタスクを実行するための手順を示すものです。

プログラムとは、コンピュータに対する一連の命令や手順の集合

間違ってはいない。

間違ってはいないけど…

新人くん

コンピュータに命令する、のは分かったけど…

新人くん

じゃあプログラムって、いったいなんの役に立つの?

これがピンとこない。プログラムって、いったいなにしてるんだ

「役に立つ」とはなにか考える

基本に立ち戻り考える。「役に立つ」とはどういうことなのだろう?

役に立つとは「アウトプット」があること

人で考えてみる。「役に立つ人」とはなにか?たぶん、お願いしたことをやってくれる人でしょう。

役に立つ人とは
リーダーさん

この資料の内容を、プレゼンシートにまとめて

できるくん

プレゼンシート作成…

できるくん

プレゼンシートできました!

これでプレゼンシートを作ってくれたなら、「役に立つ人」でしょう。役に立つとは「アウトプットがある」こと。

「アウトプット」のためには「インプット」が必要

プレゼンシートをつくるときも、依頼した資料の内容を無視されると。困ります。つまりなにかをお願いするときは、お願い内容という「インプット」が必要になります。

役に立つ人=「インプットからアウトプットを創り出せる」人

ここから言えること。「役に立つ」とは、インプットからアウトプットを創り出せることをいう。

「資料内容」というインプットから、その内容を解釈してプレゼンシートを作成する。そしてプレゼンシートというアウトプットを出す。これで「役に立つ」と言えるでしょう。

役に立つプログラムとは?

インプットからアウトプットを創り出すことができれば、「役に立つ」。

同じように、「役に立つプログラム」は、インプットからアウトプットを創り出すことができる。

プログラムにおける「インプット」と「アウトプット」

では、プログラムにおけるインプットとアウトプットとは、なにか?

プログラムにおけるインプットとアウトプットには、以下のようなものがあります。

プログラムにおける「インプット」
  • ユーザー入力 キーボート操作やマウス操作
  • 外部受信 ネットワークでの受信、カメラからの受信
  • 他プログラム入力 他プログラムからの起動パラメータ、他プログラムからのメッセージ
プログラムにおける「アウトプット」
  • ディスプレイ出力 文字やグラフィックの表示
  • サウンド出力 音楽や効果音
  • 外部送信 ネットワークへの送信
  • 他プログラム出力 他プログラムを起動するパラメータ、他プログラムへのメッセージ

ユーザー入力、ディスプレイ出力、あたりは分かりやすい。実際に目に見えるもの。

外部受信や外部送信も、イメージはしやすい。いまどきのプログラムはインターネットで通信しながら動いている。

他プログラム入力/出力は、ちょっとイメージしにくいかも。

プログラムは、他のプログラムと協調して動いていることが多い。そのプログラム間でやり取りするデータも、インプットでありアウトプットである、ということ。

ゲームプログラムの例

例えば、マルチプレイヤーの対戦ゲームのプログラムだとしたら、インプットとアウトプットは以下の通り。

マルチプレイヤー対戦ゲームプログラム

インプット

  • ユーザー入力 コントローラ操作
  • 外部受信 インターネットから受信する他キャラクター動作
  • 他プログラム入力 ゲーム本体プログラムからの入力(例えば本体でのスリープ操作など)

アウトプット

  • ディスプレイ表示 自キャラクターや他キャラクター、フィールドなどの表示
  • 外部送信 自キャラクタの動作をインターネットで送信
  • 他プログラム出力 操作状態をゲーム本体プログラムに通知

ゲームプログラムは、インプットに対し、何かしらの処理を行い、アウトプットを創り出している。ということになる。

プログラムとは「インプットからアウトプットに変換する手順」

冒頭で、プログラムとはコンピュータに対する一連の命令や手順の集合のこと。と述べました。いままでの話から、もう少し補足しましょう。

プログラムとは?

コンピュータに対し「インプットからアウトプットを創り出すための命令や手順」一連を示したもの。

そしてその手順を、プログラミング言語を使ってコンピュータに示すわけです。

プログラムの設計とはすなわち、なにをインプットするとなにをアウトプットするか、を考えること。これが重要です。

プログラム設計については、以下も参考にしてください。

プログラム設計の参考
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次