都市とコード
都市を守る風水は東西南北の方角に象徴を見立て、手続きを貫徹することで災いを防衛すると言います。東京にも風水の見立てがあります。東の青龍は河川を象徴し、隅田川があります。西の白虎は街道を象徴し、東海道があります。北の玄武は山を象徴し、駿河台があります。南の朱雀は海を象徴し、東京湾があります。 北東は鬼門、艮(うしとら)であり、災いが降って来る方角です。上野の東照宮か浅草の浅草寺が、江戸幕府がここに置いた防衛装置と言われています。あるいはどちらもダミーで、打った呪いを打ち返す役目があったという、嘘か本当か分からない説もあります。闇には闇にふさわしい伝説があります。 街を漠然と歩いているだけでは見えない闇の世界です。
なぜこんな話を持ち出したかと言うと、ソースコードを読むという行為は都市を歩く行為に似ているからです。コードに馴染みの無い人は、コードと言うのは理路整然と明確な指針の元に、迷い無く書かれているのだろう、と思うかもしれません。ソフトウェア産業がもっと成熟するか、あるいはKnuth先生ならそうかもしれません。残念ながら、普通のコードは、個人のさして根拠の無い思い込みや、非常に限定された経験から得た知見の元に書かれた、人工的で場当たり的な行為の蓄積です。完璧に設計された計画都市とはほど遠い、闇の上に闇を糊塗していくような世界があります。ここを読む人の多くは(ぼくも含めて)、風水なんて下らない、と思うかもしれません。しかし、コードにも風水と同じぐらいくだらない手続きがしばしば打たれています。手続きを読み取れなければ、手痛く打ち返されます。コードを読むという行為は、こういう極度に人工的な手続きの集積の意図を読み取る行為です。
codeblog(https://www.codeblog.org/)はそんな世界をかいま見せる場所です。場当たり的な行為と言いましたが、風水にも理(ことわり)があるように、コードにも全て(書いた本人と時代背景に基づく)理があります。漠然と街を歩いても見えない理があるように、コードにも見えない理があります。codeblogにいる人達(https://www.codeblog.org/a/)はたぶんこの理の一端を見せてくれるでしょう。闇を無くしても、鬼(バグ)はいなくなりませんが、理を読み取れれば倒し方が分かるかもしれません。
コードを読む行為は実に地味な作業です。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/city-and-code/tbping