A few notes on choosing between Go and D for a quick project

jmh530 via Digitalmars-d digitalmars-d at puremagic.com
Tue Mar 17 15:04:07 PDT 2015

On Tuesday, 17 March 2015 at 21:00:11 UTC, bachmeier wrote:
> What do you have in mind? I no longer work much with Python so 
> my knowledge is limited, but calling D from R or Julia should 
> be no different from calling C from those languages, as you 
> normally compile your C code into a shared library anyway.
> I've done the R->D thing many times and in the process have 
> worked with a big chunk of the R API. Things like allocating R 
> data structures from a D function, adding assertions to your D 
> code to allow for an easy exit when things don't work out, and 
> calling functions in the R math library, among other things, 
> are not difficult.

(For work at least) I find myself in situations where I'm forced 
into using loops in R or Python. Sometimes the loops can be 
parallelized, but not always. Python is not good for 
parallelizing, and R is only good on a Linux machine (which I 
can't use at work). Both are bad when you really have to do a 
loop. Julia is better for that, but I can't get the package 
manager to work on my work computer because of a corporate 
firewall. Anyway, all the calculations I would be doing would 
involve matrix math/regressions/optimization, most of which could 
be done in C++ (so being able to call C++ libraries would go a 
long way).

I've looked at calling C code from R before and using Cython in 
Python. However, I think it's another step altogether to get an R 
library (like lme4) to work in a D program. I have zero idea how 
to go about doing that. It has seemed like a bit of a hassle for 
anything complex. For instance, suppose I wanted to create a loop 
in C that calls an R function from lme4 multiple times and then I 
wanted to call that C function from R. Makes my head hurt just 
thinking about it.

Nevertheless, I think that there would be a lot of value in 
writing up what you have done with R and D. That sounds very 

More information about the Digitalmars-d mailing list