what do we really want?

David G Hough at validgh validgh
Fri Aug 14 20:27:12 PDT 1998


In the context of the Java language design discussions, 
a colleague (not participating in the current discussion) asked me,

  What does the numerical community need to be able to express conveniently,
  What does it not need to be able to say, 
  What does it need to be able not to have to say.

His complaint was that requirements he's received in the past have been
too vague, inherently impossible, or obviously wrong.

Where should I direct him?    In the vague category, one could say that
it's desirable to have language features that support

	predictable arithmetic
	flexible arithmetic
	fast arithmetic

but not necessarily at the same time.    Exceptions are the heart of the
matter, particularly those inexact exceptions due to rounding; sometimes
anything reasonable is fine if it's fast enough, other times it's essential
to know exactly what will happen; predictably the same thing is not always
appropriate, even if fast, so economical means for specifying alternative
treatment of exceptions are essential.

Economical means of extensions to other than native numerical types are
also essential, which is why one always ends up desiring some kind of
operator overloading so that all possibly useful numeric types don't have
to be primitives in order to be used with economical intellectual effort.

Numerous language proposals (not just for Java)
have been made that attempt to make tangible
some of these properties --- too many proposals, perhaps.



More information about the Numeric-interest mailing list