Ansi vs Unicode API

Steven Schveighoffer schveiguy at yahoo.com
Mon Nov 16 12:27:39 PST 2009


On Mon, 16 Nov 2009 15:05:48 -0500, Walter Bright  
<newshound1 at digitalmars.com> wrote:

> Steven Schveighoffer wrote:
>> On Mon, 16 Nov 2009 14:18:57 -0500, Walter Bright  
>> <newshound1 at digitalmars.com> 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



More information about the Digitalmars-d mailing list