Who here actually uses D?

Don nospam at nospam.com
Sun Jan 2 13:13:52 PST 2011


Sönke Ludwig wrote:
> Am 01.01.2011 23:22, schrieb Robert Clipsham:
>> Having seen a post by Peter Alexander (in Re: D for game development),
>> mentioning some of the issues he's hit I thought I'd post this. I've
>> been in his shoes (every other time I use D it seems), and feel I should
>> ask - who here uses D, and to what extent?
>>
>> I'm mostly interested in those of you with 1000 Line plus projects in D,
>> as that's when I've found I start hitting issues.
>>
>> Just to clarify, for those D purists among you... I'm not trolling, just
>> curious (I wouldn't normally have asked, but now I know I'm not paranoid
>> and the only one having problems, I thought I'd ask).
>>
> 
> My main project is abount 100.000 lines of code. Most of the time now, I 
> stay away from new features - including pure and the new concurrency 
> model. However, I use the const/immutable system since the beginning. 
> Also quite some string-mixin stuff, templates and CTFE. (*)
> 
> At times I'm hitting multiple bugs a day, but by far the most 
> devastating bugs are those freakin' unexpected OPTLINK terminations 
> (e.g. http://d.puremagic.com/issues/show_bug.cgi?id=4808). With that 
> code base it is practically impossible to make repro cases or 
> workarounds for those bugs and they slip up every now and then (right 
> now I have one of them). Unfortunately those are often bugs that lie 
> there for years. I remember someone said there should be no known new 
> regressions in the compiler - the reality seems to be quite different 
> here and I quit D programming for multiple periods of months because of 
> such beasts. (Fortunately most of the time there is one method of 
> compilation or operating system that successfully builds).
> 
> The other kind of bug that I find really frustrating because it is hard 
> to discover and takes a lot of time to track down and work around is 
> that kind with corruped data/wrong code. Todays examples are 
> http://d.puremagic.com/issues/show_bug.cgi?id=3863 and some postblit 
> stuff that I have not yet been able to track down.
> 
> At least in times when it is possible to program without hitting those 
> issues, D somehow is able to close the gap again with its nice and 
> efficient language constructs. But I think the priority for fixing bugs 
> really has to be changed because that is what is driving people away 
> (for good reason):
> Blockers, Regressions and maybe criticals should be taken more serious, 
> as well as the top votes in bugzilla should be handled somehow.

Here is the priority list:
http://www.prowiki.org/wiki4d/wiki.cgi?LanguageDevel#DMDCompilerStability

And here's my personal list of top-priority bugs:

-- Showstoppers --
4854 Regression(2.047, Mac 10.5 only) writefln Segmentation fault if no 
globals
3516 Destructor not called on temporaries
4437 copy construction bug with "return this;"
314  Static, renamed, and selective imports are always public

-- Critical wrong code --
4714 Cannot return ref this when struct has invariant
(= 3273, 1251, 3973)
4269 Regression(2.031) invalid type accepted if evaluated while errors 
are gagged

1350 delegate literal inside tuple; wrong values
1513 try/catch/finally misbehavior on windows
1759 Closures and With Statements
1841 Closure detection doesn't work when variable is used in a nested 
function
1899 AA of fixed-length arrays fails to initialize
2962 ICE(glue.c) or bad codegen passing variable as template value parameter
3824 An AA with an AA as key doesn't seem to work
3863 Various errors and ICE(todt.c) for struct constructors with ellipses

And BTW, that list used to be about ten times as long. There are not 
many nightmare bugs left. I'm personally not comfortable with heavily 
promoting the language until that list is reduced to practically zero. 
At the current rare, we're probably a couple of months away.


More information about the Digitalmars-d mailing list