D has become unbearable and it needs to stop

Johan j at j.nl
Mon Jun 12 11:01:35 UTC 2023


On Sunday, 11 June 2023 at 23:20:31 UTC, mate wrote:
> On Friday, 9 June 2023 at 07:56:00 UTC, Walter Bright wrote:
>> Thanks for spending the time to post this. We're going to take 
>> it to heart.
>
> Don Clugston also strongly advocated for an LTS:
> https://forum.dlang.org/post/mdjhbyvgxrjmbgzwirja@forum.dlang.org

The situation at Weka is very similar.

Trying to help the discussion a little bit.
I think there is some miscommunication because different people 
in this thread have different ideas of what "LTS" means/should 
be. Please define what you mean with "LTS"

What I think would help me (Weka) is having a stable *language*, 
not necessarily a stable compiler. Adding new features to the 
compiler can be very useful, but if every new compiler introduces 
*language changes*, then that becomes an issue.

With language changes I consider:
- introducing a new deprecation/warning/error
- removing keywords
- changing meaning / behavior of something (incl standard library)
- adding deprecation/warning/error for something that invokes 
defined but undesired behavior.
- change of data layout. (although this is not defined by the 
language, users depend on this implementation detail because D is 
systems programming after all)
- ...

Not:
- adding deprecation/warning/error for something that clearly 
invokes undefined behavior (as noted by the spec)
- adding a new feature (for example `-i` flag)
- adding a new trait
- ...

The current problem is that _every_ compiler version introduces 
some language change. Even point-releases do that! 
(https://dlang.org/changelog/2.103.1.html#dmd.deprecate-pound-in-token-string)
So we technically have _many_ different D language versions out 
there. The language changes are often in the "Compiler changes" 
category. But those are not *compiler* changes, they are 
*language* changes.

cheers,
   Johan



More information about the Digitalmars-d mailing list