Re: UTF-8, UTF-16 and UTF-32

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Anti-FUD below. To add a purely technical suggestion, why not use wchar16_t everywhere? Since this type does not currently exist, you could attempt to make a case for adding support to glibc (though, good luck with that) without breaking the ABI, and then use that on non-conforming (read: Microsoft) platforms.

Or just use one of the various existing cross-platform libraries, like other people keep telling you to do.

Dallas Clarke wrote:
Hello Eljay & Andrew
What you are proposing is not C, and is not C++. FSF does not control ISO 9899 nor ISO 14882. GCC does not drive platform ABI.

The heart of this issue is that GCC is not compatible with MS VC++,

gcc is not compatible with MSVC, no, nor do I expect there is any intention to make it so, nor do I believe it should be. Similarly, Sun C is not compatible with gcc, nor with MSVC.

If you refuse to write portable code, that's *your* problem, not ours.

by defining wchar_t as 4-bytes and not providing any 16-bit Unicode support - it just going to be too hard to continue porting to Linux.

Maybe we should copy other bad decisions by Microsoft, like sizeof(void*) != sizeof(long)?

At the end of the day if you want to live in a world where you only consider yourself - then you can live in that world by yourself.

That's funny, that's exactly how I would describe the Microsoft world.

Like you said, if I don't like it I can use another language and GCC will become irrelevant, you can all go your own separate way.

Here's to hoping that MSVC becomes irrelevant :-).

Sure, but you so far have failed to convince anyone that a bad decision
has been made.

I wont bother repeating myself, it not my responsibility to cure your dogma,

Then I guess it shouldn't be our responsibility to cure yours.

it just the end of me using GCC.

You mean, it's just the end of you trying to support any non-Windows platform? That's too bad, since you're limiting yourself to an outdated platform that to all appearances seems to be in decline. (Even Microsoft is making noises of Windows going away...)

I am sure that many other developers will run into the same problem and choose the same solution.

I am sure many other developers have bothered to write code that is actually portable. In fact, the vast majority of software available for Linux, much of which can be compiled on multiple architectures as well as multiple OS's, proves that point. It's not gcc that's different from everyone else, it's Microsoft (and I can say that from personal experience). Sure, other platforms have their quirks, but for the most part, there are POSIX platforms including Linux, Solaris, and dozens of others, and then there is Windows.

The full set of MS Common Controls no longer support the -D _MBCS, this means I must compile in with -D UNICODE and -D _UNICODE, this makes all the standard WINAPI to use 16-bit Unicode strings as well.

Wow. I knew Microsoft went out of their way to be incompatible with everyone else, but I hadn't heard this one before. Can't say I'm surprised though.

That's what you get for relying on the idiosyncrasies of a platform that is intentionally as incompatible as possible. You'd be much better off writing portable code in the first place. (This, incidentally, is a great way to learn just what a mess Microsoft's API's are, when you realize that you can write code that runs on any POSIX platform with minimal effort, but writing code that runs on Windows is a monumental pain.)

Why is MS doing this - probably because they know your not supporting 16-bit Unicode and that will force people like me to drop plans to port to Linux/Solaris because it is just too hard.

I'd actually bet money that's exactly why they're doing it. Microsoft is well known for engineering incompatibility. They're business model is based on lock-in.

Just in case I haven't repeated myself often enough, if you wrote for Linux first, you'd quickly discover that porting to Solaris/etc is trivial by comparison to porting to Microsoft.

And to answer Scott's questions why must we follow the thousand pound gorilla that is Microsoft? For the same reason that rain falls down, because that is just how the world is.

Wrong. That's the way the world *was*. The world is changing (for the better)... :-)

What do you plan to do in a few years when Microsoft stops supporting everything that is not .NET?

--
Matthew
Person A: It's an ISO standard.
Person B: ...And that means what?
  --mal (http://theangryadmin.blogspot.com/2008/04/future.html)

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux