Do everything in Java…

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Tue Dec 23 19:20:05 PST 2014


On 12/21/14 1:59 AM, Russel Winder via Digitalmars-d wrote:
>
> On Sat, 2014-12-20 at 15:16 -0800, Andrei Alexandrescu via Digitalmars-d wrote:
>> On 12/6/14 7:26 AM, Russel Winder via Digitalmars-d wrote:
>>> Primitive types are scheduled for removal, leaving only reference
>>> types.
>>
>> Wow, that's a biggie. Link(s)? -- Andrei
>
> Simon Ritter laid out the OpenJDK/JCP/Oracle thinking way back in 2011
> in a number of conference presentations. cf.
> http://www.slideshare.net/JAX_London/keynote-to-java-se-8-and-beyond-simon-ritter page 41 has the explicit statement of goal for JDK10. OK so this was
> pre-JDK8 and reality has changed a bit from his predictions, but not
> yet on this issue.
>
> There are changes to the JIT for JDK9 and JDK10 that are precursors to
> removing primitive types, so as to get rid of the last unnecessary
> boxing and unboxing during function evaluation. Expression evaluation
> is already handled well with no unnecessary (un)boxing.
>
> Many see "value types" cf JEP 169 http://openjdk.java.net/jeps/169 as a
> necessary precursor, but it is not exactly clear that this is actually
> the case. It's a question of which JIT is part of the standard
> reference implementation (OpenJDK) and what suppliers (e.g. Oracle,
> IBM, Azul, etc.) ship in their distributions.
>
> Although the vast majority of Java is used in a basically I/O bound
> context, there is knowledge of and desire to improve Java in a CPU-
> bound context. The goal here is to always be as fast as C and C++ for
> all CPU-bound codes. A lot of people are already seeing Java being
> faster than C and C++, but they have to use primitive types to achieve
> this. With the shift to internal iteration and new JITS, the aim is to
> achieve even better but using reference types in the code.
>
> There are an increasing number of people from Oracle, IBM and Azul
> actively working on this, so it is a well-funded activity. Targeting
> JDK10 means they have 2 years left to get it right :-)

Hmmm... On one hand there's "make everything objects" in the slides, and 
on the other hand we have the JEP that adds value types. Confusing.

Andrei



More information about the Digitalmars-d mailing list