I've seen questions edited to remove the language name from the title. Won't search engines - and folks using search engines - have an easier time finding them if these "tags" are kept as part of the title?
TL;DR: No, it is not necessary to include "tags" in question titles.
Stack Exchange sites have an extensive tagging system which allows users to identify what subjects are involved in a question, watch or ignore certain subjects, narrow their searches to a specific area, and even learn about the tag's subject via its wiki.
This tag system works. You can rely on it to notify users who are interested in a tag about your question. Stack Exchange is optimized so that tags are indexed by search engines along with the content of the question. Users are guaranteed to be shown your tags, and will usually take them into account when answering your question.
As a matter of fact, the system automatically prepends the most commonly used tag to the question title when generating the page title (unless it's already in the question title somewhere) to help search engines find it more easily. (This doesn't happen on meta sites, but it doesn't matter since the most common tag is probably one of the four required tags anyway.)
Therefore, it is completely unnecessary to include tags in your question titles.
You absolutely do NOT have to use any one of the following forms when composing your title:
- [tag]: [question title]
- [question title] -- [tag] [tag] [tag]
- [question title] in [tag]
- [tag] [tag] [question title] [tag] [tag] [tag]
- [tag] [tag] [tag] [tag] [tag] [tag] [tag] [tag]
The only time you should use tags in your title is when they are organic to the conversational tone of the title.
is seen by many users as an attempt to force tags in order to compensate for a lousy title. The title would be much more well-received if rewritten like this:
Yes, it is important to provide context in question titles. Tags are wonderful tools but they do NOT provide context in all situations, most notably:
Imagine, if you will, that the use of "Python" in a question title is banned because, of course, it can be put in a tag. You would see a list of question titles like this:
- How to print colored text?
- Is there a ternary conditional operator?
- How to print an exception? (etc.)
It can be extremely frustrating when a related question appears that seems to be exactly the answer you need.... only to find that it belongs to a different context, and it's actually something relevant to Scala or Clojure but not the Python context you want.
The "Similar questions" box when asking a new question
No tags shown.
The close-as-duplicate tool
No tags shown.
Google searches show titles but no tags. (Granted, you can add the tags to a search query to suggest context, but the results shown to you do not include tags.)
StackExchange should probably mitigate this within its own websites by including tags in the displayed results in the sidebar and in the Similar questions box and in the close-as-duplicate tool, the way it does for searches in SO (see below) but it cannot help in results outside of the StackExchange websites. There is little downside of including minimal context information in a title, in a readable way, so that it provides benefit to the reader in all circumstances. SO/SE users with the power to edit a title should be encouraged towards this approach, rather than the overbearing habit of removing context clues from a perfectly good title.