On 8/12/12 12:52 AM, TJB wrote:
Thanks for bringing this back to the original topic and for your thoughts.

Indeed, a lot of econometricians are using MATLAB, R, Guass, Ox and the
like. But there are a number of econometricians who need the raw power
of a natively compiled language (especially financial econometricians
whose data are huge) who typically program in either Fortran or C/C++.
It is really this group that I am trying to reach. I think D has a lot
to offer this group in terms of programmer productivity and reliability
of code. I think this applies to statisticians as well, as I see a lot
of them in this latter group too.

I also want to reach the MATLABers because I think they can get a lot
more modeling power (I like how you put that) without too much more
difficulty (see Ox - nearly as complicated as C++ but without the
power). Many MATLAB and R programmers end up recoding a good part of
their algorithms in C++ and calling that code from the interpreted
language. I have always found this kind of mixed language programming to
be messy, time consuming, and error prone. Special tools are cropping up
to handle this (see Rcpp). This just proves to me the usefulness of a
productive AND powerful language like D for econometricians!

I think this is a great angle. In our lab when I was a grad student in NLP/ML there was also a very annoying trend going on: people would start with Perl for text preprocessing and Matlab for math, and then, after the proof of concept, would need to recode most parts in C++. (I recall hearing complaints about large overheads in Matlab caused by eager copy semantics, is that true?)

I am sensitive to the drawbacks you mention (especially lack of numeric
libraries). I am so sick of wasting my time in C++ though that I have
almost decided to just start writing my own econometric library in D.
Earlier in this thread there was a discussion of extended precision in D
and I mentioned the need to recode things like BLAS and LAPACK in D.
Templates in D seem perfect for this problem. As an expert in template
meta-programming what are your thoughts? How is this different than what
is being done in SciD? It seems they are mostly concerned about wrapping
the old CBLAS and CLAPACK libraries.

There's a large body of experience and many optimizations accumulated in these libraries, which are worth exploiting. The remaining matter is offering a convenient shell. I think Cristi's work on SciD goes that direction.


Andrei

Reply via email to