Yeah he did because Java performance IS excellent these days. Not that it couldn't be better (everything can always be better for everything).
But Sun's JVM is very competitive with native code in terms of performance and it's massively better in most other areas (security, debugging/tools, profiling, code reuse and design, etc)
99% of it has moved to "the web" and the majority of the the servers running "the web" are Java.
I doubt you've done any serious enterprise development. Being able to run software on both Windows or a Unix with no changes can be a god send at times.
Yeah but.NET has a great marketing program that's been very successful in seducing the lower rung programmers into thinking that the CLR is not a JVM clone, C# isn't a Java clone, etc, etc.
What? For every.NET API there are 5+ APIs for Java.
I agree though, Java's only really failing so far has been on the desktop. Server wise it dominates. It's on almost every mobile platform and with Android's popularity sky rocketing it's dominance in the mobile space will only solidify.
The vast majority of the items apply just as much today.
Mono does this for one.
Not really. A nice chunk of the.NET platform isn't implemented yet in Mono (unimplemented exceptions) and a sizeable part of that will never be implemented due to manpower and patent reasons. In addition, Microsoft's.NET platform is not open source and Mono is not the same thing (see last sentence).
I think Mono is a good thing but it's not even close to supporting the type of WORA support that Java enjoys today. Write Once, Debug Everywhere used to be the joke about Java but today WORA has really come true there. Hopefully, one day Mono with get there but I doubt it will because it's not in Microsoft interest.
Sun and Oracle actually work with the open source community, Microsoft attempts to subvert it wherever it can.
Also, even the newest version of Android lack an enabled JIT. Work has been started on one, but right now on shipping software it's still completely interpreted.
I have a G1 (HTC Dream) that had similar issues. However, I've upgraded to cyanogenmod because T-Mobile hasn't released an upgrade yet. Cyanogenmod is a 1.6 OS but it has a lot of the 2+ goodies back ported (newer dalvik, libraries, etc).
It's a world of difference. Honestly, it's like I've gotten a new phone. I'd recommend trying it.:)
1.6 isn't that much newer than the first early adopted release of Android.
JNA makes it very easy to use native code with Java: http://en.wikipedia.org/wiki/Java_Native_Access
oooh and while we're at it, lets add addressing modes! yeah!
Actually, I hear the entire google search engine is written in TurboBASIC.
Yeah he did because Java performance IS excellent these days. Not that it couldn't be better (everything can always be better for everything).
But Sun's JVM is very competitive with native code in terms of performance and it's massively better in most other areas (security, debugging/tools, profiling, code reuse and design, etc)
99% of it has moved to "the web" and the majority of the the servers running "the web" are Java.
I doubt you've done any serious enterprise development. Being able to run software on both Windows or a Unix with no changes can be a god send at times.
Yeah but .NET has a great marketing program that's been very successful in seducing the lower rung programmers into thinking that the CLR is not a JVM clone, C# isn't a Java clone, etc, etc.
Wow, you don't know anything about anything do you?
Java has been executing native machine code for well over a decade!
Are you some kind of unfrozen coder who was accidentally frozen in the mid 90's and was recently unthawed?
Sun's JRE/JDK for 7+ is based on OpenJDK.
This is different from before where OpenJDK was based on Java 6.
Did you, by chance, click my link and see that you're completely wrong?
Applets used to be bad but last year it was rewritten and it's pretty fantastic now.
https://jdk6.dev.java.net/plugin2/
What? For every .NET API there are 5+ APIs for Java.
I agree though, Java's only really failing so far has been on the desktop. Server wise it dominates. It's on almost every mobile platform and with Android's popularity sky rocketing it's dominance in the mobile space will only solidify.
Yeah hopefully Oracle maintains the status quo but Ellison definitely has the Blofeld vibe to him.
I prefer SWT myself. I don't like Swing much in any of it's forms.
The vast majority of the items apply just as much today.
Mono does this for one.
Not really. A nice chunk of the .NET platform isn't implemented yet in Mono (unimplemented exceptions) and a sizeable part of that will never be implemented due to manpower and patent reasons. In addition, Microsoft's .NET platform is not open source and Mono is not the same thing (see last sentence).
I think Mono is a good thing but it's not even close to supporting the type of WORA support that Java enjoys today. Write Once, Debug Everywhere used to be the joke about Java but today WORA has really come true there. Hopefully, one day Mono with get there but I doubt it will because it's not in Microsoft interest.
Sun and Oracle actually work with the open source community, Microsoft attempts to subvert it wherever it can.
yeah but the Java version is basically the same thing according TFA and it works now in 95%+ of peoples browsers AND its an order of magnitude faster.
Let me guess: you're John Dvorak... ?
Yes, considerably: http://en.wikipedia.org/wiki/Java_version_history
The benchmarks are against the hardware accelerated OpenGL path of Quake2.
I agree, benchmarking the C software renderer against a hardware accelerated Java renderer would be a joke. :)
I just didn't want some douche bag crying about how I lacked a reference. ;)
The Java version of Jake2 runs at around the same speed as the native C version (sometimes a little slower, sometimes a little faster):
http://download.java.net/javadesktop/plugin2/jake2/
Or an applet version: http://download.java.net/javadesktop/plugin2/jake2/
Oh, Jake2 benchmarks: http://bytonic.de/html/benchmarks.html
The most recent Jake2 release was comparable and faster in some situations than the native C version.
I wonder how the javascript version stacks up to the Java and C versions.
Also, even the newest version of Android lack an enabled JIT. Work has been started on one, but right now on shipping software it's still completely interpreted.
I have a G1 (HTC Dream) that had similar issues. However, I've upgraded to cyanogenmod because T-Mobile hasn't released an upgrade yet. Cyanogenmod is a 1.6 OS but it has a lot of the 2+ goodies back ported (newer dalvik, libraries, etc).
It's a world of difference. Honestly, it's like I've gotten a new phone. I'd recommend trying it. :)
1.6 isn't that much newer than the first early adopted release of Android.
Good thing there are other markets (no root required): http://www.slideme.com/
Amazing what an "open market" can do eh?