On Wednesday, 14 March 2018 at 22:17:49 UTC, jmh530 wrote:
On Wednesday, 14 March 2018 at 20:21:15 UTC, Sam Potter wrote:
Sure. The key word in my statement was "ideally". :-)
For what it's worth, there is already an "informal spec" in
the form of the high-level interface for numerical linear
algebra and sci. comp. that has been developed (over three
decades?) in MATLAB. This spec has been replicated (more or
less) in Julia, Python, Octave, Armadillo/Eigen, and others.
I'm not aware of all the subtleties involved in incorporating
it into any standard library, let alone D's, but maybe this is
an interesting place where D could get an edge over other
competing languages. Considering that people in Python land
have picked up D as a "faster Python", there might be more
traction here than is readily apparent
[snip]
libmir [1] originally started as std.experiemental.ndslice
(that component is now mir-algorithm). They had removed it from
the std.experimental because it wasn't stable enough yet and
needed to make breaking changes. I think it's doing just fine
as a standalone library, rather than part of the standard
library. As this thread makes clear, there's certainly more
work to be done on it, but I'm sure Ilya would appreciate any
feedback or assistance.
I'm sympathetic to your point about D getting an edge by having
a better linear algebra experience. I came to D for faster
Python/R/Matlab (and not C++), though if I need to do something
quickly, I still defer to Python/R. However, if you look at the
TIOBE index, R and Matlab are at 18/20. Python is quite a bit
higher, but it's growth in popularity was not largely due to
the Numpy/Scipy ecosystem. So while I think that D could get
more traction if libmir turns itself into a premiere linear
algebra library, we should be realistic that linear algebra is
a relatively small segment of how people use programming
languages. Maybe these firms might be willing to pay up for
more support though...(if a user could replace pandas with
libmir, I would imagine some financial firms might be
interested).
[1] https://github.com/libmir
Thanks for the information, and great points made.
I think it's worth mentioning Julia's rapid development. I'm not
sure exactly how much traction Julia is getting in different
sectors, but I've heard that it has a certain appeal by dint of
it being open source (no need to buy expensive MATLAB seats).
Julia looks like it could kill MATLAB. I think D has no chance of
competing here (beyond being a backend for libraries) without a
better scientific experience. OTOH, the fact that D doesn't have
a REPL may kill it from the get go (hard to do exploratory data
analysis). As you said, you still defer to Python/R/etc---I have
a hard time seeing myself using a language like D for everything
I work on.
This is getting pretty derailed from the main subject, sorry! I
would like to let Ilya and others continue the original
discussion now.