Is it time for D 3.0?

JN 666total at wp.pl
Fri Mar 27 19:50:44 UTC 2020


On Friday, 27 March 2020 at 15:56:40 UTC, Steven Schveighoffer 
wrote:
> Other languages evolve much quicker than D, but break things 
> only in major updates. D seems to "sort of" break things, 
> there's always a risk in every release. We try to be 
> conservative, but we have this horrible mix of deciding some 
> features can break things, while others are not allowed to, and 
> there's no clear guide as to which breakage fits in which 
> category.

I think there are two things that would need to be in place that 
would greatly reduce the breakage amount.

First one is testing top N dub packages for breakages with new 
versions/features. Breakages and deprecations will happen. But if 
something breaks vibe-d or GtkD it's a big deal and needs 
additional investigation effort (easy to fix or not). But if 
something breaks someone's personal project... well, tough luck. 
As far as I know the new D versions are tested on the newer 
evrsions so that's good. It's not just about checking if 
everything compiles, but assessing the scope of breakages if they 
happen.

Second thing is having a tool like gofix - 
https://blog.golang.org/introducing-gofix - gofix is an official 
Golang tool which automatically applies fixes to code, whether 
it's converting deprecated code or syntax/stdlib changes. Would 
also be a good test for a D compiler as a library project.

On Friday, 27 March 2020 at 16:03:47 UTC, 12345swordy wrote:
>
> Didn't the 1.0 to 2.0 conversion nearly kill the language?
>
> -Alex

I don't remember it as such. However, there seems to be a bit of 
lack of consensus in the community what direction should D take. 
It's hard to unify an effort, especially in open source (unpaid) 
community if everyone has their own idea of the direction it 
should go and doesn't want to compromise.

On Friday, 27 March 2020 at 16:55:14 UTC, Meta wrote:
> D has been around for 20 years and hasn't gained the traction 
> that younger languages like Rust or Go have (though as we all 
> know, the main reason for this is D's lack of a big corporate 
> patron a la Mozilla or Google).

Possibly, or maybe not. While Rust and Go surpassed D in 
popularity, it's important not only to look at the competition 
ahead, but look behind every now and then. If it stays on course, 
I wouldn't be surprised Zig becoming more popular than D, and the 
corporate backing excuse won't work there.

On Friday, 27 March 2020 at 17:17:44 UTC, Steven Schveighoffer 
wrote:
>
> There was an issue with an alternative standard library 
> (Tango), which divided the community. That shouldn't be a 
> problem for a D3.

I'm probably in a minority here, but I feel like D would be 
better off if it went more in the Tango direction and being more 
of an OOP language, rather than moving into the STL/boost 
direction with templates everywhere. But that's just me, an OOP 
lover and not a fan of templates.

On Friday, 27 March 2020 at 17:22:30 UTC, Russel Winder wrote:
> If D has a future it is in terms of v3, v4, etc. with a strong
> technical evolution (cf. Groovy) and good marketing. Clearly D
> remaining at v2 for ever more would, I feel,  be a Very Bad 
> Idea™ since
> it advertises no changes to the language, i.e. a language with a
> stalled evolution.

D1, D2 is only meaningful within the D community. It doesn't 
really mean anything outside of it. Outside of the community, 
people just refer it to D. Whether it's D 2.0 being improved, or 
D 3.0 which is just a few breaking changes, I doubt it would make 
any difference marketing wise.

On Friday, 27 March 2020 at 15:56:40 UTC, Steven Schveighoffer 
wrote:
> Some issues I can think of:
>
> 1. The safe by default debate
> 2. pure by default
> 3. nothrow by default
> 4. String interpolation DIP
> 5. auto-decoding
> 6. range.save
> 7. virtual by default
> 8. ProtoObject

My main concern here is that while it seems to be fixes to a 
longstanding D issues, it's also very low-level in the long run. 
Anyone who was turned off from D before would look at it and be 
like "hmm, ok, well, so what?". No one will ask "have they fixed 
auto decoding?". People would ask "does it work without GC now?" 
"can it compile to WASM?".


More information about the Digitalmars-d mailing list