Re: Too many options...
@sorry, what?
"@boltar, how do you get innovation but by iteration, speculation and plagiarism?"
Er, proper design and thought?
Look at the Altivec extension to PowerPC. Ok, so that's nothing to do with Java, but it's a good example of what you can get right with careful thought. Motorola (for it was they, back then) sat down, thought long and hard about what a decent SIMD unit for a CPU should look like, and built it. The result, Altivec, was stunningly good for the time, and didn't need any changes to be useful to a wide variety of applications, and is still largely the same even now in IBM's Power chips.
Iteration and speculation is what Intel did. First, there was MMX. Then SSE. Then SSE2, 3, 4, 4.2, and now AVX256 and AVX512. The first few of those were rubbish, and it's comparatively recently that they finally, eventually gave up and put an FMA instruction in to make it actually half-decent.
The result? Loads of image / signal processing software got written for PowerPC very quickly. Mac versions of Photoshop used it big time. It was worth writing for. Whereas the use of SSEWhatever on Intel has been far slower to get going, because until quite recently everyone knew that the majority of hardware out there wouldn't have a version of SSE new enough to be worth using.
Ok, so the design and thought might be iterative, but foisting part formed speculative ideas out there on to the masses who have the job of making use of the damned thing really doesn't help. The software world is of course always going to be iterative to some extent, but for something as major as Java modularity it would be far better if it was done Right First Time (tm).
As for Linux, the plethora of package management systems is in my view a real embarassment. The lowest common denominator is still compile-yourself-tarballs-and-sort-the-dependencies-yourself. And they keep inventing more. Personally speaking I think FreeBSD is far better organised in this regard.