Live data from Hacker News

Negotiations Failed: How Oracle Killed Java EE

headcrashing.wordpress.com

241–250 of 526 posts

Re: Negotiations Failed: How Oracle Killed Java EE

#241

Earlier quoted context omitted.

Here we go again with "true Generics". Type erasure makes interop easy (for an almost insignificant cost), including with Java prior to generics. But that's also what makes different languages on the Java platform interop so well (contrast with the CLR, where this is not the case; they've baked variance into the runtime and are paying a high price for that decision). If Java had baked their type system into JVM, Scal…

Seeing that generics have been around since 2005 in C#, I think the .Net community has had plenty of time to work around the incompatibilities.... There are other languages that support CLR besides C# and they manage to “work around” generics. All in all, The JVM is leading not only CLR on all fronts, but pretty much any other runtime. C# compilers and GCs are at least a decade behind Java's. You may argue on how imp…

F# does not have higher kinded types, because of CLR. So no, they don't manage "work around" generics.

Regarding measurements: https://www.techempower.com/benchmarks/

Also, I am very interested to see new benchmark results once AOT SubstrateVM will be more widely adopted in JVM community. Demo: https://youtu.be/MN6jNIwl2FQ?t=1136

RedHat already working on a framework which takes full benefit of that: https://quarkus.io/

All in all, with upcoming value types, SubstrateVM adoption, fibers and nice languages improvements like records, future is brighter than ever for Java.

Edit. Regarding JVM vs CLR https://news.ycombinator.com/item?id=15955685

Re: Negotiations Failed: How Oracle Killed Java EE

#242
post #237

Earlier quoted context omitted.

There is the little language called C# that’s been around for a minute.

It has such a wonderful cross-platform GUI.

There are no “wonderful” cross platform GUIs and that been true for over two decades.

Re: Negotiations Failed: How Oracle Killed Java EE

#243

If I understand correctly, OpenJDK is licensed under GPL with classpath exception - and the only thing that is preventing openjdk from being unusable in any commercial settings is a few lines of legalese, controlled by Oracle, on handful of source files in various packages. If Oracle removes that classpath exception legalese in some upcoming jdk version from these source files (which they are fully in control of), op…

> Am I mistaken about any of this? You can't revoke a GPL license unless the licensee violated the GPL. Additionally, the GPL has this nifty "Automatic Licensing of Downstream Recipients" clause. In other words, if you put some code out there under the GPL, there is no way for you to un-GPL that particular code. Even if you bring out a new version of it that isn't GPL any more, the old version still is. (This is quit…

> You can't revoke a GPL license unless the licensee violated the GPL

Probably true for GPLv3, because GPLv3 actually says that it is irrevocable. OpenJDK is under GPLv2, which does not say anything about revocation. It is an open question whether or not GPLv2 can be revoked.

> Additionally, the GPL has this nifty "Automatic Licensing of Downstream Recipients" clause. In other words, if you put some code out there under the GPL, there is no way for you to un-GPL that particular code

That clause actually makes it more likely that GPLv2 could be at least partly revoked, because the full text is:

> Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor [...]

It's that "original licensor" part that makes partial revocation a possibility.

What if the original licensor simply says that they are no longer granting new licenses? Everyone who already has a license can continue to use the software, but new recipients no longer can get a license? (That's what I meant by "partly revoked" earlier--existing copies remain OK, but the spread of them, or derivative works of them, is stopped).

What happens then is a mess. Even figuring out who has standing to sue to try to make license issuing continue is a mess, getting into such questions as whether the unspecified future downstream recipients of copies are intentional beneficiaries or incidental beneficiaries of the contract. (And then there is the whole "is this a license or a contract?" issue which is very murky).

BTW, even licenses that do say they are irrevocable might suffer from this partial revocation danger if downstream recipients must get their license from the original licensor.

The fix to this is to allow sublicensing in your license. Make your license irrevocable (so that once someone gets a licensed copy it cannot be taken back), and allow sublicensing so that when someone distributes a copy the license for that copy comes from them rather than you. Then if you stop issuing new licenses there is no problem, because people get their licenses from their distributor.

If you don't want distributors to be able to give their downstream less rights than you gave them by only sublicensing a subset of those rights, you can put in the license a clause that requires distributors to sublicense all the rights.

A nice side effect of the sublicensing approach is distributors have standing to sue for license violations. Under the GPL-type approach, where all licenses are directly from the original licensor, only the original licensor can sue to enforce the license. Under the sublicensing approach, both the original licensor can sue (alleging copyright infringement) and the distributor can sue (alleging violation of the license).

Re: Negotiations Failed: How Oracle Killed Java EE

#244
post #70

Earlier quoted context omitted.

Lovely theory, but in practice it works more like this: 1) write everything in python because its easy and quick to do so. 2) its slow as. 3) abandon software and write it in something else, or, live on with slow ass software and blame python for being slow and rubbish forever more. re-writing python in c is a hideously painful process, and its proven to be very unsuccessful practically. Writing new code in c/c++/wha…

