D as a prototyping language (for C/C++ projects)

Craig Dillabaugh cdillaba at cg.scs.carleton.ca
Tue Feb 26 08:30:29 PST 2013


On Tuesday, 26 February 2013 at 16:15:49 UTC, bearophile wrote:
> Craig Dillabaugh:
>
>> I am a novice D programmer and use C++ in my work. One thing I
>> find myself doing when I need to implement some non-trivial
>> algorithm is that I will originally code it in D and perform
>> testing from there to make sure I have the logic right.
>> Once I have everything working in D I simply port it over to 
>> C++.
>
> I often write the code in D (sometimes I start from Python and 
> then I convert it to D), get it right, write down more tests, 
> then I slowly lower the level of the D code keeping it correct 
> with help of the tests, and then convert it to C.
>
> When the code is quite complex, if I do this I waste some time, 
> but it's a known amount of time, while if I follow a more 
> direct route, writing the C code directly, I can't tell how 
> much debugging time I will need.
>
> Bye,
> bearophile

One of the reasons I like D for this kind of work is that as a
multi-paradigm language it lets you do stuff in a style closer
what your final C++ code
will look like. My research is in satellite image processing, so
most of
my work involves reading in imagery into 2D arrays and performing
processing
over all/or part of an image. I find being able to write code
like:

for(int i =0; i < rows; i++) {
    for(int j = 0; j < cols; j++) {

    }
}

Sometimes is the easiest way to perform certain tasks.  D lets
you do this and the syntax is exactly the same a C/C++ - Python?
I don't know - but I imagine it would be tricker to port to C++!
I have found, at least in this particular problem domain, that
the C++/D style syntax is about as good as it gets.


More information about the Digitalmars-d mailing list