In this thread I would like a reason of trying to support Win95/98/Me to be discussed. I would like to see arguments for and against and, when there will be enough arguments, to vote, make a decision, and add supported Windows OS-es list to the docs, because now D is stamping itself by having undefined behaviour on Windows: one just can't tell, what will program in D do on certain version of Windows: crash/partially works/works?

My reasons against trying to support Win95/98/Me in D2:
* In Russia we have lots of outdated PC-s, and according to statistics of visitors of one site with educational thematics Win95+Win98+Me / All Windows visitors is 3+5+2 = 10 / 9_925 ~ 0.1%.
* If trying to support Win95/98/Me will be discarded, we can remove:
    1. `std.__fileinit`
2. lots of small code duplicates like `useWfuncs ? WinFuncW() : WinFuncA()` 3. some more complicated stuff like `SelUni` template in `std.windows.registry` or Windows `getcwd` implementation in `std.file` * Developers will not be forced to create things that was enumerated in previous paragraph and fill themselves doing ungrateful work, because: 1. Even command line arguments has never been implemented for Win95/98/Me in druntime (at least according to Git history of `rt.dmain2`, Issue 5926) 2. For more than 8 months even Windows 2000 isn't supported at all (every D2 program crashes since 2.053, Issue 6024). * This rejection isn't a breaking change because Win95/98/Me has never been supported by D2 (see previous paragraph). * This rejection will allow to just add supported Windows OS-es list to the docs by claiming Win95/98/Me as unsupported.

Reply via email to