What are the worst parts of D?

bachmeier via Digitalmars-d digitalmars-d at puremagic.com
Wed Sep 24 12:42:16 PDT 2014


On Wednesday, 24 September 2014 at 18:46:29 UTC, H. S. Teoh via 
Digitalmars-d wrote:
> On Tue, Sep 23, 2014 at 10:37:59PM -0700, Walter Bright via 
> Digitalmars-d wrote:
>> On 9/23/2014 10:10 PM, H. S. Teoh via Digitalmars-d wrote:
>> >Yeah, I wish that at least *some* attention would be paid to 
>> >refining
>> >existing features so that problematic corner cases could be 
>> >ironed
>> >out.
>> 
>> It's kinda maddening to hear statements like that. Just in 
>> 2.066:
>> 
>> 103 compiler regressions fixed
>> 235 compiler bugs fixed
>> 39 language enhancements
>> 12 phobos regressions fixed
>> 110 phobos bugs fixed
>> 41 phobos enhancements
>> 9 druntime regressions fixed
>> 17 druntime bugs fixed
>> 9 druntime enhancements
>> 
>> https://dlang.org/changelog.html#list2066
>> 
>> 
>> >Like identifier lookup rules for local imports.
>> 
>> Suddenly this issue goes to a mountain overnight. Is it really 
>> the
>> most critical, important problem, overshadowing everything 
>> else?
>
> No, I just named it as a representative case of many such 
> wrinkles
> within existing language features. The fact of the matter is, 
> wherever
> you turn, there's always something else that hasn't been fully 
> ironed
> out yet. Features that interact with each other in unexpected 
> ways.
> Corner cases that weren't considered / are hard to fix due to 
> the nature
> of the features involved. Fixes that require a decision -- 
> which are
> often neglected because there are too many other things being 
> worked on.
>
> Sometimes I wish there were less features in D, but far more 
> refined.
> I'd rather go without the myriad of awesome features in D if I 
> can only
> have a small set of features that have been fully worked out 
> such that
> there are no nasty corner cases, deep-seated compiler bugs, or
> surprising gotchas that lurk around the corner as soon as you 
> start
> writing non-trivial code.
>
>
>> >And what to do about dtors. And so many little niggling 
>> >details that
>> >seem minor, but added together, can form a pretty big 
>> >mountain of
>> >frustration sometimes.
>> 
>> So help out!
>
> I am, as you yourself point out later. But it's frustrating 
> when pull
> requests sit in the queue for weeks (sometimes months, or, in 
> the case
> of dmd pulls, *years*) without any indication of whether it's 
> on the
> right track, and dismaying when your PR is just one of, oh, 
> 100+ others
> that also all need attention, many of which are just 
> languishing there
> for lack of attention even though there is nothing obviously 
> blocking
> them, except perhaps the reviewers' / committers' time / 
> interest.
>
> The situation with Phobos has improved dramatically, thanks to a
> well-timed rant some months ago, which triggered a coordinated 
> effort of
> aggressive merging, pinging, reviewing, etc. -- we've managed 
> to cut the
> Phobos PR queue from around 90+ to around 29 as of last night 
> (from 4+
> pages on github to only barely 2 pages). For that, I applaud my 
> fellow
> Phobos reviewers, and I hope the trend will continue until the 
> Phobos PR
> queue is firmly back at 1 page (<=25 open PRs).
>
> Unfortunately, the problem persists in druntime, dlang.org, and 
> dmd. It
> feels like there's a forest fire raging and only a handful of
> firefighters, and now we want to add more fires (new development
> directions) without adding more people. What about reviewing 
> and merging
> / rejecting the 100+ PRs in the dmd queue, most of which 
> contain fixes
> and language improvements that people have been waiting for, 
> for a long
> time, before we think about new directions? Some PRs appear to 
> fix bugs
> opened *years* ago, and yet nothing is done about them. Some 
> PRs are at
> an impasse due to decisions that need to be made, yet nobody is 
> making
> said decisions or even discussing them, and the PRs just 
> continue to rot
> there. There are already a *ton* of new features / fixes / 
> language
> improvements that are waiting to be decided upon (and, given 
> the size of
> the dmd PR queue, I submit this is no exaggeration), and yet we 
> are
> indifferent and instead look away to new directions.
>
> Many of us are indeed ready to help, but it would *really* be 
> nice if
> our help is received more readily, or, at the very least, *some*
> indication is shown that more effort will be put into reviewing 
> said
> help before more energy is expended in new directions. The 
> dramatic
> shortening of the Phobos PR queue over the last 2-3 months 
> proves that
> this is not only possible, but also beneficial (more fixes are 
> making it
> into Phobos than ever before) and improves morale (people are 
> more
> likely to contribute if they don't have to wait 3 weeks before 
> getting
> any feedback for their contribution) -- if we would only put 
> our efforts
> into it. So here's to hoping that the other PR queues will 
> shorten
> quickly in the near future. ;-)
>
> And mind you, the lengths of the PR queues are only the tip of 
> the
> iceberg of stuff we ought to finish doing before embarking on 
> the next
> new direction. There are a ton of old bugs that need attention, 
> and a
> ton of language features that need improvement / refinement. We 
> could at
> least pay those *some* heed even if we absolutely have to start
> something new right now at this moment. It would be a great 
> tragedy if D
> goes down in history as the project that had so many great 
> ideas, none
> of them carried out to completion.
>
>
> T

Being an outsider, I haven't wanted to jump into this discussion, 
but can't hold back after reading your post. The things you're 
talking about here are what was going through my mind a few days 
ago when Andrei said the only thing that has value is C++ 
compatibility. That doesn't make sense to me when you've just 
released a compiler with a bunch of regressions and there are all 
these other issues.

I'm happy that someone is working on valuable new long-term 
projects, but I don't see how anyone could describe the things 
you've listed as being unworthy of attention.


More information about the Digitalmars-d mailing list