Egos
"...no guiltless parties with white hats in this little drama." Maybe Gosling fancies himself as a Silicon Valley Yojimbo, begrudgingly allied for money/expediency.
James Gosling, the father of Java, has joined Google – despite his previous criticism of the company's Java-happy Android operating system. Gosling announced his new job with a post to his personal blog entitled "Next step on the road", but did not provide specifics. "Through some odd twists in the road over the past year, and …
Amazing. The fragmentation in Android is insignificant compared to the problems Java ME brings for dev's, write once, test on hundreds of devices, patch and pray it runs on enough of them.
And Java is so full of historical crud it beggars belief. Layer upon layer of hacks to modernise the core language and its libraries. It's a miracle it works at all and endlessly frustrating every time you fall off what the supplied libs provide. Libs almost designed to make you buy more powerful hardware to cope with their flabby bloat.
Many of us welcome a world where interoperability is not really an issue if everyone can cheaply use much higher level software than Sun/Oracle want to sell. He's still stuck in the mindset of catering to the lowest common denominator, meanwhile Google are changing that lowest level, pushing it up.
Actually James Gosling when last questioned said that he didn't really care what was happening with Java. If you're so in touch with Java tech, why do you still think that Java ME has any relevance? Your comment about fragmentation is about five years past its sell-by date.
As for performance, well now you're beginning to sound like one of those .Net developers who looked at java in, oh, 2002 and hasn't looked again since. Java and .Net virtual machines are more or less on equal footing when it comes to raw performance. I'm not going to start arguing about which is 'better' because they are both capable platforms and can deliver applications that perform.
Java definitely has legacy. But then, at least Sun didn't turn round every 2-3 years and drop their leading technology just as I'd finished learning it, or produce a "new version of Java" with no low-pain migration path (cough) VB (cough).
Producing a non-backward-compatible "New Java" will not happen under Oracle's ownership unless there is a compelling business case to make that hugely expensive and risky investment. I'd put money on it never happening - Oracle are not a R&D company.
The future for Java and the VM is the new languages that are appearing. Use Java for the nuts and bolts, and functional or domain specific languages for the business logic. Eventually one will evolve to the point that it will start to replace Java more widely - because it is better and is accepted as such. This is a much better strategy and one Oracle are encouraging with the extending support for other JVM languages as part of Java 7 and Java 8.
Regarding performance, Java is much faster than .NET on server workloads, large workloads. There are benchmarks for this, I can post them, but I dont have the time right now to find those benches.
Also, if you yourself handle all Your memory in Java, You can reach extreme speed, rivaling C. Becuase the garbage collector will never be triggered.
"there is enough fragmentation among Android handsets to significantly restrict the freedom of software developers."
I don't really get this.. I have apps running on Android 1.6 to 2.x and there are minor issues really.. even with quite modified releases like HTC push out. Versions-wise 1.6 is missing a bunch of stuff that is nice to have and has a bunch of shitty bugs but it's nothing you can't work around.
The changes vendors do to Android are mostly nicely restrained by the framework.. i.e. most vendors just replace the graphics and maybe some standard apps.. as long as those replacements accept the same intents etc it isn't an issue.
If Sun wanted write-once-run-anywhere they shouldn't have allowed JNI or anything similar in. Once you allow code to hook directly into native code you lose any platform Independence you had.
Like them or loathe them, Google understand the place in business for speculative research. This is exactly how Gosling and his colleagues came to develop Oak, now Java, which has kept me in profitable work for ten years.
It's great to see that somebody with such a sharp mind is going somewhere where he'll be able to put it to full use. Google I/O has just got better - can't wait for May 10th...
I've yet to see a piece of Java code, that isn't extremely fussy as to what Java version is installed - in many cases, you need multple versions of JRE installed to get the particular Java app working reliably - and keeping the exact balance of Java versions installed in perfect harmony to keep common apps working is voodoo at best.
Java - CPU intensive, runtime specific bloatware!
"It's architecturally impossible for a single Java desktop application to use more than one VM."
Maybe they weren't talking about "a single Java desktop application". You know, some people do refer to systems as applications because they appear to be a single thing they can interact with.
But oh no! Java library version hell doesn't exist. At least not if you enjoy horsing around with tightrope walking across a bunch of .jars and the micro-release to micro-release API breakage in the gazillion different libraries required by the frameworks required by those applications. No, sir!