On Jan 20, 5:21 am, Casper Bang <[email protected]> wrote:

> Nothing you've said above, serves to contradict what I say or convince
> me that I am wrong. Fact: To support multiplication, the JVM specifies
> imul, lmul, fmul and dmul instructions (same overhead for addition,
> subtraction, division, modulus, negation, load, store etc.) and there
> simple aren't enough instructions left of the 255 available, to do
> this in a backwards compatible way. I'd like to be proven wrong, but
> changing binary backwards compatability is extremely unlikely scenario
> among the conservative gang of Oracle developers.

Adding new instructions, removing the 255 instruction limit, or even
switching to a completely brand new instruction set entirely wouldn't
break backward compatability at all. It would break forward
compatability. To use a made up example, let's say Java 9 added 100
new instructions. Backward compatability would mean that the Java 9 VM
could still understand Java 1-8 bytecode; of course it would! Forward
compatability would mean that the older VMs would understand the new
bytecodes; this generally doesn't work. Software projects do stuff
like this every day.

Regarding the C library access, sure. I said exactly that earlier in
this thread. C# provides much easier native code integration (often
called FFI) than Java does with JNI. That's my impression although
I've never used JNI directly; but I've used wrapper libraries like
JavaCL/JOGL. I've heard Lua also does this exceptionally well, which
is why it's so popular in video games. In my years of C# development,
we did this quite a lot in the early days when the .NET libraries were
immature and you had to call Microsoft Win32 APIs in C for various
things. Now, it's more of a performance thing for non-standard inner-
loop type functionality.

The legal issue is a big deal. Most of us aren't deeply knowledgable
(or interested) in the legal nitty gritty of this, but if someone
really were to make a PlayStation JVM type product a reality, it would
be extremely critical to research and understand this issue
thoroughly. Ultimately, even in the worst case scenario where you
can't use any Oracle related tech without major lawsuits, you could
still find another legally safe VM, whether it's one of the dozens of
alternate Java VMs, or jump to something completely separate like
LLVM.

The Oracle lawsuit against Google over Java is worrisome. And Oracle
doesn't come across as the nice guy; I know their argument is that
Google wanted to use GPL open source Java code and effectively take it
semi-closed source where they do development in private and release
code to the public on their schedule. That actually makes sense, but
their interests seem so aligned, I can't believe they couldn't come to
a reasonable agreement. But in some ways, Microsoft is more worrisome,
in that they are lot better at winning lawsuits against competitors
who aren't even using their products. Android made a better product
than they did, and Microsoft is able to use larger teams of fancy
lawyers, and buy enough legal and political influence, to force a
completely separate competitor to pay them money! Sure, they didn't
sue Mono; they love the Mono team, the two have had a happy
partnership, and they provided funding for the Mono team. That doesn't
say much.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to