かつげんの拠り所

1992年生のしがない福祉系地方公務員のブログ

プログラミングの考え方を法令に適用すること

この疑問は、私も以前から考えていたことだ。

プログラミングは、コンピュータに対して「こう動いてくれ」という命令と言ってよいだろう。しかし、その命令を受けるコンピュータ側もプログラミングで出来ている。つまり、命令自体もその命令の受け手も、共通のプログラミングで出来ている。そうであれば、その共通のプログラミングはどのようにして出来ているのだろうか。

調べてみると、プログラムも結局は2進数によって出来ていることが分かる。0と1で出来る文字列の塊をグループ分けして、そのグループに我々が言葉を割り振ることによって、高度なプログラミング言語ができる。結局はモールス信号と同じだ。しかし、そうだとしてもコンピュータは2進数をどのように受け取り、どのように処理するのだろうか。

ところで、人間に対する命令と言っても良いであろう法令は、プログラミングと同じく「コード」と呼ばれる。しかし人間のそれは、コンピュータにおけるプログラミングとは状況が異なっている。というのも、人間社会における法令は、命令自体は、プログラミングと同様の「言語」であるが、その出し手や受け手は人間である。出し手や受け手が人間だと、解釈に幅が生じるし、歴史や慣習もある。そもそも法令自体が、歴史や慣習を明文化したというものも多い。つまり、言語は後から出現したのであって、最初は明文化されていない慣習法があったはずである。

しかし、コンピュータの場合、解釈はないし、歴史も慣習もない。ただ言語があるだけだ。このような場合、言葉の意味を受け取ることはできるのだろうか。解釈なしに意味など分かるだろうか。

ここまで考えてきたように、ブログラミングも法令も同じく「コード」と呼ぶものの、内実はかなり違うような気がする。そもそも「プログラミング『言語』」とは言うが、プログラミングの原型が2進数であることを考えるなら、コンピュータのやっていることは言語の表出ではなくて、計算結果の表出なのではないかと思う。それを同じく「言語」と言ってしまうからややこしいのだ。

そうすると、法令をプログラミング的に考えて改良する試みについて、有益なこともあるだろうが、法令がプログラミングに取って代わられることはないのだろう。