Not the most sensible post to riff on, but we do deal with GD here at SIAO

by Michael S. Kaplan, published on 2007/08/20 03:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2007/08/20/4473565.aspx


It may not be the most sensible post for me to riff on, but it is the one that got me thinking about the issue, so into the breach I go.... 

I did almost lose a keyboard since I had just taken a big sip of Limonata before looking over at the monitor when out of nowhere Chris Pirillo's Viagra vs. Cialis post popped up in FeedDemon.

And it succeeded in catching my attention, if nothing else. Which was his stated goal, so well done there!

My first thought was that the spammers had perfected the "spam post" technology and put a whole post up full of links -- since he uses Google for ads, in a way they did. :-)

But I thought I'd try to look a bit deeper here....

Because whether the conversation is comfortable or not, we are talking about GD (globalization dysfunction) here in this blog.

There are many "cures" for it, but finding the right one for the circumstances can be a challenge.

When dealing with two technologies that are mostly the same but have some sometimes subtle differences that really can drive a software developer toward one or the other, it may seem like trying to choose between two drugs that everybody knows something about (even if not quite so many of us know the differences between them).

And I often get those questions when people have to choose between Win32 and MLang, between CultureInfo or GetLocaleInfo, between LCIDs and locale names, and so on.

It's easy to be a cheerleader and say rah! rah! use the new stuff! and tell them what to choose. But that isn't helpful.

I mean usually I might suggest Win32 over MLang, but what if we're talking about code page detection?

I might usually suggest GetLocaleInfo (since I am on the Windows team) but what if we're talking about a managed code project?

And I might usually suggest locale names, but what if you're just using LOCALE_USER_DEFAULT, or what if you are running downlevel?

The real answer to the question "which technology should I use?" is really complicated -- pushing it into a sound bite Hillel style (where he told the heathen who wanted to learn the whole Torah while standing on one foot "What is hateful to you, do not do to your neighbor: that is the whole Torah while the rest is commentary; go and learn it.") might have some visceral appeal, but that usually just isn't going to work.

And not just because I am no Hillel.

(In fact, after talking to like three or four folks in Office and SQL Server over the last few weeks who had never known me before but were told to contact me for some help or answers by their colleagues, it is very clear that I have developed something of a reputation at Microsoft, and if one had to choose a rabbi it would be closest to in description, I am clearly closer in reputation to a Shammai than a Hillel, though in fairness I would never chase someone off with my builder's cubitcane or one iron for asking me a question!)

But like I said, it is not just because of that.

I really need to know what the actual requirement is -- what one wants the code to do.

Blindly saying "use managed code" or "use names, not LCIDs" without any consideration for needs may not make one a complete and utter moron, but it does not make one a genius, by any means.

And without knowing what you were doing, there is no way to answer the question. If there were, then I would have only needed like maybe 20 posts in this blog instead of the tangled mass it has become!

So, just as you should probably go to the doctor if you needed an answer to the whole erectile dysfunction question and whether to use Viagra or Cialis, coming somewhere like here for questions related to globalization dysfunction just makes sense.

Especially with Dr. International in such a non-responsive state (in a coma since February of 2006!). :-)

 

This post brought to you by (U+2206, a.k.a. INCREMENT)


no comments

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