興味深い

Geekなぺーじ:ソフトウェアとはガーデニングである
ガーデニングとソフトウェアとの類似性について、興味深いお話。きっと二つの間の共通点っていうのは「空間」の管理っていう事なんだと思う。ガーデニングは、「庭」を空間として、そこをどんな構造で、何で満たしていくか、満たした後その空間をどう維持し、季節に応じて変えていくかという事。ソフトウェアの場合、空間は「メモリ」とも言えるけど、「コード」と捕らえたらいいのかな。コード自体は保守を前提とした適切に分割された構造を持ち、保守によって維持され、必要に応じて機能の改廃を行っていく。単なる空間だけじゃなく、時系列の軸も加えて時間の経過を計画として持っているってことが、大切なのかも。
ソフトウェアは生ものなので、「一年後にはコレを実装して、コレは廃止しよう。」というのは難しいけど、ガーデニングは「来年花を咲かせるために、今、この枝を切ろう。」という判断が入っていく。タイムスケールが違いすぎるってのもあるけど、ソフトウェアはこーゆー部分がまだまだ未熟なんだな。まあ、若い技術だからしょうがないといえばしょうがないし、そこが魅力でもあるんだけど。