Software is under a constant tension. Being symbolic it is arbitrarily perfectible; but also it is arbitrarily changeable.
When I got tired, I slept. When I got hungry, I ate. When I had to go, you know, I went.