Oracle May Have Stopped Funding and Developing Java EE (arstechnica.com) 115
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".
No, not transferred (Score:1, Funny)
It should taken and placed in the public domain. Problem solved...
Re: (Score:1)
I see what you did there. Trolling is a art after all!
Re: Trollinf (Score:2, Insightful)
No, that wasn't good trolling by GP at all.
A skilled troll can get people riled up and provoke a bunch of heated answers.
A really skilled troll does it in a controversial way that draws some supporters as well, creating a major flame war.
Just calling someone an idiot does not qualify.
Re: (Score:3)
A really skilled troll does it in a controversial way that draws some supporters as well, creating a major flame war.
Just calling someone an idiot does not qualify.
That's a good point. And someone that clever could probably just write an Emacs macro to do the trolling for him.
Re: Trollinf (Score:4, Funny)
Vi
Re: Trollinf (Score:2)
Re: (Score:1)
Re: (Score:1)
Yeah, but I have to sell it. Gimme an offer...
Re: (Score:2)
Two negatives give a positive.
Re: (Score:1)
Re: (Score:2)
I totally missed the equation there. :S
Re: (Score:2)
Re: (Score:3)
Google should fork Java (and rename it)
Microsoft already did that. They named it C#.
Re: (Score:2)
Its so "vague" you can do a find and replace on most code.
Re:Microsoft Java (Score:2)
Re:Microsoft Java (Score:4, Interesting)
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)
Re: (Score:3)
I don't get your post. JNI was in Java since day one (or very early on), and via JNI you can access everything that is platform specific. MS or anyone else can just use JNI to bundle a Jar file for Java to allow access to DirectX and platform specific APIs. Java is not some magic, but it's basically a level above C/C++. The architecture is basically, Java>C>OS>Driver>Hardware. So, MS could have just bundled it's own Java+Windows specific modules.
And to put an browser in Java is also easy. https: [teamdev.com]
Re: Microsoft Java (Score:2)
Yeah and JNI is a terrible interface. Microsoft added a different way to do platform-specific stuff that integrated smoothly into existing Windows component interfaces. They didn't remove anything in the non-platform-specific Java stuff. They didn't break any platform-agnostic code.
Re: (Score:2)
So... if you used Microsoft's native interface, it would work on Mac or Linux? I highly doubt that.
It's what we call "Knife the Baby" in Microsoft strategic planning terminology.
Re: (Score:2)
no, but if you used JNI to call out to a library that made linux syscalls, would that work on windows or the mac?
seriously, some people...
Re: (Score:2)
oh. my. fucking. christ!
what is the purpose of JNI? it's to call out to native code. what does native code tend to do? it makes calls to the fucking OPERATING SYSTEM! native code is generally NOT CROSS-PLATFORM code. seriously, what's the difference between me using JNI to call into system32.dll, or using J/Direct? none of that is cross-platform.
i know you have to connect the dots a little here, but claiming that microsoft broke cross-platform compatibility by creating a different (read: significantly bette
Re: (Score:2)
right, because improving things is obviously bad.
Um.. what are they suppose to do? (Score:5, Interesting)
Re:Um.. what are they suppose to do? (Score:5, Informative)
I think companies like Redhat (JBoss) and IBM and SAP disagree, they make plenty of money with Java.
Also I see plenty of JDeveloper commercial licenses in Enterprises.
Re: (Score:3)
JBoss and the peer implementations will probably be the future of Java EE. The fact that Oracle drops it just means that they drop their control over the solution and the worst that can happen is that the various implementations will diverge unless the companies developing the solution put in a joint venture to coordinate the APIs.
Re:Um.. what are they suppose to do? (Score:5, Informative)
The do not make money because the "own" Java, they make money because they "use" Java...
Big difference there. The owner of Java would probably love to get a portion of the money that these users of Java are making. This would be realized through a licensing stream... which may be the end game of scaring customers into thinking that the current public product is going to get shit-canned
Re: (Score:1)
You do realize how many oracle app server licenses are sold to run java apps? Oracle is making tons of money off it indirectly, much like Microsoft makes money off people using .Net since they need the rest of their stack, which isn't free. ( at least until recently.. which i still question that move, they have an angle )
Consider it an investment in your companies infrastructure. It may not make you money as an 'entity', but without it you dont have anything.
Re: (Score:2)
Selling high end hardware and a high end OS, to run hardware-independent and OS-independent Java?
Re: (Score:2)
Sun's main driver behind Java was to provide a language that could compete with Microsoft's Visual suite (Visual Basic and Visual C++). They had to keep tight control of the language to prevent Microsoft from usurping it (remember the J++ lawsuit?).
Sun succeeded to some extent, but it bled them to death. Their hardware couldn't compete with Intel and they weren't making any money on Java. Now Oracle is looking over their shoulder at Postgresql and not making any money on Java.
IBM & RedHat will form "O2EE" and life will go (Score:2, Interesting)
This is Oracle playing it's usual games and it's introducing a hiccup in the J2EE lifecycle, it's ultimately not going to matter. If Oracle does take it's toys and go home because of the Google decision, IBM, RedHat and others will happily step in to create the O2EE alliance with other major players and life will go on. The J2EE server market is dominated by Tomcat and JBoss/WildFly, Weblogic has roughly 10%. Oracle can certainly cause trouble but they are in no position to kill J2EE.
Re: (Score:2)
The problem is Oracle will probably drag out the process, causing untold damage to the Java ecosystem in the process.
Consequences in Banking/Finance? (Score:2)
Lots of java in the banking finance world. I wonder how much of it runs on the EE platform.
http://docs.oracle.com/javaee/... [oracle.com]
Re: (Score:3)
It's not about the language. It's the APIs that matter. Rust couldn't be less relevant.
And frankly J2EE doesn't matter that much either. I haven't seen a purebred J2EE application inn ages. There may exist EJB2 monstrosities deep in the server catacombs of large banks, but nowadays when people say enterprise java, they really just mean java code serving http-requests and running batch-jobs, with a gazillion of 3rd party libraries throw in.
Re: (Score:2)
J2EE doesn't have a code of conduct.
Re: (Score:2)
Rust is a full-on irrelevant language for the purpose of this discussion. Nobody is going to rewrite all that software.
(Rust has other severe problems, among them the blindness and fanaticism of its followers.)
Re: They'll just move to Rust. (Score:2)
There is still lots of cobol and PowerBuilder out there. Do you think anyone will ever rewrite all that Java?
Also rust is a non starter as it's trying to be everything to everyone and thus is nothing to most.
Re: (Score:2)
Indeed. They should have bought Sun and have it continue doing Java. Would have been cheaper than what is now happening.
Re: (Score:2)
For those not familiar with java EE, who, like me when I first saw this popping up on the tinterwebs thoght this was remotely a java..
"Java EE" IS NOT what anyone familiar with Java would ever really use.
Its more like a mish mash of highly specialized and mostly irrelevant java projects for corporate customers that I very much doubt anyone but the original client is using.
This is not remotely equivalent to the java JDK we are all familiar with.
At least, as far as I can tell. If someone can point me to somet
Re: Consequences in Banking/Finance? (Score:3, Informative)
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 develo
Re: Consequences in Banking/Finance? (Score:2)
Im pretty sure that isnt true.
For example. Tomcat (by apache foundation) is he implimentatiom for some of the more widely used java ee specifications. And is based on vanilla java.
And gives jsp and servlets.
There is a version combined with other java ee components (java tomEE). But Looking to see if it was true that tomcat is java ee is the first time Ive heard of it.
Re: Consequences in Banking/Finance? (Score:1)
But still. I don't see anything that any normal dev would miss being de prioritised and oracle devs being put on "other things".
So why is oracle getting such "bad press" for doing exactly that?
Re: (Score:3)
I work for a very large bank heavily invested in Java and while we are largely a Java shop for the Web tiers, most of what's done is no longer J2EE but rather Java in a servlet container with frameworks like Spring or Hibernate. In fact, we're largely shifting off of full fledged Java app servers (WebLogic, WebSphere, etc.) to simpler containers (e.g. Tomcat) as the needs are no longer there. Talking to my peers at the other big bank, it sounds like this is an industry trend.
Re: (Score:2)
The big, huge problem with Tomcat is that it doesn't scale well beyond a single instance running on a single server (unless something MAJOR has changed within the past year or two). Mostly, because it takes an eternity to start up after redeploying a new webapp, and starts responding to http requests with 502 errors (instead of just silently ignoring the connection requests) a minute or more before it's REALLY ready to handle them. And frameworks like Spring just make matters even worse.
Re: (Score:2)
Sorry,
You make no sense at all.
Why would one remove AWT and what would be the point?
Old code relies on it.
Same for Swing.
If you don't like Swing, use JavaFX. But there is no need whatsoever to 'remove' anything. That would break backward compatibility.
Java has Generics, no idea what you want to update there. Perhpas giving it a true templates would be a point. Linq would be a thing, but Java went for the new Streams API.
Regarding native code: there are plenty of runtime environments and compilers for Java t
Re: (Score:2, Insightful)
You seem to not know what you're talking about. Java and Python aren't even in the same class of programming languages. Other than C#, please name another language that's good for large businesses? C++ is incorrect. The strict typing and ability to auto-complete are must haves language features for companies with wildly ranging skill levels and churn rates. C++ doesn't have that nor does Python, Ruby, or JavaScript. Sure some editors will generate fake auto-complete lists, but its not possible for the
Re: (Score:2)
You're right, but the proliferation of things like Spring have SERIOUSLY blurred the lines between compiled languages and interpreted languages. When you're using a framework that builds objects dynamically at runtime from definitions in config files via introspection and custom classloaders instead of compiling them from Java sourcecode, you're giving up most of the safeguards a compiler has traditionally furnished for you.
In related news, Microsoft does open source .NET (Score:1)
See https://blogs.msdn.microsoft.com/dotnet/2016/06/28/the-week-in-net-6282016/ [microsoft.com]
In short, more cross-platform libraries for .NET while Java EE may be stagnating.
As some people have commented on ArsTechnica, if this goes on Oracle risks that more corporate users switch to the .NET ecosystem. Which will not make Java obsolete overnight, but such trends tend to be self-perpetuating.
Re: (Score:2)
Be aware that Java EE is more than Oracle these days. Just because Oracle drops it doesn't mean that those that have developed various platforms compatible with the API will drop it.
Re: (Score:2)
I used to dislike .NET a lot, but as of late I've started coding more and more to it. It's easy to be productive with it and prototype stuff, but I still favor other platforms and technologies for long-term projects that require more robustness. Java, on the other hand, has always been a pain in the ass for me personally. Might be because it's just been misused so widely and after Sun, Oracle has also been a pretty damn good reason to hate it.
Re: (Score:2)
I hesitate to call any piece of software open source unless its maintainers affirmatively resign all rights to software patents that are even remotely relevant.
Re: (Score:1)
That would of course be nice, and IIRC the GPL V3 has some clauses to give the user protection against patent misuse.
But in general, I'm fairly content if you get the source code, the right to redistribute it and no overly onerous license clauses to limit how you use it.
Is this a problem? (Score:4, Interesting)
I see no less than 5 [wikipedia.org] 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?
Re: (Score:2)
4 actually, two of those are Oracle; WebLogic was acquired when Oracle bought BEA.
Oracle voting for Jexit? (Score:1)
Not trolling... but I think it is time and right thing to do.
Don't misinterpret me... I worked in a Java house for 4 years. For the life of me, I can't understand why anyone should go for Java solutions at this day and age. Perhaps, it solved some problems around the time it was introduced. Fast forward to today, I find it overly complex, largely irrelevant and struggling to keep up.
I guess Java will haunt all of us for another few decades, similar to Cobol, simply because of Android platform and many other
Java and Java EE: two different things (Score:5, Informative)
Re: (Score:3, Insightful)
Agreed. Java EE is for dinosaurs. I don't know anyone who uses that crap anymore.
Re: (Score:2)
Well, according to the HR department of my company, "dinosaurs" are in high demand right now.
Re: (Score:2)
I don't doubt it. It's a sad situation.
Re: (Score:2)
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.
This is absolutely right. Sun were so slow evolving the Java EE spec, the user community took the lead and developed less high maintenance approaches like Spring. This won't affect most Java developers, even those developing "enterprise" applications.
Re: (Score:3)
And that is why java is terrible. There's no real common target, it is terribly fragmented. You have the language, which is standard curly brace plus a lot of nonsense convention.
I get the academic rigor of some ways of doing things, but then you can choose any old framework, and various extensions because the core is missing features or functionality.
You can't just be a java programmer. I would never hang my hat on just one aspect, but I don't see anyone being successful at java in general, as day one come
Re: (Score:2)
Java 9? meh... (Score:4, Informative)
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.
Re: (Score:3)
I think you'll still find that most libraries retain java 7 compatibility. Luckily that does not generally prevent you from utilizing java 8 features in application code, even when interfacing with those libraries. E.g. libraries accepting references to single-method interfaces for callbacks will happily accept a lambda expression instead. To the JVM they're indistinguishable after all.
One example that comes to mind is Spark framework (http://sparkjava.com/) which I like for its almost naive simplicity.
Re: (Score:1)
I think you'll still find that most libraries retain java 7 compatibility.
Yeah. I know. That's why I specified "no regard for Java 7." And yes, Spark's examples do appear to be significantly less hateful than "traditional" Java web stuff. Interesting. And thanks.
Re: (Score:2)
"traditional" Java web stuff.
I just threw up in my mouth a little bit.
Re: (Score:3)
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.
This
There is a reason that scripting languages aren't normally used for large applications. After the initial "wow that was super simple to write", you get to the phase where debugging takes forever, and maintenance is a pain in the ass. Maintenance is always the major share of soft
Re: (Score:3)
There is a reason that scripting languages aren't normally used for large applications. After the initial "wow that was super simple to write", you get to the phase where debugging takes forever, and maintenance is a pain in the ass. Maintenance is always the major share of software cost, and the amount of time it takes to write the initial code should be a secondary consideration (IMHO). Anyone who thinks a strongly typed language is just a pain in the ass probably hasn't done much long-term maintenance on a large system.
And this is precisely the reason there're so much effort on "dynamic languages".
The ideal programmer nowadays are cheap and disposable as the code he writes. There's no money on fixing production code, everybody wants to throw everythig away and rewrite from scratch every couple of years.
Long term maintenance demands competent and experienced professionals - that costs more. Throw away code, written by throw-away programmers are cheaper on the short-run, leaving more money to be pocketed by the low and midd
Re: Java 9? meh... (Score:2)
Exactly. This is why I think the only thing that will supplant Java as the defacto language of business is a JS one like Node or its successors.
Especially with web frameworks taking over all ui, now we can turn or crappy front end "web programmers" into server system programmers.
Re: Java 9? meh... (Score:2)
And don't think I hate node. My job is a JS front-end with Java back end. It predates node, someone may have picked that if they were to build it today. (But not me. I am ok with node, but I prefer Java 8.)
Re: (Score:2)
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.
So Java finally caught up to where literally every other programming language including C++ had been for years???
Need real performance? Use Fortran, C, or C++ PERIOD. Want "relatively good" performance? Use C#, Go, Rust, or, hell, even Nodejs these days-- why bother with that crufty awkward dinosaur called Java?
Want something "easy to learn"? Use Python, Ruby, Javascript-- ANYTHING but pedantic and verbose Java.
Want something that "runs everywhere"? Dude, literally every programming language does that
Some people might say, Ding dong the witch is dead (Score:2)
So, I am begging someone very corporate and very stodgy to take over Java if Oracle abandons it. SAP, IBM, the US g
How is CPython or PyPy not a PVM? (Score:2)
The typical Python program, for instance doesn't need a PVM
What do you think CPython or PyPy is, if not a Python virtual machine? Good luck running a program written in Python on a PC running the Windows operating system without one of those installed.
Good time to divest from Oracle (Score:2)
Java != Java EE (Score:1)
Java ecosystem will continue to live pretty well without Java EE specs.
Thank god for that! (Score:2)
And I say this as someone who's been in the Java/JVM space for almost 20 years. J2EE was a bad idea at the time, and has long been consigned to the scrap heap by anyone who knows what they're doing. I'm honestly amazed they were still investing in it up until this point. Just say "container managed persistence" to a Java dev and listen to them laugh :)
All the major enterprises using Java that I have knowledge of dumped EE years ago (if they ever even adopted it), they're all in the Spring/Hibernate camp (wh