2009/2/24 Abigail <abig...@abigail.be>:
> On Sat, Feb 21, 2009 at 04:00:28PM -0600, Craig A. Berry wrote:
>>
>> That's better than failing in 2038, but if you were doing calculations
>> for a 99-year lease you'd already be in trouble today.
>
> That's a doubtful statement. Leases typically have an end *date*, not
> an end *second*.

Hmm, id have thought that typically leases have a start date and a
duration, or a start date and an exclusive end date. (IOW they start
on a day and go for N months(1), or they start on a date and specify
the first date that is not included in the lease). Im very doubtful
that its common to specify an end *date*.

<rant>

That is because, IMO, lawyers, through hard bitten collective
professional experience, have a clue about how to represent date
ranges, unlike in my experience 99% of the computer programmers out
there. Programmers seem to do [$from,to] intervals, and when they get
near a database they tend to use NULL for "open end dates". Which is
about the worst possible date range representation I can imagine
without deliberately dreaming up something totally insane(2)

Using a "far fetched" date to represent open intervals, and using
half-open intervals like [$from,$to) or ($from,$to]  is far far
preferable, with start/duration being the second choice.

</rant>

Hmm, actually i guess this should have been a hate-software post. Or
maybe a hates-software-developers post. :-)

Cheers
yves
(1) Or in the UK not all that long ago, in lifetimes. :-)
(2) Which makes it all the sadder that the SQL "between" operator
assumes closed intervals, and that programmers are encouraged to check
dates with it. Sigh.

-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

Reply via email to