ソースコードは符号でなくて規則なのではないか

前回ソースコードは符号でなくて織物なのだからソーステキスタイルとでも呼ぶべきと書きました。

codeには符号以外の意味もあります。ドレスコードのcode、つまり規則です。

規則という意味であれば、ソースコードという呼び方も私にはしっくりきます。

なぜなら、現代ではコードが組織や社会の有り様・プロセスを規定してるからです。業務システムなどわかりやすい例ではないでしょうか。以前は、明文化されて規則や暗黙のルールで業務プロセスが決まっていましたが、現在では情報システムに人間は従わなければなりません。コードで規定された枠からはみ出た作業はできないようにできています。つまり、プログラムというのは一種の規則なのです。

近い将来、コードは法律に近いものになるのではないでしょうか。

実際、法律はコードと似ています。昔は簡素でザルだった法も歴史を得て修正と拡大を繰り返して複雑で入り組んだものになっています。法律にもバグはあります。法の穴と呼ばれるものは、セキュリティホールのようなものです。また、関連法規が膨大で直せない法律は、いわゆるスパゲッティコードです。憲法はOSや言語ですね。

法律もコードも利用する人・運用する人・保守する人・作る人がいます。後ろになるほどエリートの仕事です。法律を読める人間は相当なエリート層ですが、書ける人は超エリートだけです。公文書を書くというのは昔から特殊能力でしたが、法は公文書の王様です。てにをはの1字で意味が全く変わる恐ろしく緻密な文章です。

社会的影響力の大きいコードは、法律のように大切であってもいいと思う。当然書ける人も大切にしなければならない。ただ文章は小学生でも書けるが、法文は極一部の人しか書けない。小学生の作文のようなコードしか書けない人もいれば、契約書のような厳密なコードを書ける人もいる。当然、区別しなければならない。まして、コードを読めない人間と同列であっていいはずがない。私はそこまで書けない方だから、書ける人はもっと尊敬されてもいいのではないかと思うのだ。

法律の歴史は長いから、あと200年以上は法律が世の中を規定するものであると思うが、300年後はコードが世の中を規定していても不思議ではない。未来の文官はプログラマなのではないだろうか。まあ、その頃のプログラミング言語は、法律や特許の文章のような、独特の文体の自然言語のようになっているだろうけど。