Sun rejects orthogonal persistence for Java

shapj@us.ibm.com shapj@us.ibm.com
Thu, 16 Sep 1999 13:58:35 -0400


>Yes, the prior computation still effects the subsequent computation.  The
>issue is *how much* of the prior computation's state effects the subsequent
>computation.  This is an explicit design issue, what I was calling

The answer depends on your level of abstraction.  At one level, *a* correct
answer is *all* of it.  Even computation whose output is unused has consequences
on the state machine that impact performance -- for example, which things are in
the data or instruction caches depends on such computation.

At another level, computation that does not impact the expected future state of
the system is bad computation, in the sense that it reflects a state your
program got into that produced no value (I am ignoring speculative execution
tricks here, which produce probabalistic value).

It is legitemate to say "my persistence contract excludes the following kinds of
information," but it is not possible to answer the question you pose in the
absence of a specification.  As you say, it is an explicit design issue.

Jonathan S. Shapiro, Ph. D.
IBM T.J. Watson Research Center
Email: shapj@us.ibm.com
Phone: +1 914 784 7085  (Tieline: 863)
Fax: +1 914 784 7595