I've come across various questions with incorrect use of terminology in them. The primary abuses (in C# questions) are:

  • Referring to "C# 3.5" (which doesn't exist) instead of "C# 3.0" or ".NET 3.5"
  • Referring to the conditional operator as the ternary operator (it's a ternary operator, and happens to be the only one, but that's not its name)
  • Getting confused between using directives (which make types available without fully qualifying the namespaces) and using statements (which create a try/finally block and call Dispose)

Now, if you look at the tags for C#, you'll see that "C#3.5" has (at present) 13 hits, whereas "C#3.0" has only 7 hits. A language version which doesn't exist has more references than the current one!

So far, I've been editing question bodies, tags and titles to correct this - but I'm not sure now. If a misunderstanding is so common that more people know the incorrect term than the correct one, is my "fixing" of the question going to be counterproductive for anyone performing a search?

Or should we try to achieve such a level of accuracy that the incorrect term will get no inappropriate search hits, prompting the user to try again (and hopefully get the right term)? In this case I'm happy to go and retag all "C#3.5" questions as "C#3.0" for example.

I'm aware that I'm a particularly picky person when it comes to terminology, by the way. Maybe no-one else really cares very much ;)