Inherent code performance advantages of D over C?

ed sillymongrel at gmail.com
Thu Dec 12 13:59:34 PST 2013


On Thursday, 12 December 2013 at 09:01:17 UTC, Paulo Pinto wrote:
> On Thursday, 12 December 2013 at 02:12:00 UTC, ed wrote:
>> On Wednesday, 11 December 2013 at 03:33:47 UTC, Walter Bright 
>> wrote:
>> [snip]
>>
>>>>> The issue is convenience of writing C code in D vs C.
>>>>
>>>> So you're trying to say that it's easier to write C code in 
>>>> D, rather
>>>> than in C?
>>>>
>>>> I thought this thread was about the inherent advantages of D 
>>>> over C.
>>>
>>> I was referring specifically to Dicebot's post as ancestor:
>>>
>> [snip]
>>
>> I am finding C is much easier and more pleasant to write with 
>> DMD.
>>
>> At work we're forced, under duress, to write C. I just got a 
>> new project with a loose deadline so I thought I'd do a crazy 
>> experiment to make it interesting...
>> (NOTE: I say "under duress" but I secretly like C/C++, 
>> especially C++11/14.)
>>
>> I'm writing my C code with DMD. When tested and tweaked I do a 
>> final compile with C compiler (test once more) then commit for 
>> our QA to pick up.  Occasionally I'll compile with the C 
>> compiler to ensure I haven't leaked any D into the code and to 
>> minimise the #include fixups at the end.
>>
>> Currently this is about 20 C-(D) files with approx. 
>> 12,000-15,000 LOC. I doubt this workflow would scale much 
>> further, although it doesn't look like becoming an issue yet.
>>
>> My experiment is a success IMO. My C code is much cleaner, 
>> safer and more maintainable because of it. Yes, I know I could 
>> write C like this without DMD ... but I'm lazy and fall back 
>> into bad C habits :-)
>>
>> I now advocate that students should be taught C programming 
>> with the DMD compiler :D
>>
>>
>> Cheers,
>> Ed
>
> Currently I always advocate that C and C++ development should
> always be done with warnings as errors enabled, coupled with
> static analyzers at very least during CI builds, breaking them 
> if
> anything is found.
>
> Nice story though, thanks for sharing.
>
> --
> Paulo

I agree 100% and do so with my real D code also.

While it was a fun experiment I really don't believe think this 
workflow could ever replace good static analysis tools.

Cheers,
Ed


More information about the Digitalmars-d mailing list