Is WORA a relevant goal ?. Has native compilation become more relevant ?. Particularily on desktop, smartphone, tablet environments ?.
(WORA : Write Once Run Anywhere)
1) Java was born in the days when UNIX workstations (sun, hp, dec, sgi, apollo ) shared desktop space alongwith their pc-cousins. (windows/apple/linux ).
In those days Java's promise of WORA caught our attention. (WORA - Write Once Run Anywhere )
2) Much water has flown under the bridge since those days. UNIX workstations have more or less walked away into the sunset.
They are in good company with Dinosaurs ... :-)
UNIX servers have survived and Java's server offerings (JEE) have flowered.
3) The desktop/client world today is pretty much windows (90%) or apple/linux (10%).
Hold the flames please. My numbers are all very very very approximate :-).
4) JIT performance is nowhere as good as AOT.
(JIT : Just in Time compiler)
(AOT : Ahead of Time compiler. Along the lines of traditional c/c++ compilers)
5) Java on the desktop is'nt happening.
I am not aware of mass-market killer apps developed in Java on the desktop. (desktop, tablet, smart-phones ...)
I have been experimenting with excelsior-jet (http://www.excelsior-usa.com/ ). It rocks. It'a java-licensee and it's customer-list is very very impressive.
So, some questions came to mind.
1) If Java and it's backers (Oracle, IBM, Apple, OpenSource world ) are serious about the desktop, then should'nt we re-visit the WORA goal ?.
2) Native compilation with it's attendant advantages (faster startup, better IP protection, faster overall performance) seem to far outweigh any advantages
that should have happened via WORA.
3) Perhaps Oracle can re-think it's client/desktop strategy and offer native-compilation out-of-the box. This can be offered as an option of course.
It could buy/license excelsior-jet or revive gcj. (http://gcc.gnu.org/java/ )
I claim no expertise in these areas. (technical or market ). I am your average java-developer with some experience in Swing/JavaFX (1.x).
I am cheering for Java to be a viable alternative on the desktop world. Today, the Microsoft/Apple dev environments are far more attractive
on their respective platforms. Before we shoot down desktop apps completely in favor of network-apps and the latest buzzword "cloud computing", let me say that desktop-apps that are net savvy are still very very relevant. Any application that can use what the desktop offers along with the cloud. I mean apps of the following kind. (web browsers, email clients, collaborative office apps, image/picture managers, .... ). These apps make $$ and are used in large numbers.