This is pure speculation I know, but would be interesting to read some opinions from people that is more informed. Any links or comments would be appreciated.
This is pure speculation I know, but would be interesting to read some opinions from people that is more informed. Any links or comments would be appreciated.
Around 10 years ago, developing Java enterprise desktop applications was a mix of pure Swing, SWT, Eclipse RCP and Netbeans Platform.
Nowadays, just speaking from our customer projects, it is .NET for Windows only applications and Web for everything else.
The only place where Java based UIs still matters are on Android.
And on mobile OS, thanks to Oracle not caring about iOS and Windows Phone, C++ and C# are the languages to go for portable native apps. With Xamarin being made available for free, this will increase C# (including F#) usage for such applications.
Currently .NET Core lacks a story for portable UI framework, but if it gets one, it might win some adoption outside Windows for desktop apps, at least more than Java, as JavaFX doesn't seem to be wining much mind-share.
Another advantage of .NET Core is that Microsoft is having AOT compilation for free, while on Java world the best AOT compilers are commercial.
However for server side UNIX applications, mainframes and embedded devices, there Java might still rule, specially thanks to the existing developer base.
Also pure speculation from my part.
The two interesting things that actually compete with Java (JVM) would be LLVM and WebAssembly (or asm.js if you prefer).
On another front there is the thing that is competing with a big chunk of the SmallTalk OOP GUIs, a little thing called React. And actually Redux (or something like it) may turn out to be even more influential.
My take is that the functional dynamic DOM environment of the browser complete with run-time remote linking and compiling is like the harsh environment of Arrakis, which was the only thing that could have given rise to such hardy technology.
P.S. I really have to wonder how much a combination of `System.out.println` and `public static void main(String[] args)` cost the Java ecosystem. Not to mention the Date and File 'idioms'. Having nice collections and solid vm spec and implementation doesn't mean you get to ignore API usability. Sigh.
If developers hop on board and start building the ecosystem then I think Oracle should be concerned. That could take anywhere from 2 to 10 years IMO.
"Perhaps the final straw was what Gosling said was Oracle's move to rein him in. indeed they owned Sun and thus Java, so they also owned its creator and his intellectual property, so it was up to Oracle to decide what Gosling or anybody else had to say about Java."
http://www.eweek.com/c/a/Application-Development/Java-Creato...