On Mon, 16 Nov 2009 15:05:48 -0500, Walter Bright
<[email protected]> wrote:
Steven Schveighoffer wrote:
On Mon, 16 Nov 2009 14:18:57 -0500, Walter Bright
<[email protected]> wrote:
Microsoft doesn't break support for older Windows when it comes out
with newer ones. Supporting the full range of Windows is essentially
trivial.
For the compiler, yes. For library code, not so much. If you want to
use newer features of the MS libraries, you must abandon support older
Windows.
True, but that's an app issue, not a dev tools issue.
If Phobos depends on functionality not supported in Windows 98, then dmd
is pretty useless on win98 unless you provide a compatible standard
library. Most normal users consider the standard library to be an
essential part of the compiler.
One example: Tango's Process class tries to avoid popping up a console
window when running a script, but it uses a flag to CreateProcess that
is not supported on Windows 98 or earlier. The decision was made to
just simply not support Windows 98 or earlier because it wasn't worth
throwing out that feature simply to support users of Windows 98 (who
frankly, should retire their likely now-paperweights). This is
probably a milder case which causes no harm on a win98 box. However,
calling a new function would make the lib not compile or fail to run.
I don't see any problem with not going to extra effort to support Win9x.
I just see a problem with gratuitously breaking it.
If its for the sake of functionality (i.e. you can't get the functionality
without it) then I think gratuitous breaking is warranted. However, I
don't care too much about Unicode, I work mostly in English and pretty
much only in ANSI-compatible utf8. From your description, it sounds like
this is not one of those cases (i.e. you *can* get the functionality
without breaking compatibility). I was just arguing your point about how
Windows always provides backwards compatibility.
-Steve