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.