Oracle May Have Stopped Funding and Developing Java EE (arstechnica.com)
While anticipating new features in Java 9, developers also have other concerns, according to an anonymous Slashdot reader:
ArsTechnica is reporting that Oracle has quietly pulled funding and development efforts away from Java EE, the server-side Java technology that is part of hundreds of thousands of Internet and business applications. Java EE even plays an integral role for many apps that aren't otherwise based on Java, and customers and partners have invested time and code. It wouldn't be the first time this has happened, but the implications are huge for Java as a platform.
"It's a dangerous game they're playing..." says one member of the Java Community Process Executive Committee. "It's amazing -- there's a company here that's making us miss Sun." Oracle's former Java evangelist even left the company in March and became a spokesman for the "Java EE Guardians," who have now created an online petition asking Oracle to "clarify" its intent and resume development or "transfer ownership of Java EE 8".
"It's a dangerous game they're playing..." says one member of the Java Community Process Executive Committee. "It's amazing -- there's a company here that's making us miss Sun." Oracle's former Java evangelist even left the company in March and became a spokesman for the "Java EE Guardians," who have now created an online petition asking Oracle to "clarify" its intent and resume development or "transfer ownership of Java EE 8".
Sun couldn't make any money off Java. Sun wasn't incompetent, they were stuck in a business model that became irrelevant (selling high end hardware). It's all well and good to say you should pivot to SaaS but that means selling access to software. If Oracle tries that with Java the community will just fork the damn thing. Where is the business model with Java that makes Oracle enough money to cover the expense of buying Sun? It wasn't in enforcing copyrights on Google, they lost that fight. What they're left with is really nice tech that can't make anyone a dime...
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
I see no less than 5 independent, certified implementations of latest Java 7 EE spec, including one LGPL application server; Wildfly by Red Hat. I'm pretty sure the "community" can handle evolving the standards going forward, and it's blatently obvious that Java EE doesn't actually need Oracle's implementation for anything. Is anything of value being lost here?
Maw! Fire up the karma burner!
This affects less people and it is way less dramatic than what the summary implies. Java EE it's just a bunch of "enterprise" frameworks which run on top of the Java virtual machine. Many people using the Java platform don't even bother with Java EE and use other set of frameworks instead (like Spring or Hibernate), and even for those using some of the Java EE technologies, they are most likely using some third party (IBM Websphere) or open source (lJBoss, Tomcat) implementations, since the "official" Java EE implementation by Sun (and later Oracle) never gained much traction.
I make a decent living off writing Java code, and after Java 8 came out I started liking it, not just tolerating it. Lambdas and method references, which I thought would be a nice-to-have, has turned it into a completely new language, streams are great, the multi-threading support is not too shabby and the new time API was loooong overdue.
When reading the linked list (no pun) of new features though, all I can say is "meh"...
Stuff like HTTP/2, TIFF and JSON support should be external, upgradable, libraries. Its a common theme that the standard java libraries fall into disuse after a while, because external library writers do a much better job of implementing the same concepts. JDBC, Date/Calendar, XML processing, HTTP are just a few examples.
My key takeaway from this is that I'm a bit tempted to start using _ as an identifier name, just to fuck over any future maintainers of my code.
Vi
Faster! Faster! Faster would be better!
More precisely, Java EE is a collection of APIs.What most people are accustomed to is the Java SE API, which is part of the JDK. EE is implemented, partly or in full, by application servers.
Although not all APIs in EE are widespread, some are pretty much the basis of Java application servers such as Tomcat, Jboss/Wildfly, Jetty, Glassfish and co.
For example, Servlet and JSP are part of Java EE. While they are old specs and haven't changed dramatically through recent releases, I am pretty sure any Web developer using Java knows what servlets are or interacted with them indirectly.
Now whether any of this will be missed is a matter of taste, but Java EE, at least part of it, is hardly something used only by high-ends customers.
Actually, Sun's OFFICIAL beef with J# was the fact that it made it easy to directly use things like DirectX and MSIE. They were afraid that if Microsoft got its way, Java would rapidly cease to be platform-independent... or at least, writing Java apps that could only build & run under Windows would have been enormously easier than writing platform-agnostic apps.
The catch is, most of the things Sun was pissed at Microsoft for allowing J# developers to do were things that "pure Java" couldn't do AT ALL, because Sun couldn't be arsed to even TRY to give developers a comparable -- let alone superior -- alternative to platform-dependent features (though apparently, Apple deserves a hefty chunk of the blame, too).
Three specific examples:
* Embedding a browser in a Window. J# made it absurdly easy. The last time I checked, it's STILL a royal pain to do this with Java (and AFAIK, the only way is with Firefox and JNI).
* Using DirectX. OpenGL ultimately won the battle for the hearts & minds of developers (mostly because Microsoft tried to use DirectX as a tool to bully Windows 7 gamers into instaling Windows 8, and it backfired when users revolted and developers were forced to switch to OpenGL to remain competitive), but back in the J# era, DirectX was ENORMOUSLY nicer to develop with compared to OpenGL.
* Using Microsoft-specific APIs to do things like monitor directories for changed files, interact with the system tray & taskbar, etc... things that Java didn't really have any good way to do natively until sometime around JDK6 or JDK7 (taskbar might have been JDK5, but I'm pretty sure monitoring filesystem paths for changes didn't exist until JDK7's NIO2)