Live data from Hacker News

Negotiations Failed: How Oracle Killed Java EE

headcrashing.wordpress.com

151–160 of 526 posts

Re: Negotiations Failed: How Oracle Killed Java EE

#151
post #138
post #38

Earlier quoted context omitted.

The .NET ecosystem is an order of magnitude smaller than the JVM ecosystem. Up until ~3 years¹ ago C#/.NET also meant a fully Microsoft and Windows environment for all practical purposes². This is changing and Microsoft seems to be embracing open source and Linux, but it takes time for a 20 year old ecosystem to fully make the transition. ¹ The story is Steve Balmer was very anti-open source and forbade most interop…

That fully Microsoft and windows stack has had ripple effects. At least from my perspective in South Asia. First the price was a deal breaker. Second, people who started with C# quickly found their only employment opportunities to be at large companies. Those who started with Java/Node/Ruby had a much wider array to choose from. Third, when people jumped to start their own companies, Java/Node/Ruby/Python/Go won by a…

That's a very interesting view point, thanks for that. I hadn't considered it from that point of view.

Back when I was learning code(early high school) it was qbasic, HTML and c++, once I was able to afford a cheap pc I learnt via scripting (for Ultima online free servers).

I guess it's a big difference between learning for a job and learning for fun(pre-job that is). Which it seems I have kept on the years after haha.

Thank you again :-)

Re: Negotiations Failed: How Oracle Killed Java EE

#152
post #96

Earlier quoted context omitted.

The most valuable corporation in the world as of this date uses zero Java for anything “core”. Anecdotally, nearly every CIO/CTO I’ve encountered in the last few sees Oracle as a huge risk. Most particularly with regards to databases, which are even sticker than applications which have shorter life cycles.

You mean the servers Apple has running on WebObjects, JEE and Clojure for iTunes, Apple Maps and their iCloud?

Microsoft is currently the most valuable company in the world.

Re: Negotiations Failed: How Oracle Killed Java EE

#153
post #89
post #78

> And the idea that corporate developers or even frankly any developers are switching to LLVM and WebAssembly en masse is pretty ridiculous. There is only 1 popular language released since 2009 that targets JVM: Kotlin. All other target JS, their own bytecode or LLVM: Go, Rust, Dart, Elixer, Julia, Typescript, Swift. This is a significant difference from 2003-2009 languages which all targeted JVM unless they were Mic…

And all of them have a lot of work to catch up with 25 years of market experience.

Elixir is built atop a VM older than the JVM.

Re: Negotiations Failed: How Oracle Killed Java EE

#154
post #78

> And the idea that corporate developers or even frankly any developers are switching to LLVM and WebAssembly en masse is pretty ridiculous. There is only 1 popular language released since 2009 that targets JVM: Kotlin. All other target JS, their own bytecode or LLVM: Go, Rust, Dart, Elixer, Julia, Typescript, Swift. This is a significant difference from 2003-2009 languages which all targeted JVM unless they were Mic…

And who uses Dart? Elixir? Julia? Hardly anyone. Lots of attempts but also lots of failures, sometimes due to poor runtimes or libraries.

Swift is iOS/Apple specific, at least in usage. But mobile is dominated by Android, which is moving towards Kotlin. So Kotlin is already huge right there, much larger than Dart or Elixir and probably larger than Swift, soon if not already.

Meanwhile Go would probably benefit from targeting the JVM, or at least having the option. As is, it's stuck in its own isolated world with low quality tools, libraries and GCs.

At any rate number of languages is an odd metric. Kotlin by itself is a good enough language to probably kill off most attempts to compete with it over the next 5-10 years or so on the JVM, outside of research languages. Does the JVM really need dozens of languages?

Re: Negotiations Failed: How Oracle Killed Java EE

#155
post #69
post #60

Earlier quoted context omitted.

Kotlin is a JVM language, sold as a better Java, and the JVM is really the thing that is the echo system gathers around, not necessarily the language Java. Other interesting languages you have on the JVM is Scala (multi-paradigm), Clojure (Lisp), EtaLang (Haskell) - https://eta-lang.org - https://www.scala-lang.org - https://kotlinlang.org - https://clojure.org

Notice how I separately addressed JVM and Java. Java is already losing market share to JVM competitor languages. JVM is in a stronger position than Java, but imagine a world were 15-10 years ago native compilation for JVM bytecode became available instead of 1 year ago. LLVM wouldn't have stood a chance. Kotlin and Scala (I'm not too familiar with Clojure and others) are hedging their bets and making JS/Webassembly a…

LLVM would have been created even if free/open source, SubstrateVM style tech existed back then because LLVM was designed as a competitor to GCC for compiling C and C++. The JVM can run C/C++ code these days 'natively' (by JIT compiling LLVM bitcode using Sulong) but that's not what it was created to do.

Also bear in mind LLVM is not really a JVM competitor despite the name. LLVM is a toolkit for building compilers, primarily, C/C++ compilers. Other languages that targeted it have had to do a lot of work to change LLVM for that language. It's not actually a "VM" in the JVM or V8 sense, for instance, it doesn't provide a garbage collector and LLVM bitcode is neither platform neutral nor a stable format.

Re: Negotiations Failed: How Oracle Killed Java EE

#156
post #23

