Java is not necessarily slow. You should be able to google for numerical analysis applications (even supercomputing apps) written in Java, and they run efficiently and fast.
It is slow in the enterprise world because of the large J2EE libraries you load, not because the language is slow. Naturally, smaller devices will need to tune their run-time to remain efficient. The early slow loading problem was due to some bugs in the players. Newer players operate faster now.
I've done a LOT of Java, C#, C/C++ development over the years...and yes, Java is s.l.o.w. It's by design. Interestingly enough, it's actually in the enterprise and appserver (TomCat, etc) sector where it's faster because a lot of the necessities for Java's "write once, run everywhere" mantra are neglected for performance.
But in terms of desktop apps, yes, it is slow. It's very easy to see why -- you're running a complicated language through a bytecode interpreter. If you cherrypick some numerical analysis benchmarks, as I'm sure the benchmarks you will cite will do
, it won't look too bad because the amount of code present will be negligible and it'll end up being cached and reused. But in the real world, it is noticably slower than most other environments.
See above. ^_^ Even with instant streaming done today on BD-Live, people still think Java is slow, based on experiences elsewhere. I remember people also think that Java is an overkill for Blu-ray.
This isn't FUD. Java is slow, BD-J is noticeably slow even on the PS3. If Java isn't slow, it's not going to be Java (I'm looking at things like gcj...). Instant streaming really has nothing to do with BD-J, as Java being slow doesn't make the internet connection slow?
Yes... yes... [Looks at BD-Live NetFlix streaming on Blu-ray players and PS3]
Let's not kid ourselves -- the only reason that was implemented was because it had to be as an interim solution. That's going to be gone as soon as Netflix's contractual obligation to MS is up.
BD-J/BD-Live are capable, the problem is the utility of them are massively overstated by Bluray enthusiasts. The vast majority of people don't care about spending $20-30 on a Bluray so they can stream movie trailers from their disc. It's not a terribly useful feature, and I've yet to see a single Bluray disc out or announced that truly does something useful with either.
The only thing remotely useful I've seen out of BD-J are the "enhanced menus" that were possible on HD DVD, and even predates Bluray's.
Once people start to use it heavily, the implementations will be optimized further.
EDIT:
Don't get me wrong, I don't love Java. But it has its uses and should receive credit where credit is due.
Man...I've met James Gosling and listened to his hardcore philosophy re: Java first-hand, I've programmed in Java on and off since 2001. By it's very nature, it'll never be a speed demon. You're going to be running bytecode interpreters on all of these devices, and the CPUs they're putting in these dedicated Bluray players are actually not that beefy.
I'm not saying it'll be unacceptable, but it is a bit annoying. I was hoping we'd be done with the laggy-feeling experience we're used to with DVDs, but so far on Bluray it's still there. The custom menus are more responsive on the King Kong HD DVD than they are on most of the Blurays I've seen, for example.
The biggest problem with the "power" of BD-J is the inconsistency in menus and control of movies. It's kind of maddening to me, actually.
-tkf-: I'm not even going to try to debate you, it's not worth my time.