On 22-01-2012 20:55, Denis Shelomovskij wrote:
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.
I see absolutely no reason to support an OS that Microsoft does not
support anymore, especially when it has such a negligible amount of users...
--
- Alex