A
Arne Vajhøj
Marcin said:We differ in the definition of correctness then. Relying on overflow
may be convenient for most, but apps that need to be mathematically
correct (I thought you were speaking of mathematical correctness) are
NOT relying on overflow, as this is clearly not correct.
If somebody read the JLS, JVM spec and Java docs for the API and
writes code that according to those specs does what it is supposed
to do, then the code is correct.
There not A and B citizens in the spec. The spec say X, but it is still
not correct to use that feature.
I do not like code that relies on overflow behavior, but that is from
a readability/maintenance perspective.
Correct code is not necessarily good code.
Generics did not break anything only because a lot of work had been
applied to ensure that (like aforementioned collections addition).
From the point of view of language it was non trivial addition which
Java designers/maintainers never really overtook
Still, these have been serious changes of language/compiler which
never took place in Java world.
The JCP process is moving at a lot slower pace than MS. C# are
getting new features at a much higher rate than Java. I will
not argue that.
But note that when it comes to programming languages then bigger
is not always better.
Compare the usage of Cobol and C with that of PL/I and Ada.
Arne