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
Fuck Oracle. Also fuck the people who buy Oracle products.
Google should fork Java (and rename it) before Oracle tries to fuck over anyone else with such an important technology stack.
Dalvik should have been based on Python perhaps with a JIT based on Cython. Then Oracle becomes increasingly irrelevant.
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
What if Google bought Oracle?
It's most likely already forked.
They will keep it under the covers until it's ready to deploy and at the opportune moment so Oracle buckles it's knees.
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
If Java is COBOL 2.0, .NET is PL/I 2.0.
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.
Thank you for helping us all to understand those brave souls of the internet... trolls
Without their self sacrifice we would find ourselves living in a stagnant mental puddle of accepted facts and prejudiced ideals
We are all beholden to the trolls for their incitement of thought and generation of heated discourse
From the simplest provocation to the highest of motives, trolls, one and all, are the Heroes of our era
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 critical software written around it, and the large pool of (barely talented) developers. Good luck!
I think what we'll start seeing within the banking and finance fields is an industry-wide movement to Rust. Rust is perfect for these kinds of applications: it's super safe and it is super reliable and it is super fast. It's everything that the banking and finance fields need, plus it's futuristic. That's exactly why Rust is the future, in fact: because it defines what the future is, today. The beauty of Rust is that with one language it makes so many other languages irrelevant. If you're using Rust you don't need C++, you don't need Java, you don't need Perl, you don't need Ruby, and you don't need JavaScript. Rust is a full-stack language that you can use to write the OS as well as the libraries as well as the applications as well as the middleware! There is no need for different languages when Rust can do it all.
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.
Synergy is the creation of a whole that is greater than the simple sum of its parts. Do we really want that?
Oracle = evil
Google = evil
Google + Oracle = more than twice as evil
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.
*a idiot
Oracle would still be evil.
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.
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.
C# only has some vague similarity in syntax with Java, they are miles apart nowadays. C# is actually more closer to (or perhaps less distant to) Scala than Java.
Vi
Faster! Faster! Faster would be better!
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
You left out WebSphere
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.
Anyone that recommends a language with dynamic typing in 2016 is objectively retarded.
Java ecosystem will continue to live pretty well without Java EE specs.
Will $CURRENT_YEAR be the year of the Linux Desktop?
It's funny to see people that "like Python" act like elitists. The Dunning-Kruger effect amped up to 11.
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"
Perl
but I still favor other platforms and technologies for long-term projects that require more robustness.
.NET is not robust? Can you name a language feature or class library that doesn't already exist and do what you need in the standard framework install? Now throw in all of the ALT.NET open source work, all of the projects on CodePlex and the vast universe of StackOverflow, CodeProject and many other blogs, community forms and other gatherings of .NET developers and you would be hard pressed to find a richer and more pervasive development platform or ecosystem anywhere else. The .NET world is the 800 lb Gorilla of business software development. Oracle is the nearest competitor with Java, but since the death of Sun and the acquisition by Oracle, Java has languished. Meanwhile, .NET is charging ahead under the leadership of a new generation CEO in Satya Nadella of Microsoft with Azure cloud services second only to Amazon AWS. I don't know about you, but it looks to me like .NET is the rising star in the corporate software development world, not Java.
Java has become toxic, with Oracle's bizarre attempts to assert copyright on APIs in America. This makes further commercial development using it seem at best risky if you are shipping products in the country with the dysfunctional legal system. If copyright maximalism has a chance of prevailing, then you end up with a product that is coupled to APIs that are controlled by a clearly vindictive company, with management who appear to be unhinged.
If you don't care about shipping to America, maybe this is less important. I can't imagine any other country allowing this kind of madness to proliferate, but many of us do have to trade with the land of corrupt and mercantile capitalism.
I have serious doubts about future plans for java, and Oracle's commitment to further development. Killing further development of EE might not be such a good idea, even though it has become quite the overcomplicated and unwieldy beast. For java, this is its core area of commercial usage. Java on the desktop never really happened, largely due to the long startup times, laggy interactive behaviour, high resource consumption, and lack of an acceptable GUI toolkit. EE is entrenched on the server side in big business, and surely will be become the Cobol of the future, albeit with a much nicer syntax/language.
The Java garbage collector is finally starting to work!
Not sure if trolling emacs vs vi or vi vs vim
Java is very easy to learn. It takes only 5 years or so. The problem is people who only learn the syntax and think they mastered it. Java is more about tools and libraries than syntax. Think Eclipse and junit. Or maven and jetty. Or minecraft and modpacks.
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
You left out WebSphere
I would too.
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...
I thought this is called Extend in MS's terminology.
Were you dropped on your head as a baby? JNI exists on Mac and Windows, so yes, someone could write an implementation on those platforms. With Microsoft's weird proprietary native interface, you're just screwed on other platforms (which is exactly what Microsoft wanted to do.... screw the other platforms over).
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.
Thank you for confirming what I just said, in the douchiest Microsoft guy way possible.