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 :-) -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:[email protected] 41 Buckmaster Road m: +44 7770 465 077 xmpp: [email protected] London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
