プログラムの本質は、if文である

重要だと思ってるので、もう一度いいます。

プログラムの本質は、if文である。

※本記事の内容は、青二才の戯言です。真に受けないように注意してください。

Contents

プログラムとは

そもそも、プログラムとは、、?

コンピュータプログラム(英語: computer program)は、コンピュータに対する命令(処理)を記述したものである。プログラム内蔵方式のコンピュータのCPUには、CPUで実行するプログラムの命令が必要である。

https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)

らしいです。

私なりの言葉に変換すると、やはり、こうなります。

プログラムとは、if文からなる処理のカタマリである。

つまり、「if文とはなんぞや?」を理解すれば、「プログラムとはなんぞや?」を理解できると思ってます。

if文とは

じゃあ、if文とは、、?

if文(イフぶん)は、プログラミング言語において、真理値に従って「もしXならば、Yせよ、さもなくばZせよ」というような条件実行の「文 (プログラミング) 」で、制御構造のひとつである。if else文と呼ばれることもある。

https://ja.wikipedia.org/wiki/If%E6%96%87

らしいです。

私なりの言葉に変換すると、こうです。

if文とは、「YESかNOのどちらかで答えられる問い」である。

例えば、「あなたはAB型ですか?」や「あなたは宇宙人ですか?」や「あなたはカレーですか?」などの問いは、if文と解釈できます。

これで「if文とはなんぞや?」が理解できたかと思います。

つまり、あなたはもう、プログラムを理解しました。

なぜなら、

プログラムの本質は、if文である。

からです。

記号化

if文とは、YESかNOで答えられる問いである、と説明しました。

これをもっと直感的に理解したい、という欲求が、人間様にはありました。

その欲求に答えるために、人間様は、次のような図を考えました。

「YESの場合は下へ」、「NOの場合は右へ」という分岐を表現した記号です。

人間様は、なんと、この記号だけでは飽き足らず、「YESの場合は何をする?」「NOの場合は何をする?」かを考えたがりました。

そうすると、次のような記号が完成しました。

「あなたがカレーの場合は、食べられてしまい」、「あなたがカレーでない場合は、食べられない」ということです(ちなみに、あなたはカレーですか?)。

これにより、人間様は、記号を使って(if文を使って)プログラムを考えることが出来るようになりました。

(このような図を、人間様はフローチャートと名付け、そのような処理の集合体をアルゴリズムと呼ぶようになりました)

(後に、「下へ伸びる処理を正常系」、「右に伸びる処理を異常系」と呼ぶようになりました)

(このような分岐がたくさんあると、たくさんの道筋ができます。まるで迷路のようです。そして、人間様は、全ての道筋を通りたがりました。これを人間様は、網羅率と呼ぶようになり、網羅率100%を目指しだしました)

繰り返しますが、本質はたったこれだけです。

プログラムの本質は、if文である。

予想される反論

「いやいや、繰り返し処理とかあるじゃん」と言う反論があるかと思います。

例えば、for文やwhile文などです。

しかし、繰り返し処理も結局の所、「条件を満たすか、条件を満たさないか」の「YESかNOか」で表現できます。

つまり、繰り返し処理も、if文の解釈に含まれるのです。

「いやいや、オブジェクト指向とかあるじゃん」と言う反論があるかと思います。

しかし、それらも結局のところ、「if文を基礎とした処理のカタマリ(アルゴリズム)」を、人間様にとって都合の良いように解釈しているだけです。

なので、やはり、こうなります。

プログラムの本質は、if文である。

最後に

このように、「YESかNOか」だけに注目したもの(より正確には離散的な値に注目したもの)を、人間様は「デジタル」と呼ぶようになりました。

そして、人間様は、あらゆるものをデジタル化したがりました。

今や、「デジタル社会」という言葉が普及しているようです。

本記事に則ってこれらを考えると、「人間様は、YESかNOかで世界を構築しようとしている」ということになりますね。

なんと単純な世界でしょう。

では、デジタル上に生きる人間様は、もはや、機械そのものではないでしょうか?

人間様は、機械様になりたいようです。

(しかし、今は量子ビットという、0〜1の間を連続的にとらえるものが発展してきています。これを人間様は、量子コンピュータと呼びました)

※前置きしましたが、本記事は、単なる青二才の戯言です。

真に受けないように注意してください。