No, in practice is works something like this: 1) write everything in python 2) yeah, the performance here is good enough so ship it 3) there is no 3 There are very few situations where performance is going to be an issue for you where there is not an existing C module solution that will solve the problem for you. The tired old 'python is slow' trope is getting more and more irrelevant every day. There are other aspec…

I spent 4 years as a professional python developer.

We certainly shipped (using django) and it was certainly slow, and remains a painfully slow very successful enterprise app.

I’m not arguing that the slowness is deal breaking, but it is slow, and it does, routinely, break the SLAs its supposed to meet.

So... unusably slow? no.

...but slow? yes, it really is.

imo. your milage may vary. /shrug

Re: Negotiations Failed: How Oracle Killed Java EE

#245
post #235

Earlier quoted context omitted.

The world is moving on from .Net Framework - including Microsoft. .Net Framework is definitely the new COBOL. It’s basically in maintenance mode. Any company would be crazy to start a new greenfield project using .Net Framework and should have some type of plan to move to Core. https://visualstudiomagazine.com/articles/2018/10/10/net-key... The presenters said it will still be released with Windows, as it's a compone…

I know what Microsoft wants, I spend most of my time as .NET dev. That doesn't change the fact that many libs don't run on .NET Core, or outside Windows for that matter, specially the ones that depend on C++/CLI.

So instead of tying your horse to one dead end platform - .Net Framework - you’re okay with tying your horse to two? It was clear that C++/CLI was a dead end a decade ago.

When Microsoft mentions thier “strategies” for various .Net languages, you notice which one is missing?

https://devblogs.microsoft.com/dotnet/the-net-language-strat...

I’m very much a .Net fan but it makes about as much since as a developer to tie your fate to .Net framework or Windows only development in general in 2019 as it did for all of the companies not to move from VB6 after .Net was the future.

Even Azure host more Linux VMs than Windows.

Re: Negotiations Failed: How Oracle Killed Java EE

#246
Oracle fights with the open source community and loses, again. They just keep repeating the same mistakes over and over. What always happens is the Open Source people say "screw Oracle" and fork the project and the community comes along with them.

The Hudson/Jenkins and OpenOffice/LibreOffice fails were two of the quickest and most obvious. Java EE seems like the same sort of thing, but much bigger and in slow motion.

Re: Negotiations Failed: How Oracle Killed Java EE

#247
post #230
post #219

Earlier quoted context omitted.

> The Java ecosystem has been slowly dying for years, it's already the new Cobol at this stage. This has been said for at least the last ten years. Not only is Java not dying, but companies like Apple and Facebook (not to mention Netflix, Amazon and Google, that are mostly or largely Java already) are increasing their investment in the platform. This was not the case when COBOL was 25. The reason this is so is that J…

I think you’ve drunk the kool-aid a little. Outside of complex projects headed by PhD compsci students (who used to learn java in uni but those courses are now taught in python) there isn’t a whole lot of mindshare going towards java these days. At least in regards to new FOSS projects. I can say that my company’s use of java is diminishing rapidly over the last 5 years too. No matter what you think of the technologi…

> I think you’ve drunk the kool-aid a little.

Don't know about kool-aid, but if you want to do interesting platform work -- on GC, compilers or low-overhead observability -- you could work at Microsoft on .NET, at Google on V8 (or Go), or at Mozilla on WebAssembly, but the truly cutting-edge, state-of-the-art work is done at Oracle on the JDK (and related projects like Graal), which is where I get to lead a project to add delimited continuations and fibers to the JDK. We're obviously keeping an eye on what's going on elsewhere, and while there are certainly great ideas out there (some we're happy to steal, as others steal from us) we look around and don't see similar overall technological leadership elsewhere. That's not to say others won't pick up mindshare or win certain niches, or that technological leadership is the determining factor, but if you're in interested in the technology and familiar with what people are doing, it's hard to deny that Java is ahead of the pack in the technologies I mentioned.

> there isn’t a whole lot of mindshare going towards java these days. At least in regards to new FOSS projects.

