On Monday, 22 December 2014 at 13:37:55 UTC, aldanor wrote:
...
In this light, as I see it, D's main advantage is a high
"runtime-efficiency / time-to-deploy" ratio (whereas one of the
main disadvantages for practitioners would be the lack of
standard tools for working with structured multidimensional
data + linalg, something like numpy or pandas).
Cheers.
There is no lack of tools if you can integrate well with existing
ones like numpy, pandas, matplotlib, etc. I think a good role for
D in such an ecosystem would be implementation of algorithms.
D's excellent template system can be leveraged to help it play
well with dynamically typed languages. A D module to be called
from Python may be kept in source form that is compiled and
specialized on demand according to argument types and the dtypes
and dimensions of numpy array arguments. Specific specializations
will be cached so from the second call it will not incur the 1-2
second overhead of compilation. If you only use the @safe subset
there should be no danger in dynamically compiling bits of code
and loading them into the address space of your session.