Yes, you must use the language tag. Tags help experts find a question, i.e. only questions having their prefered tags are visible to them. In your case, you missed Java and added all other tags which experts may not follow. So your question will not appear in their customized front page and rss feed, effectively hiding your questions from experts. Java tag is the proper tag for your question if you want the java answerers to see your post.
–
Infinite RecursionAug 23 '14 at 4:10

4

But I want framework users to answer, not Java developers.
–
BasilevsAug 23 '14 at 9:33

@LightnessRacesinOrbit It up to me to make question as searchable as possible. And adding unnecessary tags makes it worse.
–
BasilevsAug 24 '14 at 4:30

2

Rule of thumb: if the question contains code in a given language you should add that language as tag (this also makes the syntax highlighter use the correct rules). If you expect an answer to contain code in a language you should add that language too. There could be questions that are framework related but don't require the language tag. For example questions about configuration of the framework, or about changes in its API/implementation. But these questions should not be about programming with the framework.
–
BakuriuAug 24 '14 at 6:14

@Basilevs: How does java make your question less searchable? That's ridiculous. Yesterday your argument was that doing so would make other questions (language-specific ones) less searchable, which is at least a logical concern. This new argument makes no sense at all.
–
Lightness Races in OrbitAug 24 '14 at 13:44

1

@jww one can manually set up the syntax highlighting using <!--- language: lang-java ---> or whatever you need, that isn't reason enough to add tags.
–
BraiamAug 24 '14 at 14:05

1

@LightnessRacesinOrbit I often find myself ignoring reading java tagged questions as they are usually about syntax errors, collections, "give me the code", an other things I'm not interested in. I therefore would like to avoid using this overloaded tag, which might even hit ignore lists in order to make my tagging as specific as possible.
–
BasilevsAug 24 '14 at 14:11

2

@Basilevs: That's a wider problem with SO but I don't think your solution is the right one, even though it may give you personally a short-term benefit. You're just creating a wider problem of mistagged questions.
–
Lightness Races in OrbitAug 24 '14 at 14:15

1

@Basilevs - my bad. I was not aware you were already adding the language tags for the syntax highlighting. I think Infinite Recursion provided the primary reason for adding proper language tags. Syntax highlighting is just an additional benefit.
–
jwwAug 24 '14 at 14:19

@Basilevs: I would tend to agree that those as mistagged, yes. Still doesn't mean you are okay to mistag, making the problem worse. If we had tag heirarchies then it would be possible to search for "Java questions with at least one sub-tag present" and your problem would be solved; but we do not.
–
Lightness Races in OrbitAug 24 '14 at 14:26

2

People tag Joomla with PHP or SQL all the time and get wrong answers as a result. Sometimes they get inappropriate close votes or told they are idiots because the question is a good Joomla question but a bad PHP or SQL question. For example frameworks solve a lot of problems with SQL injection or XSS, but if you don't know the framework you have no idea. If it is really a question about the use of the framework, I wouldn't tag it with the language. Of course, oftem OP doesn't know. The question needs a new title and introduction to indicate that he only wants an answer in the context of SWT.
–
ElinAug 24 '14 at 16:29

2

People who are using front end only should not be posting on SO. I'm talking about programming in PHP using the Joomla framework.
–
ElinAug 24 '14 at 19:23

4 Answers
4

The rules are a bit simpler than you're trying to make them. Try this:

Is the code in the question written in Java? Do you want an answer written in Java? Use the java tag!

There is a limit of 5 tags. It doesn't hurt to use all 5 that you are allowed to use, as long as they are appropriate for the question. Tags are how experts find questions to answer and how we categorize questions. Don't be overly pedantic or philosophical about it. The Java libraries are still related to Java.

Absolutely. Users filter the questions they see by tags. By apply a broader language tag, you expose your questions to those users. By tagging it with a particular language, framework, or concept, you're attracting someone who knows a lot about those subjects and is likely to have an answer to your question.

Almost all questions should have a language tag. (If not, think hard about whether it would be better suited to another site like http://programmers.stackexchange.com/.) With some languages/tools, you can go a step further: tag with both the language/tool tag and the version specific tag. (I've had people edit my post to do that before.) This gets your question into potential answerer's lists and it tells everyone what version you're using immediately. Only use the version specific tag if it's important, though (like in Python where the way certain features work is very different in some versions).

So the main question with tagging is, "Who do I want to see my question? What should they know a lot about?" Any tags that indicate the knowledge required to answer the question should be added.

The rule of thumb is that you should put the programming language that relates to your question. In the case of your specific question, I would have put java among the tags.

However, in general, there exist some exceptions where adding a language-specific tag can drive away people who could answer your question. Here's one example. Selenium is a project that has produced libraries that allow you to drive web browsers. So you can write code that will open a web page, find a link, click on it, etc. and it will be able to control Firefox, Chrome, IE, whatever... These libraries exist in multiple languages: Java, Python, C#, Ruby, JavaScript, etc. The fact is that the vast majority of Selenium questions posted on SO are about problems that belong to Selenium proper, irrespective of the language that one uses. And since the API is quite regular from language to language, it is easy for someone who has never programmed in a given language (but who is not a novice at software languages in general) to still understand questions or answers written in that language. I have answered Selenium questions in languages I've never used.

So in a case like this, an OP who does not care what language is used to answer the question could skip the language-specific tag so as to avoid driving away people who do not know that specific language but could otherwise answer the question.

if the answer is "maybe, I don't know" then you can throw a coin to the air to decide, but probably you should check related tags to the ones you applied, and don't feel bad if someone removes them later.