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 ;)

  • 4
    If there is only one ternary operator, you can call it the ternary operator. It's not its name, but it's correct and completely unambiguous.
    – CesarB
    Commented Oct 25, 2008 at 21:13
  • 5
    It's unambiguous at the moment, but it's not descriptive and it could easily become ambiguous in the future. Why not call it by the right name to start with?
    – Jon Skeet
    Commented Oct 26, 2008 at 8:40
  • 4
    I am so glad that other people have a thing for terminology being correct.
    – Jeff Yates
    Commented Nov 21, 2008 at 15:03
  • 1
    I'm sorry, the correct term for "terminology" is "sockeye salmon." Please update the question title.
    – mseery
    Commented Nov 23, 2008 at 0:36
  • 3
    If they add another ternary operator, the current one will still be the ternary operator and the new one will be called the other ternary operator. Where's the confusion? Commented Jun 27, 2009 at 13:57
  • 1
    I really hope you're joking. (I think you are, but...)
    – Jon Skeet
    Commented Jun 27, 2009 at 15:52
  • 1
    The beginning of wisdom is to call things by their right names. -Chinese Proverb. We already make enough compromises in this profession.
    – James H
    Commented Jul 8, 2009 at 5:37
  • 1
    There may only be one ternary operator in C#, but you can have as many as you want in Perl6. Commented Aug 21, 2009 at 16:31
  • You remember me of this weird term "implicit cast" i've seen in many questions and answers. The correct term is "implicit conversion" and "explicit conversions" (the latter for "cast"). Commented Aug 27, 2009 at 16:52

12 Answers 12


Very interesting question: is it better to have the right terms, or is it better to have the terms the people are searching for.

I'd say it is better to have the right term. And maybe have a question tagged c#3.5 which states that there is no c#3.5 but instead .net 3.5, so people searching for c#3.5 would find this question where they can learn that the most recent version is c#3.0, and they probably wanted to look for .net 3.5.

  • Agree, I said almost the same thing, a minute later :-)
    – Vinko Vrsalovic StaffMod
    Commented Oct 25, 2008 at 19:44
  • I love that idea. Will add that question in soon, as a community wiki.
    – Jon Skeet
    Commented Oct 25, 2008 at 20:03
  • (Where "soon" is in terms of me having time, of course.)
    – Jon Skeet
    Commented Oct 26, 2008 at 8:41
  • Added new question at stackoverflow.com/questions/247621/… Now to retag everything...
    – Jon Skeet
    Commented Oct 29, 2008 at 17:12
  • 2
    Yes, we want to educate people to search for the correct thing, not hold their hand.
    – Eddie
    Commented Feb 25, 2009 at 23:11

Please keep editing and correcting.

Ignorance thrives in the presence of apathy. -me, two seconds three months ago


It is good to be picky about terminology. That should not be a choice but the way things should be. If there are folks out there who are confused or careless or ignorant about things, and that shows up in their text, then that is a call for action.

Many ways - editing for one. Comments to the question and even replies should mention that. Down-voting the question/answer is another way. Whatever, but there should be concrete effort to enforce correct terminology usage.

  • Down-voting the question would lead to ambiguous use of the voting system. If the question is important/relevant and merits high-lighting, how do you proceed, up-vote or down-vote? Commented Sep 22, 2010 at 17:30
  • I would think that the answer is to edit and correct. The question then becomes one of how to motivate the asker to get it right the first time, and probably the simplest would be a 1pt rep penalty to the asker for every third party edit.
    – Peter Wone
    Commented Feb 14, 2014 at 1:30

Lol, if you have the time go ahead ;-).

Personally I would say C# is enough. There are a lot of tags already. But if there are version related tags, it would be very nice if they are used correctly.


If it helps to clarify the question I'd encourage you to correct someone's terminology. In the case of C# 3.5, I'd correct it to say something like "C# under .NET 3.5", since you don't really know what version of C# specifically they are using. I think the discrepancy in the tagging is a perfect example of why you should feel free to do this. If the problem is that widespread, people need to be corrected so it doesn't spread any further.


To me correct terminology is very important.

It tells people that you thought about your problem and know what you are talking about. This helps me believe I spend my time answering the question not in vain.

  • Ironically, seeing use of the wrong terms might reveal the author doesn't know what they're talking about and lead you to write a more appropriate answer (i.e. adapted to a beginner's level), in which case you can probably save time by pointing the user to the right tutorial or FAQ instead of writing a detailed explanation and mix them up! Commented Sep 22, 2010 at 17:33

Here's my opinion - edit away. As long as someone isn't throwing it in someone's face, I'm not sure anyone minds if edits are made. I'd rather have it correct than incorrect. I've edited a few posts for grammar and clarity and don't think that it is any different.


If they can manage correct syntax, grammar and terminology for an un-living compiler merely because they want something from it, then they can damn well show you and me at least that much respect.


You should care. That's all I have to say. If the person decides to ignore your correction, either outright ignore them or belittle them. ;)


Developers have to be absolutely sharp on terminology!

It shows their level of meta/self consciousness. How else could they write clean code?

I saw a lot of developers who were first confused about what to implement, then used the wrong words for the wrong thing and then..., well, you could clearly see the result in their code.

I had some folks (Europe, non English speakers) in interviews who could neither pronounce Java (not the island) nor Developer the way everybody does (not even after Steve Balmers famous lecture on it :-)). They must have missed lots of podcasts and techtalks on the subject...

Even when we used those keywords during the interview ourselves. They just wouldn't pick it up! You would expect candidates that obviously got it wrong to adapt (cause they are smart, right?).

It just didn't give me the feeling they were sharp enough for the job. Then again maybe I was wrong, but you need to draw a line somewhere...

(the above mentioned "language test" was not actually part of the interview itself, but just a personal note, while it happened)


You should tidy up the terminology and tags - having a series of tags for the same subject obstructs searches and encourages the use of multiple tags. Unambiguous tags help here. Terminology and phrasing in a question should also be tidied up to help clarify the question. Bear in mind that not all people on SO are necessarily good technical authors nor even speak English as their first language.

An example of tags from a few months ago was SQL Server. There were many tags used for SQL Server, which meant that any of these tags may or may not have had all of the SQL Server questions. For some reason, SQL Server is particularly bad for this and new questions need to be tidied from time to time so they don't get lost.


I agree with ConcernedOfTunbridgeW on this. Re-tagging "C# 3.5" as "C#", "C# 3.0" and ".NET 3.5" might help with search and encourage the use of multiple tags.

Maybe a built-in way of associating a commonly-misused tags to a separate set of tags, effectively mapping "C# 3.5" to "C#" and ".NET 3.5" on-the-fly would be helpful?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .