Daylight Stealing Time
- Inline agents
It's that time of the year again when the government, in their infinite lack of wisdom, try to force lazy people to get up an hour earlier in order to enjoy the undoubted pleasures of an early spring morning. Of course, the effect is just the opposite.
Because the train for London will now leave an hour earlier, I have one hour less of daylight to take a short walk along the river (no time at all to nip into the woods to hear the birdsong - fortunately I was treated to the sweet piping of a Blackbird (Turdus Merula - I know not what an American Blackbird sounds like) while I lay in bed, waiting for the sun to obey the government's instructions, and get up an hour earlier).
Alas, this sort of madness invades the Eiffel world too. My introduction to computing involved writing a program (in ALGOL 68) on a coding form, and waiting for a day to receive the punch cards back (actually, what I got back was a list of errors in my code).
Then, marvel of marvels, online terminals meant we could write our programs and compile them straight away - alas the errors still appeared.
Then came the clipboard and the joys of cut-and-paste. These joys quickly (it took about 2 weeks) turned to sorrows. I would say that the whole history of objected-oriented programming can be seen as inventing ways to avoid the nightmare of cut-and-paste maintenance.
And yet inline agents, when used in pre-conditions, force us to do exactly that. Remember that a client is required to check (or assure) that a pre-condition holds. But this is impossible with an inline agent (even assuming that ECMA were corrected to disallow the inline agent from calling a secret feature).
I think the term is Spring madness (though I haven't seen any March Hares yet).