Mind you Apple have done their level best to completely break applets anyway. Grr.
What, realistically, is the performance difference between Java 6 and the fastest JS engines out there at raw compute power and memory writes?
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=javaRegular expressions are super fast with V8. Generally Java (server) is at least 3 times faster. On average Java is about 5 times faster. And if you do something JS is pretty bad at, Java can be over 40 times faster.
It can be a pain to get javascript code to work the same in different browsers, let alone on totally different platforms. There will always be those hacks to get around variations between browsers, e.g. if(ie) { ... } else if(firefox) { ...}.
[...]
I've written a GUI platform in javascript that works great in Firefox, but I'd need months to get it working in Internet Explorer.
I rarely have any problems. JSLint helps a lot.
But perhaps that is all worth it. Javascript is pretty portable considering. It's the most used and widespread programming language out there.
After writing it for 5 years, I still hate how bad the OOP support is. It's like they've gone out of their way to not evolve javascript. It was never intended to be used so much, but it's #1 out there, it was supposed to be used as a "helper" scripting language for forms and stuff, and therefore doesn't even have basic OOP support. I'd really like to have classes, abstract classes, inheritence, polymorphism. I know you can simulate a lot of this stuff, but it just doesn't feel right.
http://code.google.com/p/joose-js/"[...] classes, inheritance, mixins, traits, method modifiers and more."
Well, you can have classes and you can also have inheritance. Prototypal-inheritance, that is.
Something like, just embed a headless VM in Chrome (ie. without AWT and Swing). Pop in a decent API for DOM twiddling.[...]
Ah yea... DOM manipulation. This wouldn't be any faster with Java, C or C++. It's so slow because it's a super heavy operation. Reflowing (recalculating the layout) and redrawing are the slow parts. A faster language won't help there.
(Thankfully you don't have to touch the DOM for Canvas-based games.)