The difficulties of cross platform development in a Microsoft
world
Cross platform development was never simple, but
it could be simpler if Microsoft decided to support some standards
occasionally
Now, I've been responsible for at least some of
the Microsoft APIs inflicted upon developers, so I take some responsibility
here. I don't expect that Microsoft should have X Windows or Display Postscript
or anything. I do expect that if I use standard C functions and the STL that
they will at least work somewhat the same across platforms. That is too much to
hope for when working in the wild world of internationalization it seems.
Microsoft uses MBCS encoding for multi-byte encoding of char *s. This is a
Microsoft-only thing that is the result of some dev way back when and is still
foisted upon the world even though there is a much better standard called UTF-8.
While I understand that Microsoft needs backwards compatibility for legacy
applications, since they have already have a second set of APIs for Unicode, how
hard would it be for them to support UTF-8? Actually, somewhat difficult, since
Microsoft uses a different directory separator from the rest of the world that
also doubles as an escape character for certain Japanese characters. If you have
Japanese support on your XP machine, you'll know what I mean already. However,
this lack of UTF-8 support not only makes it difficult to port apps to Windows,
it also makes it difficult to develop applications for multiple platforms.
Microsoft already is forced to support UTF-8 for the web, XML and documents. It
is about time that it works in C and the STL just like on all the competing
operating systems.
Posted: Wed - May 11, 2005 at 08:36 AM
|