On 08/12/2011 02:46 PM, [email protected] wrote:
Hi Remi,
Your argument is flawed
The complexity of the operations is not defined by the interface or the
presence or absence of the interface
In theory yes, but in practice ...
What is the purpose of java.util.RandomAccess ?
If you have complexity algo checks then these can only be applied to known
classes where the complexity is defined in the interface or class
As such the code that infers this behaviour is broken and needs to be fixed.
Ok, how to remove the instanceof RandomAccess in Collections.shuffle (by
example).
If the arbitrary missasumptions as to non functional characteristics is the
driver that blocks evolution of the java ecosystem then java is dead and we may
as well keep starting again.
Common misconception, if Java was blocked it was because Sun was dying,
not because Java has a strong tradition of backward compatibility.
You can always built a new package like java.nio if the old one block
your evolution.
As an aside IMO the complexity specification issue could be better addressed
with the interface evolution in Java 8. There have been other discussion of
improvements to performance of the algos in collections that do require this
metadata. This would allow the broken code to be fixed
Regards
Mike
Sent from my BlackBerry® wireless device
regards,
Rémi