comp.lang.ada
 help / color / mirror / Atom feed
From: mbk@caffeine.engr.utk.edu (Matt Kennel)
Subject: Re: Software Engineering News Brief
Date: 1996/11/18
Date: 1996-11-18T00:00:00+00:00	[thread overview]
Message-ID: <56q5e3$ntv@gaia.ns.utk.edu> (raw)
In-Reply-To: dewar.848153733@merv


Robert Dewar (dewar@merv.cs.nyu.edu) wrote:
: Paul Eggert says

: "... which is why the next version of Ada should support Gregorian dates
: all the way back to at least the year 1, if not before.  Trying to
: match the historical introduction of the Gregorian calendar
: leads to severe politico-technical problems.  For an example of this
: see my May 1995 comp.risks article about Sybase's historically naive
: practice of arbitrarily rejecting Gregorian dates before 1753."

: That sounds silly to me. This is a highly specialized requirement that
: should be provided by auxiliary packages, not by the central package
: for dealing with near by dates that is primarily intended for use in
: control of time related processing (note that Calendar is still in the
: tasking chapter, even in the new RM.

: Also, Gregorian dates are quite tricky, because the change over in the
: calendar happened at different times in different parts of the world, so
: you need detailed geo-political localization for such processing. Again,
: much more suitable for some auxialiry package than for Calendar, which
: does not even have time zone support.

Let's stop complaining about the problem and start thinking about its
fundamentals correctly.   

There are indeed universal and uniform notions of "date", for example,
counting absolute days, defined perhaps as count of maximum solar altitude
over some fixed longitude.

This is a *solved* problem for astrophysical ephemerides.  

(You also have to decide whether you care about the extra 'apparent' angular
rotation from the orbit of Earth around Sun in addition to the spin rotation;
for human notions of 'date', the answer is "yes"). 

Ok, we now have absolute days, counting in integers.  I believe this is called
"Julian date". 

Quoting from 'Numerical Recipes in C', pg. 12, 

 Astronomers number each 24-hour period, starting and ending at noon, with a
 unique integer, the Julian Day Number.  Julian Day Zero was a very long time
 ago; a convenient reference point is that Julian Day 2440000 began at
 noon of May 23, 1968. 
 
Julian dates can be added and subtracted like natural integers.

Given this representation, the translation to MM/DD/YY is a *transformation
layer* (model vs. view)
depending on location, time, religion, nationality, et cetera. 

E.g. RussianAndSovietOrthodoxDateTranslator, WesternEuropeanDateTranslator,
     FrenchRevolutionDateTranslator, RomanEmpireDateTranslator


I wonder if this also addresses the question of whether "math or science" are
useful for computer programmers. 


--
Matthew B. Kennel/mbk@caffeine.engr.utk.edu/I do not speak for ORNL, DOE or UT
Oak Ridge National Laboratory/University of Tennessee, Knoxville, TN USA/ 




  parent reply	other threads:[~1996-11-18  0:00 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-11-05  0:00 Software Engineering News Brief tmoran
1996-11-05  0:00 ` Robert Dewar
1996-11-07  0:00   ` Stefan.Landherr
1996-11-11  0:00     ` Robert Dewar
1996-11-05  0:00 ` jimgregg
1996-11-06  0:00 ` Tom Reid
1996-11-07  0:00   ` Robert Dewar
1996-11-07  0:00   ` Norman H. Cohen
1996-11-08  0:00   ` Robert I. Eachus
1996-11-09  0:00     ` Paul Eggert
1996-11-11  0:00       ` Norman H. Cohen
1996-11-16  0:00       ` Robert Dewar
1996-11-17  0:00         ` Fergus Henderson
1996-11-17  0:00           ` Robert Dewar
1996-11-17  0:00             ` Larry J. Elmore
1996-11-17  0:00               ` Robert Dewar
1996-11-18  0:00                 ` Keith Thompson
1996-11-18  0:00               ` Larry Kilgallen
1996-11-18  0:00                 ` Robert Rodgers
1996-11-18  0:00               ` Norman H. Cohen
1996-11-19  0:00                 ` Frank Manning
1996-11-18  0:00             ` Mark A Biggar
1996-11-18  0:00             ` Dave Sparks
1996-11-24  0:00             ` Paul Eggert
1996-11-24  0:00               ` Robert Dewar
1996-11-25  0:00                 ` Paul Eggert
1996-11-18  0:00         ` Matt Kennel [this message]
1996-11-19  0:00           ` Martin Tom Brown
1996-11-19  0:00           ` Keith Thompson
1996-11-21  0:00   ` Robert I. Eachus
  -- strict thread matches above, loose matches on Subject: below --
1996-11-12  0:00 Marin David Condic, 561.796.8997, M/S 731-93
1996-11-09  0:00 tmoran
1996-11-09  0:00 ` Robert Dewar
1996-11-07  0:00 tmoran
1996-11-07  0:00 ` Robert Dewar
     [not found] <55t882$9m@news2.delphi.com>
1996-11-07  0:00 ` Robert Dewar
1996-11-01  0:00 Software Engineering News
1996-11-01  0:00 ` Adam Beneschan
1996-11-05  0:00 ` David Bradley
1996-11-05  0:00   ` Larry Kilgallen
1996-11-05  0:00     ` Steve Jones - JON
1996-11-06  0:00   ` Ed Falis
1996-11-06  0:00 ` John Cosby
     [not found] ` <55rmsc$2ee$1@shade.twinsun.com>
1996-11-07  0:00   ` caip.rutgers.edu!halasz
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox