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.

Sönke


(*) I think the fact that only very few people use new features and the rest is mostly just doing smaller tests with them is a real problem in the language/compiler development. All of those people think "I will use it when it's ready", but it will never or really slowly reach that stage beause of missing input. This also means first use feedback for new features should be taken more serious - I've often seen important observations vanish in time and meanwhile the underlying problem was consolidated in the language.

Reply via email to