Live data from Hacker News

Time to look beyond Oracle's JDK

blog.joda.org

71–80 of 136 posts

Re: Time to look beyond Oracle's JDK

#71
post #6

Actually, time to look beyond the whole Java ecosystem. After the claims Oracle made during the Google trial (such as APIs and method signatures being patent-able), it is clear that one can't work on the Java platform without infringing Oracle's IP. If Oracle doesn't sue you now, it can sue you when it makes financial sense to do so. .Net looks like a much better alternative, with a patent pledge and ECMA standardiza…

Your suggesting .net as an alternative but ironically the licensing of Java is largely shaped due to the Sun vs Microsoft lawsuit. Microsoft tried to do their famous Embrace, Extend, extinguish on Java (and failed: https://www.cnet.com/news/sun-microsoft-settle-java-suit/ ). Its only been a couple of years that Microsoft has been behaving "better". I suggest you read up on the history of Java, Android, Google and Mic…

>Its only been a couple of years that Microsoft has been behaving "better"

So? Oracle has never behaved good, so there's that. Do you expect a MS regression?

Besides MS has made some concrete efforts to clear things, like a pledge to not sue over patents, an ECMA standard, etc.

>I suggest you read up on the history of Java, Android, Google and Microsoft because you also seem to be unaware what Android Oracle vs Google was really about; Its wasn't about patents, it was about copyright.

Same difference if Oracle ends up suing you for recreating Java APIs.

Re: Time to look beyond Oracle's JDK

#72
post #31
post #6

Actually, time to look beyond the whole Java ecosystem. After the claims Oracle made during the Google trial (such as APIs and method signatures being patent-able), it is clear that one can't work on the Java platform without infringing Oracle's IP. If Oracle doesn't sue you now, it can sue you when it makes financial sense to do so. .Net looks like a much better alternative, with a patent pledge and ECMA standardiza…

Plenty of JVM vendors are happily selling their own versions, playing by the rules. https://en.wikipedia.org/wiki/List_of_Java_virtual_machines#... Google had the option to buy Sun after helping to their downfall, they have chosen not to spend the money to own Java. Now they get to spend on lawyers instead.

>Plenty of JVM vendors are happily selling their own versions, playing by the rules.

Good for them. The parent suggests we should not stick to a platform that imposes such rules.

Re: Time to look beyond Oracle's JDK

#73
post #66
post #31

Earlier quoted context omitted.

Plenty of JVM vendors are happily selling their own versions, playing by the rules. https://en.wikipedia.org/wiki/List_of_Java_virtual_machines#... Google had the option to buy Sun after helping to their downfall, they have chosen not to spend the money to own Java. Now they get to spend on lawyers instead.

Can you elaborate on Google helping in Sun's downfall. I seem to be missing a historical bit there.

To be confirmed but I recall that Sun offered to license Java to Google, for usage on Android. Google didn't want to pay a dime or acknowledge that a license a needed.

Long story short, Oracle bought java and it's back to square one, with layers and court this time.

Re: Time to look beyond Oracle's JDK

#74
post #58

Earlier quoted context omitted.

Nothing prevents you to deploy everything together. We have done it multiple times.

How do you solve issue that in order to use jlink every dependency must have explicit module name? Also do you use Spring Boot with modules? (Last time I tried to make it work I failed miserably, but it was a long time ago ...).

I was mentioning just bundling JRE with the application.

As for Spring, I never used it in anger.

Our Java Web projects usually are built on top of JEE stacks or Jersey.

Re: Time to look beyond Oracle's JDK

#75
post #66
post #31

Earlier quoted context omitted.

Plenty of JVM vendors are happily selling their own versions, playing by the rules. https://en.wikipedia.org/wiki/List_of_Java_virtual_machines#... Google had the option to buy Sun after helping to their downfall, they have chosen not to spend the money to own Java. Now they get to spend on lawyers instead.

Can you elaborate on Google helping in Sun's downfall. I seem to be missing a historical bit there.

"Triangulation 245: James Gosling"

https://www.youtube.com/watch?v=ZYw3X4RZv6Y&feature=youtu.be...

Re: Time to look beyond Oracle's JDK

#76
post #71

Earlier quoted context omitted.

Your suggesting .net as an alternative but ironically the licensing of Java is largely shaped due to the Sun vs Microsoft lawsuit. Microsoft tried to do their famous Embrace, Extend, extinguish on Java (and failed: https://www.cnet.com/news/sun-microsoft-settle-java-suit/ ). Its only been a couple of years that Microsoft has been behaving "better". I suggest you read up on the history of Java, Android, Google and Mic…

> Its only been a couple of years that Microsoft has been behaving "better" So? Oracle has never behaved good, so there's that. Do you expect a MS regression? Besides MS has made some concrete efforts to clear things, like a pledge to not sue over patents, an ECMA standard, etc. > I suggest you read up on the history of Java, Android, Google and Microsoft because you also seem to be unaware what Android Oracle vs Goo…

> Same difference if Oracle ends up suing you for recreating Java APIs.

Not at all. In a copyright case, you can argue fair use, as Google did.

Re: Time to look beyond Oracle's JDK

#77

Earlier quoted context omitted.

TypeScript ( https://www.typescriptlang.org/ ) is a good starting point. If you use nestjs ( http://nestjs.com/ ), it has dependency injection as well. Pairs with Angular nicely.

I've worked some in Typescript and I like it. In fact, it looks like it's going to be the next great enterprise language that's not Java or .Net. Am I delusional?

The next great language for enterprise web-frontends, maybe.

Re: Time to look beyond Oracle's JDK

#78

Interesting read. I think the whole idea of "We need to replace Java with [Insert Language]" is much more complicated topic than just saying "X is free , Java is owned by Oracle". Even is this is true , Java is by far one of the most performant programming language that exist on earth. People just don't realize the hundreds of millions of dollars that went into the JVM and the JDK. Even if they are great alternatives…

Java is better than it used to be but you’re significantly overselling performance as a competitive advantage. Many other languages have no trouble producing code which is as fast or faster, and Java is still shaking the culture of excessive complexity which has squandered much of the hard work in the JIT.

The ecosystem is a much better argument since it’s certainly massive, as is finding developers, although quality varies wildly in both cases.

Re: Time to look beyond Oracle's JDK

#79
post #29

Earlier quoted context omitted.

The decision makers are not programmers. The people making the choices on software in an enterprise are MBAs who know next to nothing about software and so they need some "insurance". Look at the tech founded enterprises, they do not go the tradition enterprise software route. Why? Their leadership came from a developer background and not an MBA one.

I don’t think it’s that simple. As a dev or sysadmin, all it takes is to have resources invested in a legacy system that no one gave money to replace but are ok with maintenance contracts. This easily happens when people leave/get hired. I have a legacy storage system only accessible through exactly Java 6u31 32-bit on Windows 7, of course I want to replace that but instead it’s cheaper to keep and maintain than to r…

That's the theory. In practice, it is near-impossible to get any enterprise vendor to actually fix something. Either you're lucky and another customer had the problem. Then, after annoying them for about a week, you'll get a patch.

If however you've found something new like a feature that's so buggy it is actually completely defect, you're in for an ordeal of a few months. Simply getting a dev to look at your bug takes a month. In that month, you'll answer every day questions like what OS you're on ('As I told your past 10 colleagues, We see it under red hat linux version X1 X2 X3, and under windows Y1 and Y2, and under HPUX Z. Yes, this is a pristine OS install with a pristine JVM. Yes, our support contract covers this. There is a test case in the bug report, run it on your computer and see yourself'). They'll call you in the middle of the night. Then call you again 12 hours later because you're not allowed to respond to their questions outside business hours so please tell us again and next time read your contract.

If you survive this, and you provide a perfect example source code fragment of 100 lines, and you decompile their own code, point at the bug, and suggest a less insane way to write that code, you'll get a fix. This fix seems to work for up to a day, when you notice your performance is less than a sixt from what it was. Then you notice how they ignored your suggestion, did something even less sane than the original code, and managed to break something else you hadn't even noticed before.

Call again, insist they do not start a new ticket unless you want to redo that original month. A few minutes later they call back and try to sell you six times the hardware you have as a workaround, and promise a 10% price reduction for the first year. Do not swear at any point, this will immediately end the phone call and you'll have to navigate their insane phone menu again and get a new lesson in Indian English from a guy who swears he is speaking your language perfectly right now (which is neither English or anything spoken in India, afaik).

After a few rounds of this, they produce a working patch. You confirm it works and are promptly forbidden to use it ever again. They will provide you 'soon' with an official version of the patch, which has been vetted against their secure development lifecycle, legal team, and god knows what else. Actually applying the current patch so your users stop screaming will end your support contract.

It takes in total a bit more than 3 months before the final patch is delivered. At that point:

1) management congratulates themselves for having bought support.

2) Your colleagues however are in awe about you've got actually managed to get an enterprise vendor th actually fix a bug. Turns out they have tons and tons of bugs and spend their days inventing horrible workarounds as they gave up getting them fixed long ago.

3) Contractors from the enterprise vendor, working on another project in your company will turn the feature off, as they know for sure it can't work. If you claim to have a patch and it is already running on their servers, they refuse to use it and turn the feature off once more. Not using the feature costs a small fortune in network overhead, BTW. If you enable it, the next coontractor entering the building will disable it instantly, even if your config file has this story documented.

Anyway, thats my experience. YMMV.

Re: Time to look beyond Oracle's JDK

#80
post #76
post #71

Earlier quoted context omitted.

> Its only been a couple of years that Microsoft has been behaving "better" So? Oracle has never behaved good, so there's that. Do you expect a MS regression? Besides MS has made some concrete efforts to clear things, like a pledge to not sue over patents, an ECMA standard, etc. > I suggest you read up on the history of Java, Android, Google and Microsoft because you also seem to be unaware what Android Oracle vs Goo…

> Same difference if Oracle ends up suing you for recreating Java APIs. Not at all. In a copyright case, you can argue fair use, as Google did.

Yeah, but how about not there being a case, and not having to argue (and pay laywers and such) at all?
Post reply on HN