Windows experience is atrocious

jmh530 john.michael.hall at gmail.com
Thu Jul 27 15:33:46 UTC 2023


On Thursday, 27 July 2023 at 05:11:48 UTC, harakim wrote:
> On Wednesday, 26 July 2023 at 18:15:18 UTC, H. S. Teoh wrote:
>> It will make the compiler more complex to maintain, certainly. 
>>  But *something* has to be done... otherwise nothing is going 
>> to change and the D ecosystem is going to remain small forever.
>
> What specific advantages would you get in requiring every file 
> to have a version as opposed to a compiler flag that can be 
> passed in via the build tool like dub? I feel like a project is 
> usually worked on as a version. I don't know a lot about 
> linking but it seems like you could build each dependency with 
> its own version and link them with rare exceptions. That would 
> make it easier to use and also to retrofit old projects you 
> come across than manually updating every file.
>
> [snip]

One potential advantage would be that it is more fine-grained. 
You could incrementally change your project on a file-by-file 
basis without doing everything at once. I don't have a good sense 
of how this would work with dependencies.

Also, if you check out the links I included previously, the idea 
in Circle is if you don't include a version, then it is just 
normal C++. The versions are completely opt-in. I think HS Teoh 
makes reference to this in his later discussion that his own idea 
of it is basically opt-in. I think that was one of my hang-ups 
when I first tried to understand his idea.

The other part of Circle that is interesting is that you don't 
have to specify everything in each file, you can have a separate 
file that says what features you want to use and then have the 
version statement (or whatever it is called in Circle) refer to 
that. So instead of having to change every single file when you 
want to make an adjustment, you could only change it in one 
place. If D went this route, then I think something similar would 
be important.




More information about the Digitalmars-d mailing list