On Wednesday, 7 December 2016 at 16:33:03 UTC, bachmeier wrote:
On Wednesday, 7 December 2016 at 12:12:56 UTC, Ilya Yaroshenko
wrote:
R, Matlab, Python, Mathematica, Gauss, and Julia use C libs.
--Ilya
You can call into those same C libs using D. Only if you want a
pure D solution do you need to be able to rewrite those
libraries and get the same performance. D is a fine solution
for the academic or the working statistician that is doing
day-to-day analysis. The GC and runtime are not going to be an
obstacle for most of them (and most won't even know anything
about them).
A cycle I think is common is for a researcher (industry or
academic) to write functionality in native R code, then when
trying to scale it, finds native R code is too slow, and switches
to C/C++ to create a library used in R. C/C++ is chosen not
because it the preferred choice, but because it is the common
choice.
In such situations, the performance need is often to be quite a
bit faster than native R code, not that it reach zero overhead.
My personal opinion, but I do think D would be a very good choice
here, run-time, phobos, gc, etc., included. The larger barrier to
entry is more about ease of getting started, community (are
others using this approach), etc., and less about having the
absolutely most optimal performance. (There are obviously areas
where the most optimal performance is critical, Mir seems to be
targeting a number of them.)
For D to compete directly with R, Python, Julia, in these
communities then some additional capabilities are probably
needed, like a repl, standard scientific packages, etc.