On Tuesday, 14 November 2023 at 17:57:36 UTC, Steven Schveighoffer wrote:
On Tuesday, 14 November 2023 at 16:07:26 UTC, Mike Parker wrote:
[...]

What do we want the first experience with D to be like?

A person trying out D, who writes a one-file simple application using phobos *does not care* that a lib abandoned in 2018 still compiles. So why should they be the ones paying the penalty?

I get that we want to stop breaking builds. But the answer there is simple -- provide a way to do it by attributing the files, or by telling the compiler "these files are edition X" or whatever. And once you attribute it, it never breaks again. Sounds like a reasonable cost to me for those who want long-lasting code!

There are other options here. Like use the filesystem to identify the edition either via config or filenames.

[...]

That's not any better. If you have to opt-in to the language as it exists, people are going to quit immediately. I'm not joking about this. Imagine spending 2 hours trying to figure out why your app that is trying out some new feature doesn't compile, only to find out after posting online that it was looking at some ancient version of phobos.

-Steve

Ergonomically it potentially doesn't have to be quite so binary e.g. a C++ compiler will tell you to opt-in to a new language version rather than just erroring.

But, if you have the logic to do that, you can also infer an *older* edition to keep the abandonware working even though by default you get the most recent one.

Reply via email to