I don't say nice things about Oracle very often, but they deserve some praise here. Graal is a very, very ambitious project, and Oracle has been funding it for years. It's still rough around the edges, but it promises to enable new programming languages to run on a high-performance JVM, compiled to native code. Write-once, run anywhere, at native speed. And now they're donating it. It's very decent of them.
> Oracle does not currently intend to contribute the polyglot technologies supporting other languages such as Python, Ruby, R, and JavaScript. Beware that this polyglot feature you've mentioned is not moving to OpenJDK.
Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
61–70 of 141 posts
Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
#62I don't say nice things about Oracle very often, but they deserve some praise here. Graal is a very, very ambitious project, and Oracle has been funding it for years. It's still rough around the edges, but it promises to enable new programming languages to run on a high-performance JVM, compiled to native code. Write-once, run anywhere, at native speed. And now they're donating it. It's very decent of them.
I know absolutely nothing about Oracle, GraalVM, OpenJDK, or Java development in general. I haven't used Java since a CS intro class during my undergrad like 10 years ago. Despite this, I've internally adopted the general consensus that Oracle is a terrible, greedy company. Can someone play devil's advocate to explain how this news may actually favor this negative view of Oracle? The sentiment in this thread is prais…
The generalized dislike of Oracle you have seen really comes from a couple of different aspects, neither of which are relevant to this specific announcement:
1. License audits suck.
2. The Google lawsuit (about matters resolved long ago and which don't apply to anyone except Google, really).
A lot of ill will comes from people whose companies have been audited. The process is by all accounts very painful. However, what's rarely mentioned in such discussions is the alternatives and why Oracle does this. It's because their software is totally DRM free. It makes sense; you can't have a major airport or bank shutting down suddenly because a license key or credit card expired, can you? Oracle DB is mission critical stuff, it must be always available. That's why they use an audit model - it's "trust but verify". They make their stuff available for free download and you promise not to pirate it.
Every so often Oracle turn up and check to see if you're paying for what you're using. At this point there are usually two problems that crop up:
1. The company doesn't actually know if it's correctly paying for Oracle's stuff. It requires a lot of work to find out, maybe the right controls weren't in place and naughty developers just installed more copies because it was convenient etc. Then they discover they've unknowingly been pirating the DB.
2. And/or they discover they didn't understand the licensing model, which historically had some very sharp edges around virtualization (maybe still does).
Because the downloads are open and unrestricted by any form of DRM, it's easy to make these mistakes in a company that doesn't have good processes in place. At this point the users have a problem because it's just plain old copyright violation. Oracle prefers not to sue its own users for obvious reasons so at this point a third issue crops up - their sales guys like to cut deals. Buy more of our software and you'll have some useful stuff plus we'll forget about your non-compliance issues. Win/win, right? Not always for the people who aren't at the top of the firm of course, who may now be told to adopt some new product that they wouldn't otherwise have chosen and may not even be told why (it's embarrassing for the executives to admit they ended up in that situation!).
It's worth observing that with the cloud these problems go away. Use Oracle DB only in the cloud (or MS SQL etc) and the cloud provider will track your usage and ensure you're paying for it. In turn that means no need for audits.
It's very easy to criticize Oracle for the above outcomes. It's harder to come up with alternative approaches beyond really down in the weeds stuff like the exact ways virtualized cores are licensed, etc. The moment you have a commercial product there needs to be some way to ensure users are paying for it (because a lot simply won't if there's nothing in place to make them), but if you accept that outages cannot be caused by DRM or licensing errors, then you are almost forced to go with either the cloud or the audit+true-up approach. Many modern DB firms go hosted-only which brings its own problems (see the recent Azure leak). Plus Oracle DB predates the cloud, so ...
Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
#63Earlier quoted context omitted.
I know absolutely nothing about Oracle, GraalVM, OpenJDK, or Java development in general. I haven't used Java since a CS intro class during my undergrad like 10 years ago. Despite this, I've internally adopted the general consensus that Oracle is a terrible, greedy company. Can someone play devil's advocate to explain how this news may actually favor this negative view of Oracle? The sentiment in this thread is prais…
There's an epic rant on youtube from one of the old Sun guys that gets linked occasionally. I can't remember all of it, but basically it goes that Larry Ellison/Oracle is just as simple as a lawnmower - if you stick your hand in it; it'll shred it without emotion because it's just an unthinking machine that cuts whatever you put into in the same way that Oracle is a machine to make money. I've been at this long enoug…
Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
#64I don't say nice things about Oracle very often, but they deserve some praise here. Graal is a very, very ambitious project, and Oracle has been funding it for years. It's still rough around the edges, but it promises to enable new programming languages to run on a high-performance JVM, compiled to native code. Write-once, run anywhere, at native speed. And now they're donating it. It's very decent of them.
It may not only be benevolence though. The JVM and Graal are not the only game in town anymore. Webassembly is growing in various areas, clienside, edge, backend. WASM fills much of the same needs as Graal, and then some since it’s embedded in every major browser. This move is good for Graal, as it will help it compete, but there’s still a big question in my mind at least about if Graal is going to be able to compete…
Truffle is interesting because it says, no, we should not be trying to compile everything to a universal bytecode. Instead, we should JIT compile the source code directly, using the JVM as a runtime library but bypassing the bytecode layer. The language semantics can be expressed much more clearly, without needing to contort things to make them look like Java, whilst still benefiting from the JVM's core feature set.
So really I'd ask it the other way around. If it weren't for the politics of the browser world and the monolithic "Chrome is the OS" approach, would WASM be competitive? Because the Graal team already proved you can run lots of different languages at relatively insane speeds using partial evaluation and bypassing bytecode. The WASM world has proven it can run C++ and Rust at slower speeds than normal, which isn't particularly unexpected. If Chrome and Safari shipped GraalVM accessible via tags, how many people would care about WASM? Remember that you can run WASM and LLVM bitcode on top of GraalVM too, it's not just about textual languages.
Arguably, if you wanted to give the web an instant free upgrade that'd make many developers rejoice, integrating Graal into Chrome would be an overnight way to do it. Python, Ruby, JVM bytecode and any other language you want at V8 like speeds, in a script tag? It's technically possible, it's just not politically possible.
Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
#65TL;DR Oracle plans to contribute the most applicable portions of the GraalVM just-in-time (JIT) compiler and Native Image. Oracle does not currently intend to contribute the polyglot technologies supporting other languages such as Python, Ruby, R, and JavaScript.
Hmmmm, aren't the latter one of the big reasons for adopting GraalVM?
Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
#66Does this have any impact on Truffle to speed up Ruby on Rails?
Anyway, OpenJDK is its own project with its own processes and culture, GraalVM was historically from a totally separate part of Oracle and adopted its own processes and development culture. This announcement doesn't change what tech is available, it's more about re-organizing how development is done. It doesn't really affect Java developers much, except that maybe now more stuff will come out of the box with a 'regular' JDK. Currently to get Graal technology you need to use their own custom spin of the JDK.
Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
#67Earlier quoted context omitted.
Java isn't as performant as C++. BTW, how do you implement a garbage collector with a garbage-collected language?
Java often is as fast as cpp, sometimes faster. JIT gives it a huge advantage and c2 is pretty much state of the art these days.
Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
#68Earlier quoted context omitted.
I know absolutely nothing about Oracle, GraalVM, OpenJDK, or Java development in general. I haven't used Java since a CS intro class during my undergrad like 10 years ago. Despite this, I've internally adopted the general consensus that Oracle is a terrible, greedy company. Can someone play devil's advocate to explain how this news may actually favor this negative view of Oracle? The sentiment in this thread is prais…
There isn't any way to spin it negatively. The generalized dislike of Oracle you have seen really comes from a couple of different aspects, neither of which are relevant to this specific announcement: 1. License audits suck. 2. The Google lawsuit (about matters resolved long ago and which don't apply to anyone except Google, really). A lot of ill will comes from people whose companies have been audited. The process i…
Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
#69Earlier quoted context omitted.
It may not only be benevolence though. The JVM and Graal are not the only game in town anymore. Webassembly is growing in various areas, clienside, edge, backend. WASM fills much of the same needs as Graal, and then some since it’s embedded in every major browser. This move is good for Graal, as it will help it compete, but there’s still a big question in my mind at least about if Graal is going to be able to compete…
WASM isn't really a replacement for JVM bytecode. It's not like you can take a random JAR and convert it to WASM. Last I checked, WASM doesn't even support GCd languages at all, and at any rate the whole insight that makes GraalVM unique and a big deal is that universal bytecodes are a poor choice for making fast polyglot VMs. The JVM world was doing that long before WASM was even a twinkle in Google's eye, with invo…
Maybe you can:
"TeaVM is an ahead-of-time compiler for Java bytecode that emits JavaScript and WebAssembly that runs in a browser. Its close relative is the well-known GWT. The main difference is that TeaVM does not require source code, only compiled class files. Moreover, the source code is not required to be Java, so TeaVM successfully compiles Kotlin and Scala."
I have never had an opportunity to try out TeaVM, but it seems promising.
Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK
#70Earlier quoted context omitted.
I know absolutely nothing about Oracle, GraalVM, OpenJDK, or Java development in general. I haven't used Java since a CS intro class during my undergrad like 10 years ago. Despite this, I've internally adopted the general consensus that Oracle is a terrible, greedy company. Can someone play devil's advocate to explain how this news may actually favor this negative view of Oracle? The sentiment in this thread is prais…
There isn't any way to spin it negatively. The generalized dislike of Oracle you have seen really comes from a couple of different aspects, neither of which are relevant to this specific announcement: 1. License audits suck. 2. The Google lawsuit (about matters resolved long ago and which don't apply to anyone except Google, really). A lot of ill will comes from people whose companies have been audited. The process i…
I guess my default (and flawed) heuristic is to assume that a big corporation has an ulterior motive with goodwill or community-focused announcements. I'll take this as a learning opportunity to not blindly adopt what I perceive as the general sentiment, to stop relying on such a heuristic, and to do my own research and evaluation. In addition to the detailed response, thank you for also indirectly kicking my butt into reevaluating how I approach the unknown both logically and emotionally.