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".
It should taken and placed in the public domain. Problem solved...
“He’s not deformed, he’s just drunk!”
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.
C - the footgun of programming languages
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/
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.
Lots of java in the banking finance world. I wonder how much of it runs on the EE platform.
http://docs.oracle.com/javaee/...
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
See https://blogs.msdn.microsoft.com/dotnet/2016/06/28/the-week-in-net-6282016/
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.
C - the footgun of programming languages
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!
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.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
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.
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 that compile to native code. E.g. https://github.com/ReadyTalk/a...
Regarding your favourism of C#/.Net ... it does not run on most platforms I'm using. And they made some mistakes regarding class and method names ;)
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Two negatives give a positive.
-SR
unly if multiplrd or devided :)
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.
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.
-SR
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 editor to list with 100% certainty all the functions and methods and their types in Python and similar (to be fair Java isn't 100% either if you use reflection, but very few projects use those features and novices don't even know they exist).
Remove a well established GUI toolkit? Why? Nothing forces you to use it and many like not having to find and manage more 3rd party libraries. Java comes with all the bells and whistles that you need. Mature and cross platform threading, GUI, networking, file I/O, graphics, images, algorithms, database interfaces, etc... C++ didn't even understand threads until recently. Java is one of the, if not the best, general programming language. Easier and safer to program than C related languages and safer than Python and other 'scripting' languages. There are always trade offs, it isn't the fastest language to program. Though Java is easier to debug than dynamic ones, so initial development speed is a misleading metric.
There are native compilers for Java. You have to know enough to use them when warranted which you clearly don't.
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.
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.
Google should fork Java (and rename it)
Microsoft already did that. They named it C#.
The sum of Google and Oracle wold disappear in a puff of smoke.
Vi
Faster! Faster! Faster would be better!
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.)
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
I totally missed the equation there. :S
-SR
No, it's actually J# then Microsoft got sued by Sun and had to drop it because Microsoft was intentionally adding in incompatibilities because Microsoft could expect to be the biggest player.
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.
C - the footgun of programming languages
I am certainly not a fan of Java, but people who like java like it for the exact reasons I don't like it. Without going into those, I don't want the Java people flooding into languages I do like such as C++ and Python and trying to turn them into Java. The typical Python program, for instance doesn't need a PVM, it doesn't need 80000000 classes, and it doesn't need certification to get a job.
.Net if you get stuck, there are a craptonne of government jobs just waiting for you.
So, I am begging someone very corporate and very stodgy to take over Java if Oracle abandons it. SAP, IBM, the US government, Fourth Reich NAZIs, The North Koreans, anyone. Just don't unleash a flood of unthinking anti-creative, anti progressive pseudo programmers onto the world. The banks and other crusty organizations don't want this to change either.
Oh, Java programmers; you should check out
Obviously executive management has no clue how to grow their business.
Java ecosystem will continue to live pretty well without Java EE specs.
Will $CURRENT_YEAR be the year of the Linux Desktop?
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.
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)
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.
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 (which is looking pretty old itself by now). The smaller, newer shops skipped over even that and are doing microservices with stuff like Akka.
The core Java language is doing OK, 8 brought in some much needed modern language features, although 9 looks much more incremental. Honestly the JVM as a platform (Scala et al) is more exciting to me than Java as a language, but it does the job.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
J2EE doesn't have a code of conduct.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Not sure if trolling emacs vs vi or vi vs vim
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.
I'm a good cook. I'm a fantastic eater. - Steven Brust
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://www.teamdev.com/jxbrow...
What difference does it make if it's the Chrome engine or some engine written in Java?
http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
Its so "vague" you can do a find and replace on most code.
Mod me down, my New Earth Global Warmingist friends!
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.
The problem is Oracle will probably drag out the process, causing untold damage to the Java ecosystem in the process.
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.
Mod me down, my New Earth Global Warmingist friends!
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...
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 better) way of calling code that is by definition not cross-platform is a stretch - you're already distributing a .dll, a .so and/or a MacOS8 shared library.
and by "weird proprietary", presumably you're referring to J/Direct which used an attribute syntax not dissimilar to what java has now calling out to COM/OLE which at the time was the interface to the largest existing library of 3-rd party commercial software components available for any platform anywhere: VB, access, office and a huge ecosystem of ISVs . microsoft was tasked by sun to write the reference implementation of java on windows. COM/OLE was THE API for writing software components on windows. if java hadn't included COM support it would have been dead on arrival. no windows dev would have touched it - they would have just stuck with VB which nobody (especially the java team inside MS) wanted - java was seen inside MS as the best way to replace the hugely popular (or, in your words, "weird proprietary") VB.
right, because improving things is obviously bad.