LanguageSpecificTag languagespecifictag = new LanguageSpecificTag();
In @Doorknob's Tag Categorization Project, there's an answer outlining language-specific tags.
The answer notes the format of these tags' wikis:
This challenge is related to the _____ language. Note that challenges that require the answers to be in a specific language are generally discouraged.
There are 134 questions tagged tips, and that's where most of the relevancy for these lang-specific tags comes in.
In the comments to that answer, @Peter Taylor noted (with 10 comment votes*):
To be frank, a lot of these tags have no good reason to exist. In cases where the only tagged question is the tips one, the language tag doesn't really add anything.
Aha! But, @Jonathan Van Matre responded validly (with 6 comment votes*) that:
They add the ability to follow. Even if the tag has nothing but a tips tag now, following enables future activity to connect with an audience. [...] language-agnostic challenges [...] could be or already are tagged with a language tag. [...] I'm not saying we should spam out empty tags for every language, but I see no reason to deny those that have any posts their existence.
The reason I'm writing this question is that within the last week, I've asked two tips questions which I was slightly tempted to tag with pike and d-lang respectively.
I did not do this, because it felt rather abusive to make two rather pointless tags for two little-known languages, just because I wrote a tips question.
On the other hand, javascript and c and python and perl all exist with more than just tips to their names, while some other language-specific tags have only one tips question.
When is it okay to make a new language-specific tag? Should we "spam out empty tags for every language", or should we only tolerate tags that have tips and at least one challenge? I feel there's a lack of consensus, and that having one would be constructive.
* counting mine, because i really don't know which way i'd go
1 Answer 1
On existing tags
Language-specific tags are useful in two scenarios:
- Challenges involving parsing, interpreting, or outputting code in a specific language, as is the case with many challenges bearing the brainfuck tag.
- Challenges that are language-specific.
"But wait," you say, "I thought language-specific challenges were discouraged!" And in general they are. The most notable exception is king-of-the-hill challenges. Most of these require the use of a specific language so that the submissions can interact with a controller written by the OP. Having a language tag on these challenges helps identify which language is required.
Another example recently that was popular, albeit rather contentious, was A little bool magic, which required the use of C#. Regardless of whether pure programming puzzles are on topic, challenges such as these should also bear a tag denoting the required language.
I certainly don't think we need the mass of language tags that we currently have, particularly those whose only question is a tips. In fact, I think that all such tags should be eventually be removed (not all at once). If there is a tag with a good language-specific challenge, the tag should probably stay. Also, if there are challenges that involve parsing a language, that tag should stay.
When is it appropriate to make a new one?
Most of the time it isn't. If you're making a tips question, don't make a new language tag. If you're making some kind of language-specific challenge such as a king-of-the-hill or programming-puzzle, go ahead and make the tag. If you're making a challenge that involves parsing a language, make the tag if it's a notable language (e.g. Brainfuck). In this case, use good judgement for when a language would be deemed "notable" and thus worthy of its own tag.
In any case, add the standard note to the tag wiki:
This challenge is related to the _____ language. Note that challenges that require the answers to be in a specific language are generally discouraged.
-
1\$\begingroup\$ One (very common) case you didn't mention is challenges about certain languages. Just have a look around the [brainfuck] or [befunge] (that is challenges which are about writing an interpreter for our generating code in the language). \$\endgroup\$2016年03月03日 13:21:50 +00:00Commented Mar 3, 2016 at 13:21
-
\$\begingroup\$ @MartinBüttner How's this? \$\endgroup\$2016年03月03日 18:12:03 +00:00Commented Mar 3, 2016 at 18:12
-
2\$\begingroup\$ @AlexA. Sounds good. I guess as soon as we have two challenges about a language I'd also call it relevant/notable enough to warrant a tag (mostly for the reason of "hey I liked writing code about this language, is there more like this?") \$\endgroup\$2016年03月03日 18:13:27 +00:00Commented Mar 3, 2016 at 18:13