Your LCID sucks

Sorting it all Out
Michael Kaplan's random stuff of dubious value
Be sure to read the disclaimer here first!

Your LCID sucks

  • Comments 14

(Apologies to Roger Ebert, whose book I parodied for the sake of this blog post was a wonderful and not just for the great 0 star Deuce Bigalow: European Gigolo review!)

As a by the way, this post does NOT represent anything beyond my own personal recommendations based on the way I think things are going. I am not even on the team that decides these things any more and I wasn't in charge of the strategy when I was then. Anyone who quotes me with prefacing words like "According to Microsoft..." is a complete and utter moron.

Anyway, your LCID sucks.

(This assumes you are still using LCIDs when you could be using locale names, of course!)

How do I know that your LCID sucks?

Easy.

They all do!

It started back in 2002, when Cathy and I each did one hour presentations for a big group of Microsoft employees about standards and our plans related to them.

Of the whole twenty two slide two hours worth of presentation, one slide I wrote probably got the most email afterward.

It was entitled The Death of LCIDs.

Point after point as to why these things are so awful. From the lack of scalability to the fact that custom locales wouldn't work to their proprietary nature and so on. Not to mention all those problems with Walking off the end of the eighth bit.

And if you'll recall, other people hate them too -- like Bill Poser whose valid criticisms of these things I talked about earlier this month in I think they might kind of get it now.

And then in 2004 when I did a presentation to GIFT about locales whose title was "Intro to Locales (and what's wrong with LCIDs)" that practically had more slides explaining why LCIDs suck than anything else.

LCIDs are just beastly.

Truly.

It is time to move to names instead of LCIDs. Because going forward who knows how many new features will only exist in the "name based" NLS API functions rather than the LCID based ones (just as has already happened with all of the v.next versioning stuff and custom locales and so on).

Because locale names are based on RFCs that are based on international standards.

Because SAIO would really prefer it that way.

And the ninth bit too!

I'll close with some reworded Smash Mouth lyrics:

Somebody once told me Microsoft's gonna roll me
I ain't the sharpest tool in the shed
The code's looking kind of dumb with its finger and its thumb
In the shape on "L" on its forehead

Well the numbers start coming but will they always keep coming
Don't ignore me now and hit the ground running
Doesn't make sense not to just use names
C'mon you're smart so please don't be lame.

So much to do so much to see
So what's wrong with following the RFC
You'll never know if you don't try
Just tell those LCIDs goodbye.

(Chorus)
Hey now, names are All Stars got their game on, go play
Hey now, LCIDs suck so, their so '90's, they'll fade.
And all that glitters is gold
Only locale names break the mold....

Ok, I can't do any more of this. You get the point. :-)

But truly, you should start moving toward using locale names instead of LCIDs. It's time to stop associating with those shady sparsely allocated DWORD kinds of types....

 

This post brought to you by L (U+004c, a.k.a. LATIN CAPITAL LETTER L)

Comment on the blather
Leave a Comment
  • Please add 3 and 8 and type the answer here:
  • Post
Blog - Comment List
  • "Doesn't make sense not to just use names"

    "So what's wrong with following the RFC"

    Two words: Windows XP!

    Just ask Raymond about the value of "backward compatibility" :-)

    Yes, LCIDs suck, and named locales are the right thing. About 5-10 years from now, when XP is dead.

  • Ah, but there are downlevel packages to help with that -- both for NLS and for MUI. :-)

  • And of course LCIDs remain backward compatible, but that doesn't speak to future features (like versioningm for example).

  • A while back, Windows Fundamentals developer Ryan Myers asked me a question via email that I could not

  • Sometimes when working on software projects we spend so much time thinking a certain way that thinking

  • (I will explain the title at the end of this post if you aren't sure yet what it means!) In Vista, a

  • I'll be the first person that standards are a good thing. And when I say that, I want you to fully grok

  • I was going to run the title by some people since it seems like it might be mildly offensive, though

  • They say that you could put just the word Playboy or Hugh Hefner or a picture of the Playboy Bunny on

  • Regular readers might recall a long ago blog entitled New in Vista: What's your name? Who's your daddy?

  • As a by the way, this blog does NOT represent anything beyond my own personal thoughts based on the way

  • Mark Davis noticed something amiss: As I recall, ISO said that they were not going to reuse codes for

  • So, the movement fromLCIDs to names continues apace (ref Your LCID sucks and It is true that your LCID

  • Previous blogs from this series:

    part 9: Nastaleeq vs. Nastaliq? Either way, Windows 8 has got

Page 1 of 1 (14 items)