You can either be intuitive and completely inconsistent, or consistent and completely unintuitive!

by Michael S. Kaplan, published on 2008/11/12 10:01 -05:00, original URI:

People have been misusing the word neutral in the whole area of internationalization of Microsoft products for quite some time now, a fact that I have discussed previously in blogs like Neutral? I do not think that word means what you think it means! and How ConvertDefaultLocale sorta broke backward compatibility in Vista, and why and Using full locales rather than the neutral ones? and Behold the Table Driven Text Service, Part 5 (All about the language, baby!).

As these various technologies mentioned in the above blogs tortuously abuse the nature of the word neutral over and over again, one is left wondering how one could remain neutral about the meaning of neutral given how much the meanings conflict!

Though to be honest, there is a competition for most over-used term in this area, and the other contender is the word default, which has been misused/overused in a lot of situations too, as I previously discussed in blogs like The ever-misleadingly incorrect usage of the word DEFAULT and Neutral? I do not think that word means what you think it means! again, and so on (I could cite more but it would just depress me if I did).

And of course the term locale has to be thrown in there too -- has any term been overused as much as it, really? And misused when language was what was really needed? And don't even get me started on culture here. From The ever-misleadingly incorrect usage of the word DEFAULT again and so on, locale nd the other two are way overused, and just as often misused as the rest (I'd add more cites but I might collapse in moral despair if I did!).

Then yesterday, my BCL friend and fave and fan Kim Hamilton wrote in her blog about What does the NeutralResourcesLanguageAttribute do?, and managed to avoid most of the difficulties in the above and in what managed code brings in to further confuse the issue. As she mentions:

NeutralResourcesLanguageAttribute marks the neutral culture for an assembly. That sounds self-referential, but a full description would require another blog post. To avoid getting bogged down, think of neutral culture roughly as the default language. (Fingers crossed that Michael Kaplan doesn't flame me for that oversimplification.)

Well Kim won't need to wear the flame retardant britches to lunch tomorrow, though I may enlist her at some point to help flame the people who made it so complicated and weird and terminologically retarded in the first place.

The confusion here obviously predates her attempt to explain things, and at least this simplification is self-consciously aware that it is walking on eggshells.

The fault, such as it is, lies in the shoulders she is standing on here. :-)

Do you notice how .NET now has yet another meaning for neutral that they threw in the ring -- they are using the term neutral to refer to their ultimate fallback (something I haqve talked about a bit before with the managed/native differences thereof in Random irreverent thoughts about the Ultimate Fallback).

That would have been a good [over-]use of the word default, to be honest, especially given the strong meaning that neutral has in .NET when it comes to neutral cultures, which are heavily used in resource loading.

When you consider that the .NET Framework was once so paranoid about using the same term to mean two different things that they introduced Ordinal for binary comparisons because they were paranoid that people would confuse the other use of binary in .NET (binary serialization/formatting) elsewhere, the fact that they would overload the word neutral in the same technology does suggest a small lapse in judgment somewhere.

Were the consistent terminology nuts over there napping that day? :-)

Consider the confusing legacy of the term ordinal which, while more consistently used then all of the above terms, has the disadvantage that all of them have the potential to be intuitive, something that ordinal will never have going for it.

They could have called it binary and binaryignorecase and been intuitive!


This blog brought to you by(U+2afb, aka TRIPLE SOLIDUS BINARY RELATION, which is slanted even though not italicized)

John Cowan on 12 Nov 2008 1:35 PM:

It's a good thing for Microsoft that the Neutral Indians are no longer around, or things would be even worse.

Reminds me of the time I used FOO as a dummy account name -- until we hired Sherman Foo.  Rather than rework the whole system, I told him his account name was REALFOO.

go to newer or older post, or back to index or month or day