X.18 When his lord gave him a gift of a live animal, he invariably reared it

君赐食,必正席先尝之。君赐腥,必熟而荐之。君赐生,必畜之侍食于君。君祭,先饭。– 论语,十:十三

When his lord gave a gift of cooked food, the first thing he invariably did was to taste it after having adjusted his mat. When his lord gave him a gift of uncooked food, he invariably cooked it and offered it to the ancestors. When his lord gave him a gift of a live animal, he invariably reared it. At the table of his lord, when his lord had made an offering before the meal he invariably started with the rice first. — Analects X.18 (Lau)

We must respect working systems. Working systems are living systems and have a life that should be respected. In these early years of software, being handed a living system is often being handed a legacy system. And legacy systems are off-putting to some of the technical senses. They offend our inner fashion designer with their unfashionableness. They offend our inner engineer with their inelegance, or our inner scientist with their reliance on a dead paradigm.

Or they might simply offend our inner creator, because an adopted system is not our system: we have fallen for the greenfield myth. There is no true greenfield in contemporary software, and that is a mark of our success. In Java: you started a new eclipse project for this; it depends on fifty other libraries. You wrote your own library set; they depend on Java standard libraries and the virtual machine. You wrote your own compiler or interpreter: they depend on the operating system. You wrote your own operating system: it depends on the hardware. (But you didn’t really write your own operating system, did you? Even Linus Torvalds needed the GNU toolset.)

And even if you doublethink the greenfield in your mind into existence, you make shiny new eclipse project a tabula rasa, you will leave your desk at the end of that first day. And on the second day, when you unlock the screen and return to your code, you will be doing software maintenance.

When your client, or your corporate lord gives you the gift of a live system, what is your response? The ceremony exists because the logic of the organisation brought it into being, and this is to be respected (恕). It will probably need to change, because to live is to change. Perhaps it needs to merge with some other system, or needs to do its function immediately instead of overnight. This is to the good. When your lord gives you a gift of a live animal, you invariably rear it.

Advertisements

3 thoughts on “X.18 When his lord gave him a gift of a live animal, he invariably reared it

  1. Rear it? More like chop a leg off here, clip an ear there, pull a tooth, etc :)

    Yeh we need to be more respectful of legacy systems. They are their own history of decisions and rationalizations that were perfectly logical and optimum at the time.

  2. : )

    This whole project – I’m thinking of it being an occassional series – will basically be an exercise in straining metaphors so hard that when they snap the whiplash either knocks you out or brings you to a new state of software consciousness.

  3. Pingback: VII.1 Reuse « Conflated Automatons

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s