Scientific computing with D

Fawzi Mohamed fmohamed at mac.com
Fri Jan 30 12:39:32 PST 2009


On 2009-01-30 20:52:05 +0100, Don <nospam at nospam.com> said:

> Bill Baxter wrote:
>> On Fri, Jan 30, 2009 at 10:54 PM, dsimcha <dsimcha at yahoo.com> wrote:
>>> == Quote from Lars Kyllingstad (public at kyllingen.NOSPAMnet)'s article
>>> [...]
>>> A lot of
>>> engineers I know try to use Matlab as a general purpose language b/c they don't
>>> want to learn anything else.  I think that, in addition to speed, D is a good
>>> language for this kind of stuff because it's general purpose, but has enough
>>> features (operator overloading, templates, garbage collection, etc.) to
>>> reimplement a lot of Matlab, etc. as a plain old library with decent syntax and
>>> ease of use.  This way, when your domain specific language isn't enough 
>>> for some
>>> subproblem, you have a _real, full-fledged_ general purpose language standing
>>> behind it.
>> 
>> I use NumPy often for it's interactive capabilities.  Plotting and
>> exploring data at the Python prompt.   That's hard to do with a
>> compiled language.    A static language like D cannot satisfy that
>> kind of use-case easily.  Maybe Sci-MiniD there? :-)

I am thinking to use Xpose and/or the serialization interface I defined 
in the future to get there, but it is more an idea for the moment than 
a reality.

>> But fixed, compiled stuff, D is certainly the biz.  I really wish
>> there were a good plotting package for D.  That would eliminate about
>> half of my trips over to Python-land, which are just to get a quick
>> peek at what the data generated in my D program looks like.
> 
> I agree. I imagine that even something faily basic which could just 
> write to a png file, or pop up an OpenGL window (ie, not publication 
> quality), would cover a big chunk of the use cases.

yes it would be very nice indeed, and it is exactly in those things 
that keeping full cross compatibility becomes difficult, while pure 
algorithms can be more easily independent as soon as you begin to need 
input/output, logging, parallelizing,... you need to do a choice about 
what you use :(




More information about the Digitalmars-d mailing list