Default value for date/time (original) (raw)
Stephen Colebourne scolebourne at joda.org
Wed May 9 07:01:06 UTC 2018
- Previous message (by thread): Default value for date/time
- Next message (by thread): [lworld] RFR: object methods in VM for lworld value type
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 9 May 2018 at 01:59, Brian Goetz <brian.goetz at oracle.com> wrote:
Whats the default Currency? USD is a not an acceptable answer. Money is the same as it can't exist without a currency. This is the point we’ve been trying to make. Some types (like Complex) have a natural default (zero), others do not. So the VM provides a uniform treatment — and then the class can be coded to interpret the default value whichever way makes sense for the domain. If Complex has a natural zero, then you need not do anything special. If Currency has no natural default, then a Currency whose bit pattern is the default bit pattern should be coded so its methods throw.
I see how this is a rational point in the JVM design space, just remarking that I don't think its a particularly attractive one at the coder's level from what I've seen so far (but its early, things can change).
On 9 May 2018 at 01:53, Gil Tene <gil at azul.com> wrote:
Perhaps “works like a double” is a better analogy? Doubles have NaNs. Dates can have NaDs.
Yes, a better analogy, though not perfect.
On 9 May 2018 at 01:47, John Rose <john.r.rose at oracle.com> wrote:
Whats the default Currency? USD is a not an acceptable answer. Money is the same as it can't exist without a currency.
What about a Distance object? Is it measured in Miles or Kilometers by default? Thanks, I get it now.
FWIW having slept on it, if Currency had to have a default, it could be XXX, which means "no currency".
You are asking for a certain kind of mashup between objects and primitives, which is understandable,
I'm trying to not ask for something specific given I don't appreciate all the trade offs. Instead, I'm trying to express feelings/reactions which may or may not help guide you :-)
thanks Stephen
- Previous message (by thread): Default value for date/time
- Next message (by thread): [lworld] RFR: object methods in VM for lworld value type
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]