> And they naively specified the answer must be the same on all platforms.
> This creates problems for numerics.
> E.g. An implementation is not allowed to take advantage of 80 bit FP
> on Intel platforms to give a more accurate result.
> Also not allowed to use a multiply-add instruction that avoids intermediate
> rounding - this can be a 50% performance hit, and may not give an
> answer with the best accuracy possible for the platform
> In Java, portability is forced on you.
> You can't take adavantage of the features of a particular machine,
> even if you want to.
You wrote that as though it were a criticism of Java, but it is my
understanding that such constraints were part of the objective for the design
of Java. It seems a bit like criticising Ada for dissallowing a computed goto.
It is surely the misguided advocates and misguided users of Java who are at
fault when attempting to use Java in inappropriate contexts. If the platform
independence that Java imposes is unacceptable, then Java is the wrong language
to use. That does not automatically make it a bad language.
It is right that we should point out the limitations of Java when it promoted
as the universal solution, but we should also be prepared to accept that there
may be contexts in which it is the right choice because it is different from
Sorry if I misunderstood your comments, but both languages are in use here,
both for good reasons I hope.