The programming language analysis is pretty interesting, but you have to ask, what's the point of a brand-new Java implementation? R isn't just a programming language, but it's a software framework/ecosystem. They mentioned this in the slides, but it's problematic because R <i>crucially</i> relies on C and Fortran interaction (which I thought the JVM can't do efficiently, since it doesn't like giving C/Fortran raw memory access to its internals). Decades of work has gone into highly optimized Fortran linear algebra libraries, for example -- which R and all the other high-level numerical languages (NumPy/SciPy, Matlab, Julia) use. And many of the CRAN packages (the availability of which are a major reason anyone uses R in the first place) are partly or mostly C/Fortran code.<p>There are many other R implementation efforts going on right now -- Radford Neal lists a few (as well as his own) here: <a href="http://radfordneal.wordpress.com/2013/07/24/deferred-evaluation-in-renjin-riposte-and-pqr/" rel="nofollow">http://radfordneal.wordpress.com/2013/07/24/deferred-evaluat...</a><p>The presentation focuses on the R programming language, which they nicely show has all sorts of misfeatures that impede rapid execution. If you're going to not try to have compatibility with R and CRAN, you might as well start from scratch with design and performance in mind, as in Julia: <a href="http://julialang.org/" rel="nofollow">http://julialang.org/</a>
FWIW, there's also Renjin that does this:
<a href="https://github.com/bedatadriven/renjin" rel="nofollow">https://github.com/bedatadriven/renjin</a>
Given the problems with Java's floating-point implementation [1], would this be reliable for statistical analysis?<p>[1] <a href="https://news.ycombinator.com/item?id=6585828" rel="nofollow">https://news.ycombinator.com/item?id=6585828</a>
Video presentation for the slides:<p><a href="http://download.oracle.com/technetwork/java/javase/community/H264_1280x720/20144523.mov" rel="nofollow">http://download.oracle.com/technetwork/java/javase/community...</a>
The Relite mention at the end looks very worthwhile. We were just about to begin a large rewrite of analysis code from R to CUDA; Relite has the potential to save the effort of rewriting our existing code.
Worth noting is that FastR is a JVM implementation of R that uses Truffle and Graal.<p><a href="http://openjdk.java.net/projects/graal/" rel="nofollow">http://openjdk.java.net/projects/graal/</a><p><a href="https://wiki.openjdk.java.net/display/Graal/Publications+and+Presentations" rel="nofollow">https://wiki.openjdk.java.net/display/Graal/Publications+and...</a>