Focus (was Re: draft proposal for Sum Types for D)
John Colvin
john.loughran.colvin at gmail.com
Sat Dec 3 16:17:19 UTC 2022
On Tuesday, 29 November 2022 at 06:26:20 UTC, Walter Bright wrote:
> Go ahead, Make My Day! Destroy!
>
> https://github.com/WalterBright/DIPs/blob/sumtypes/DIPs/1NNN-(wgb).md
I don’t want to be discouraging of good work, but D is not
lacking in great features, it is lacking in its implementation of
the basics.
I have come to believe over several years working in D, managing
work in D at some scale (10s of devs, not 100s) & advocating for
D that the foundations are shaky and crumbly and need work.
While it is not possible to implement a struct as drop-in
replacement for a built in slice, while template symbol emission
bugs keep happening[1], while the built in AAs are not in great
shape (and the signature of toHash is a PITA), while the compiler
is a huge memory hog and compile times for templates get wild,
while speculative compilation results somehow go wrong and leak
in to the non-speculative parts of compilation (e.g.
https://issues.dlang.org/show_bug.cgi?id=19545), while syntax
changes happen without enough noise (so even basic tooling ends
up breaking), while shared and property and synchronised classes
and so on sit in poor and/or incomplete shape, while delegate
contexts still have qualifier problems[2]…
Why would the limited resources available be focused on a
built-in sum type?
D is an amazing language. “Another killer feature” isn’t the
missing piece to it getting some real, persistent, large-scale
traction. They key is the rock solid basics and the cleaning up
of lingering nonsense. Then the features can come, if they need
to, because everyone loves building features and the more the
basics are sorted out the easier it will be to add more.
*The really committed and talented people here need to choose
quality and build it.*
I think D has a culture of accepting all sorts of badness while
promising greatness, which is self-limiting.
I have poured a unbelievable number of hours in to D over the
years, both commercially and open source, it has formed the
backbone of my career, I want to see it succeed, but this *will
not happen* if the basics are not dealt with.
I’m happy talk more about this with any of the core developers, I
may not write a lot more out here as I don’t want to keep ladling
on negativity in public, but for a variety of reasons I think
change is needed.
[1] please no “where’s the bug report”, it’s whackamole. There
needs to be a reckoning with the fundamental nature of the
problem. Does *anyone* even understand the current design &
implementation?
[2] this is pretty much what I could think of off the top of my
head. I’m sure there’s more!
More information about the Digitalmars-d
mailing list