オリジナル
■コードは作品
書いている人はそう思うかどうか分らないが、プログラマの書いたコードを作品と呼びたい。優れた建築家の設計した建物が、歴史を経て文化遺産になる。また、芸術的な価値を見出されることがある。工芸品も同じだ。そればただのプロダクトではなくあくまで"作品"として扱われる。
最近、書店でリファクタいリングの本を読んでいた。コード一つ書くにしても、そこにさまざまな思い入れ、高度な理論や技が練りこまれている。それはもう、ただの文字の羅列ではない。多くの人たちの技が練りこまれた"作品"として扱ってもいいと思えた。
美術品や建造物、工業製品にいたるまで、それぞれが色々な形で魂が込められているのだ。私はそう思っている。
■デジタルに魂は宿るか
絵画では必ず原版というのがある。版画であればシリアルナンバー、写真であればネガがある。そこにオリジナルが存在する。ここに作者の手が触れた痕跡が記される。もし作品に魂が宿るとしたら、このオリジナルに宿るだろう。
しかし、デジタル情報にはオリジナルという価値は存在しない。記憶媒体に記された1と0の信号だけだ。そこから作者の息吹を感じることは難しい。エディタで内容を見ても、ダイレクトに心を揺さぶられることは無い。
そして、デジタルはデータをコピーしてしまえば、オリジナルと寸分たがわぬものが出来上がってしまう。そこに魂を込めようとしても、底の抜けたバケツに水を注ぎ込むような・・・、そういう感覚を覚える。そういう理由で、コードに込められた魂を感じ取ろうとする人は少ない。
■魂は語り継がれる
美術品はそこにありて初めて価値がある。しかしそれだけではない。あったという事実だけでも価値はあると思う。例えば、ここに非常に優れた歴史的建造物があったとする。火事で焼けてしまったとしても、そこにあった。という事実があるだけで一つの価値として成り立つ。そして、人の心に残り続ける。
ソフトウェアのコードも、バージョンアップで前面刷新されたとしても、次のバージョンに受け継がれる技がある。プログラマ達の流した汗や苦悩、そういう痕跡は形を変えて受け継がれていく。機械的な言葉の羅列でも、込められているものは大きい。
物は消えても受け継がれる事実がある。コードはリニューアルされても受け継がれる技がある。器は消えても、中身は消えない。残るのは言葉と記憶だ。そこに真価は受け継がれ、進化していくのだろう。魂は物に残るだけじゃない。語り継がれることで残るのだ。それはコードに込められた魂も同じなのだろう。
■込められているものを読み取ろう
コードの価値は何で決まるのだろうか。もちろん、きちんと動くことに最大の価値はある。しかしそれだけではない。コードに込められた哲学と技がある。それがコードに込められる魂だと考える。
レガシーなコードにも価値はある。古いソースコードを読み直すことで、自分たちの忘れていた哲学や技を再確認できるかもしれない。古い文学作品では、今では通じなくなった価値観や考え方が綴られていることがある。それでいてなお、人々の心を動かし続ける。本当に良いコードには、普遍的に通じる理論や技、哲学が込められているのかもしれない。
誰かの書いたコード。そこは確実に魂が込められている。それが劣っているものであっても、優れているものであっても変わらない。人の書いたコードを読む機会があれば、尊厳をもって読んでいきたい。
コメント
仲澤@失業者
「こんなんでも当時はまぁまぁイケてたんだよね・・・」
昔作ったアプリをたま~に動かしてみると、
当時の記憶が懐かしくよみがえってきます(笑)。
自分の場合、作品といえるのはこっちかもしれません。
一方、そのコードを読むと
「何やってんだ>>自分」
と、突っ込みをいれずには読めません(vv;)。
残念ながら自分のコードには魂ではなく亡霊が入っているのかもしれません。
過去に戻って、後ろからどつきたい気分です。
10分前のとなりのやつのコードだったら多分やってるでしょう(笑)。