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.

Reply via email to