I'm not sure your numbers are correct. Java is not the only game in town as it was for a few years in the first half of the naughts, but "not a whole lot of mindshare" seems to be detached from reality. I can't predict the future, but remember when PHP had all the mindshare and totally killed Java? Remember when Ruby did the same? I would like to think that Java still being the leading server-side platform after being killed over and over has something to do with its technical excellence, but I know that's being naive. Nevertheless, wishful thinking on the part of some don't make reality, and usual fluctuations don't make a trend. Eventually, something will kill Java -- or at least mark its true lasting decline -- but it doesn't seem like that something is here yet.

> I can say that my company’s use of java is diminishing rapidly over the last 5 years too.

That may well be, but we're also seeing companies switching to the Java platform in quite significant numbers, in cases where both performance and observability are top priorities. There seems to be movement inside the Java ecosystem (e.g. among the Java language, Kotlin, Clojure and Scala) or outside it (e.g. people switching among Ruby, Python, Node and Go), but we're not seeing any significant shift away (except on the client side, where the browser has won). There are also certain niches, like machine learning, where the Java platform isn't number one, but it's doing much better than Node, Go or .NET.

> Oracle itself is a pariah, the vast majority of the tech industry avoid it.

I'm not a manager, but I'm not sure the numbers support your conclusion. The opinions developers voice on HN and Reddit are... fickle, and don't necessarily reflect market shifts. In any event, the competition doesn't seem to be doing too hot in comparison, either. I can tell you that personally I'm certainly unhappy with some of the things Oracle has done, but at least it's not surveilling on the entire world, putting thousands of small businesses out of business, or getting kids into conspiracy theories. Also, my colleagues are so far not famous for outbursts of racism or misogyny. Now, I admit that’s not exactly high praise, but these days, as far as Big Tech is concerned, that’s not not nothing, either, and I’ll take annoying some other corporations over those any day.

Re: Negotiations Failed: How Oracle Killed Java EE

#248

Earlier quoted context omitted.

Seeing that generics have been around since 2005 in C#, I think the .Net community has had plenty of time to work around the incompatibilities.... There are other languages that support CLR besides C# and they manage to “work around” generics. All in all, The JVM is leading not only CLR on all fronts, but pretty much any other runtime. C# compilers and GCs are at least a decade behind Java's. You may argue on how imp…

F# does not have higher kinded types, because of CLR. So no, they don't manage "work around" generics. Regarding measurements: https://www.techempower.com/benchmarks/ Also, I am very interested to see new benchmark results once AOT SubstrateVM will be more widely adopted in JVM community. Demo: https://youtu.be/MN6jNIwl2FQ?t=1136 RedHat already working on a framework which takes full benefit of that: https://quarkus.…

And the only person who is saying that is so (with a lot of people disagreeing) is someone who “work[s] at Oracle on VM research”

Re: Negotiations Failed: How Oracle Killed Java EE

#249
post #32
post #10

« Oracle already started a blocking politics at the Eclipse Foundation’s board, where Oracle has a seat, and where unanimous decisions are needed. Oracle now has the power, and apparently will use that power, to block the foundation’s future. It demonstrated that power already in a board meeting, where they had the sole vote against an otherwise unaimous move. » I hope other organisations with a director from Oracle…

For me it's more a lesson about how unanimous votes, or unanimous - N can become problematic. In the EU the same is happening. Poland and Hungary have found a loophole allowing them to ignore EU rules and sanctions while still profiting from subsidies and market access. All sanctions against a member state require unanimous-1 (all states except the sanctioned member) votes and Poland is vetoing all sanctions against…

France broke the EU deficit rules for over a decade. Everybody talked about it, but nobody acted.

If a EU state refuses to do a thing, that's basically it.

https://piie.com/blogs/realtime-economic-issues-watch/france...

Re: Negotiations Failed: How Oracle Killed Java EE

#250
post #236

Earlier quoted context omitted.

The contention was that other languages had a “lot to catch up” with Java because it’s been around for 25 years. So how haven’t other statically typed languages “caught up”? In fact, Java is so far behind C# with true Generics, LINQ - not the syntax the entire linq expressions -> expression trees -> runtime providers that can parse the trees and translate it to a destination syntax, etc. it’s laughable. Can anyone sa…

Good luck running C# on the 100% OSes and hardware that runs Java VS97 better than Eclipse, without additional plugins? Alternative universe.

Eclipse was slow and had the usual non native Java smell that all cross platform GUIs have - especially on computers back then. But even now, Eclipse is sluggish compared to Visual Studio.
Post reply on HN