Welcome to MSDN Blogs Sign in | Join | Help

chadr's skewed perspective

Please don't let Word auto-correct my name.
Are you an lvalue or an rvalue?

There are many different ways to describe the “lead or follow“ model.  Compiler geeks (whom I used to publicly, and now secretly, aspire to join) might think of this in terms of lvalue and rvalue (setting the value, or reading the value).  My favorite way of thinking about this dichotomy is with the dictionary, specifically the Oxford English Dictionary.  The venerable OED.  Pour a beer down me and I can rant on this for three bowls of pretzels.

The Dictionary

Should the dictionary lead or follow the language?  I guess I'm somewhat elitist because I always thought that the dictionary would lead a language's speakers and listeners, writers and readers, to use the language in the one true and correct way.  I used the dictionary as a tool to challenge my own common perceptions of language and use, and self-correct as necessary, in order to preserve order and strength and civility.

Boy, was I wrong.  A few years ago, I was struck by a TV news story that some word or another had officially been added to the OED. The rationale offered by the talking head was that the word was in common use and thus needed to be captured and documented.  That seemed reasonable enough, given that times and tides do change.  After all, we certainly want our language to reflect the evolution of our civilization in the years since the OED started capturing these words.

The particular word in the news story, which I don't recall, struck me as a slang-like and even pop-culture-ish.  I thought that within 3-4 years, the word would vanish from our common vernacular; it was transient and value-less, so why distract and confuse us humans by capturing it?  For me, this tarnished the value I had placed in the OED and its role in the use of the English language.

The dictionary, as a tool for civilization, can be actively used to assure value to the currency of language.  When a word is used, it's value needs to be agreed upon by both speaker and listener.  The value of a word is its meaning, definition.  If the speaker mis-uses the word, the listener fails to understand and the value has not been transferred.  When a dictionary picks up a pop-culture or slang word, it is, in effect, giving people the power to create currency, the authority to print money.  Yuck.

So here's the thought exercise for you, gentle reader:  Should the OED lead or follow the language?

The Dress Code

The “lead or follow“ model can be applied everywhere!  Gretchen and Zoe, rvalue'd by Heather, recently assessed their visibility by googling some of the idioms in their world.  One of these was, essentially, “what to wear to a Microsoft interview.“  They even suggested deferring to me to answer the question of what to wear with khakis.  Which got me thinking...

Is there a “dress code“ for business casual?  Following the OED example, we might expect that there is, as a result of someone trying to follow and document it.  I have seen books on the subject, along the lines of “Business Casual for Dummies“.  There is certainly a de facto code that people follow, typically involving khakis and a polo-style short-sleeve knit shirt.  There are subtle aberrations to this code, involving pleats on the pants or strange choices in shoes.  If no one was ever fired for buying IBM (an old IT adage) then it's safe to assume that no one was ever fired for wearing khakis and a polo.

Please.  I implore you.  Define a dress code, don't look for one to follow.  Abstract away from the implementation of khakis and a polo shirt, pick up the meta-attributes in that model, and use those to guide you:

  • Clean:  we hope that you don't stack gnawed chicken bones on your work clothes
  • Pressed:  shows a measured and moderate attention to appearance without disclosing your OCD
  • Cared-for:  you take care of your clothes as you take care of your other responsibilities, like, say, your job
  • Purpose-consistent:  whatever you wear, make sure it makes sense with the rest of what you're wearing; pass on the running shoes with your khakis

What kind of shirt do I think one should wear with khakis?  Something suitable for going out and shopping for new and different pants!  Please lead in the way you dress, and set an example.  There is no rule book to follow, thankfully :-)

The API Reference

Let's bring this back to code.  An API is like a word.  It serves a purpose and does something specific, and in some cases has friends that it is often used with.  We create a system of currency when we create an API.  We need people to understand its purpose and use it correctly, so we document the API, its history, its scope, its applicability, its side-effects.  We even use it in a sentence (code example) to show its typical use.

Here's your more important thought exercise:  What if the API reference evolved over time, like the OED?

Would it be useful to know that GetUserName, in addition to returning the currently-logged-in user owning the process, has been used by some applications to formulate a path for per-user storage?  More interesting is that another application might have abused the API and exploited a bug to also get the user's network domain.  If the advapi32.dll author wanted to fix the bug, it might mean actually changing the meaning of the API for those that have used it.  It's like a dictionary changing the definition of a word, or adding a new definition based on common usage.  Can an API be re-purposed?  Can the owner ever assert and enforce the original intent?

I don't have a clear opinion on this, I'm conflicted.  Misery loves company, so if this problem makes sense to you, please embrace and extend.

Posted: Wednesday, May 12, 2004 9:54 AM by chadroyal
Filed under: ,

Comments

John Wilson said:

When the OED was started, the purpose was to create a <b>complete</b> dictionary of the english language. And how can you have a complete dictionary if you leave out words that you don't like? You can't even have a complete dictionary if you have all of the words but leave out alternate meanings or usages of certain words.

I think the OED should stay true to the task of being a complete dictionary and history of the english language. Society changes too much over time, so I think it's useless to try to pin the language of society down. But if you want to compare approaches, the main french language "standards body" definitely takes a "leading" approach.

For more detail check out

http://en.wikipedia.org/wiki/OED
http://en.wikipedia.org/wiki/Acad%E9mie_fran%E7aise

# May 12, 2004 10:32 AM

AndrewSeven said:

The OED was and still is the definition of English.

One of the great things about our language is that is is alive; to represent the language the OED must also be alive.

OED continues to cover the language, noting the things that are added, usualy including when and why.

Slang and vernacular terms are usualy identified as such.

Adding to an API is ok, changing the meaning of an existing method isn't.

Using the wrong thing, be it an API or a word, is bad.

# May 12, 2004 12:55 PM

chadr said:

John makes an execellent reference on how the OED follows English and the Academie Francaise leads French. Ignorance is bliss. Well, it was.

Following Andrew's observation on the behavior of the OED, I presume I would find a set of asterisks on these slang words so that I would know, always, when I was straying from the Queen's English.
# May 12, 2004 3:31 PM

Saurabh Jain said:

You won't find asterisks but you would find "slang" in the description e.g. http://www.oed.com/help/worksheets/leeds.html#8.0).
# May 13, 2004 1:39 AM

Heather said:

OK, to be fair, I actually posted mine first....why am I not happy being an rvalue?
# May 13, 2004 12:07 PM

chadr said:

Heather, my descriptions of lvalue and rvalue were confusing. You're an rvalue, it means you have the real meaning and someone else copies it. You were first, and I meant to indicate that! It's best, really :-)
# May 14, 2004 4:38 PM

Heather said:

OK Chad...I'm sure that rvalue and lvalue have more meaning to tech folks, which obviously isn't me; )

For some reason, I feel like I keep proving to people how not technical I am.
# May 17, 2004 6:11 PM
Anonymous comments are disabled
Page view tracker