車輪の再発明は不可能である。
いくら同じテストを通るプログラム、同じ作用を及ぼすプログラムであるからといっても、違う人が書いたら必ずどこかに個性がにじみ出るし、同じ人が書いたとしても違う瞬間に書いたらやはり同じ車輪にはなり得ないからである。
労働という行為の本質を見ればよくわかる。労働とは、自然の一部を自己に取り込み、自己の一部を自然に取り込ませる行為なのである。
田畑を耕すことで自分の一部が自然に入っていくのと同じように、プログラムという行為も、自然の一部を「切り取る」という人為を自然に加えることで、自然と自分を交換している。
(注:これ誰が言ってた言葉だっけ?マルクス?)
今日のコンピュータがなぜこのような形で成立しているのかを考えてみよう。どうしてMOV命令のオプコードが88,89,8A,…なのだろうか(種類多すぎ・・・めんどくさいなあ)。そこに必然性はない。歴史上のどこかの誰かの判断が違えば、今日のコンピュータの姿は全く違ったものになるだろう。このように無数に考えられる可能性から、たったひとつのパスを選ぶ行為は、自然に対し人為を加えることに他ならない。そして一度人為を加えた場合、それによってあなた自身と自然がアップデートされるわけだから、次に人為を加えた時は全く違う様相であるに違いない。例え表面的には同じ機能を持つプログラムを作ったとしても。
そもそも、相対主義っぽい観点で言えば、二つのプログラムが「同じ」であるかどうかを考えるのは、恣意的に同値群類を構成することだ。同じかどうかの価値基準は人によって違う。
そのような形で見れば、「あれは車輪の再発明だ」「これは車輪の再発明だ」などと言って人の作ったプログラムを無意味化することが全く持って無意味であるということがわかる。