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

Reply via email to