The Java ecosystem has been slowly dying for years, it's already the new Cobol at this stage. I have the impression that a lot of the mindshare has switched to the Node and Javascript ecosystem, especially the frontend devs, via the Typescript / Angular path, which is a natural path to Java developers due to the comfort given by familiar concepts like static types, classes, etc. When I used to do Java, I always found…

I've spend quite a bit of time doing javascript and typescript lately. Typescript definitely patches up a lot of the ugliness of javascript but you still deal with the same messy ecosystem of tools, libraries, and other cruft. It's been slowly getting better over the years but it's still not that great. I see typescript more as a gateway drug for people who seem to think that Javascript is all there is and then discover that actually having a type system unlocks all these amazing new tools that the rest of our industry has been enjoying for a few decades.

Guess what, if you like typescript, you'll love Kotlin. It's a much cleaner language, just as expressive, and it has a whole range of things that typescript simply can't do or that it simply does better/more elegantly because typescript is stuck preserving compatibility with javascript and all it's weirdness. MS has done a wonderful job of shoving a lot of that under the carpet with typescript but fundamentally types are optional because all javascript has to be valid typescript and therefore it has to also allow all the silly hacks, misguided features, and other cruft that javascript people have been coming up with for the past decades.

You might also like C#, Rust, Elixir, and several other languages that each offer their own tools, libraries, and features. I'm seeing a pattern with many frontend developers in the last few years that they at some point become full stack developers and shortly after start adding more languages to their repertoire. I know former node.js developers doing Rust, Go, Elixir, Kotlin, Rust, etc. now. Most of them are not very eager to move back to doing node.js projects.

Like Kotlin all these languages are all coming to the node.js/browser ecosystem through WASM. Full stack in 2020 is going to be a very different beast than just a few years ago.

Right now WASM already allows lots of languages to be used for just about anything that people currently do with javascript and typescript in browsers or in the node.js ecosystem. As this becomes more mature, people are inevitably going to change the ecosystem. This is already happening. E.g. Rust is being used for many low level npms for a few years now. However people have also been developing frameworks and libraries in Rust that work around/replace that ecosystem entirely. For a Rust person dealing with crates is preferable to dealing with npms, webpack and all the other stuff that is used in that ecosystem. So, they are fixing that. The goal there is to run pure rust in wasm in the browser or on v8 with 0 npms pulled in or used during the build process.

Likewise, there's an ecoysystem of multi platform kotlin libraries emerging and that allows you to build wasm or native applications and libraries without needing things like webpack, npm, etc (but using gradle instead). Same with C# and blazor. Each of those ecosystems uses browsers and node.js as runtimes but try to minimize/eliminate/replace most of the rest of that ecosystem. In the same way the Kotlin ecosystem is also starting to provide alternatives to stuff from the java EE and Spring ecosystem. E.g. Ktor is a multi platform web application framework that you can use instead of spring boot and run natively or on the jvm. It's also a drop in replacement for anything you might want to do with e.g. express.js. Doing express.js applications in Kotlin is of course also possible, but why would you when you can have ktor instead? In the same way building react applications in Rust is possible, but replacing it with a rust specific framework is much less awkward.

So, I agree things are changing but I'd say the node.js/browser landsace is changing as well and will not involve a whole lot of javascript/typescript for people coming from the JVM or other ecosystems.

You might make the point that there are all these millions of npms out there that can't be replaced easily. I'd counter that with the point that an awful lot of them seem to have very short shelf lives and are in fact replaced/discarded regularly.

Re: Negotiations Failed: How Oracle Killed Java EE

#157
post #147
post #32

Earlier quoted context omitted.

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…

> Poland and Hungary have found a loophole allowing them to ignore EU rules and sanctions while still profiting from subsidies and market access AFAIK this was tit-for-tat: HU & PL closed/sold-off their industry in favor of WEU in exchange for subsidies. Removing these subsidies for any reason would violate the main economic agreement between them and EU. Mind you, there is no significant locally grown industry in th…

What is UA?

Edit: Ukraine.

Re: Negotiations Failed: How Oracle Killed Java EE

#158
Dumb question... Wouldn't it be possible to fork the namespace to something like javax -> jawax (or java->borneo as someone suggested) and then patch the JVM to alias the javax package to the would-be jawax package (or borneox or whatever) ?

Re: Negotiations Failed: How Oracle Killed Java EE

#159

We all love Java, however we need to decouple the Language from the ecosystem that the new owner of Java, Oracle, wants to enforce upon customers. Oracle made a clear business decision and will go forward squeeze every single dollar they possible can thru legal means, not from innovation or services.

How are they squeezing dollars here? They don't seem to be demanding payment, or at least not directly.

I read the board notes. This appears to be a disagreement about trademarks and compatibility licensing. To be called "Java" you need to be compatible with the Java specs, and also have a trademark license. That's how they enforce that the platform can be reimplemented but it's seamless to users. Seems Eclipse Foundation doesn't like that.

Re: Negotiations Failed: How Oracle Killed Java EE

#160
post #6

Earlier quoted context omitted.

While there is some truth to it,they did more research for Java than Sun ever did, and no one else cared to buy Sun.

They did research not because they want to support Java community, but because they want to make gains from making it proprietary.

Then why is their research open source? GraalVM is on github.
Post reply on HN