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.