TL;DR: Get rid of code trolling - in a reasonable way and for the benefit of the community.
I am not a fan of code-trolling, but I thought I'd give this tag a fair trial. So instead of just saying "I don't like it, code trolling is the worst, delete ALL the questions", I'll try to justify my position as best I can. (We tried the other tactic before and it didn't help).
Are there any good code trolling questions?
So first, I really wanted to figure out what makes a good code trolling question (if such a thing exists). Because if there is such a thing, then all we need to do is clearly express what makes a good code troll and simply weed out the bad ones. So I went through all 24 code trolling questions. I found exactly three noteworthy ones:
- The original: This one was good and fun because it was a novel idea. In that sense this is only one particular (and at the time interesting) case of a popularity-contest.
- Multiplication without + and *: This is interesting because it has a really clear spec. However, the actual point is that the code-trolling tag on this question seems entirely pointless. This is just a popularity contest with a strong restriction on the allowed implementations. In fact, we have a restricted-source tag for that.
- Trolling the troll: As opposed to most other code trolling questions, this one actually attests the reader of the code some intelligence, and requires that the code looks like malware while being harmless - you're not going to get away with obvious obfuscations here. But that's nothing more than an underhanded challenge.
So what these three good (?) code trolling questions have in common is that they are really just popularity contests. The only one of them that is really related to code trolling is the first one, but if it's the only actually good such question, then "code trolling" as a challenge type is not a thing.
An honourable mention goes to drawing the trololologram. This one was also heavily disputed but at heart there is an interesting idea (which is also not inherently related to code trolling): devising a challenge with rules that make it "obviously" impossible to solve such that the challenge consists in finding loopholes. However, we all know how much we like recurring exploitation of loopholes here, so something like that can also be funny once (tops).
So what's so bad about the other 20 questions? Basically they are all the same. They all take a bad question from SO (or make one up), and post it with the code-trolling tag as a one-line - sometimes they add a second line to ridicule the original poster over on SO. All of these could reasonably be closed as "too broad" without any aversion against code trolling whatsoever. Why? Because code trolling can be interpreted in any of a myriad ways (underhanded, misinterpret task, write broken code, write illegible code, write bad-practice code...) such that the only restriction that remains on submissions is that the answerer somehow has to figure out how he can claim that the program is related to the question. At the same time, while they may be fun, they don't even provide a puzzle due to the lack of an actual objective/restriction. That does make them somewhat off-topic here, too.
So maybe it is possible to post a good code trolling question, but I don't know because it hasn't been done yet.
Well that just screams for "delete ALL the code trolling questions", right? Wait, let's look at the other side as well.
"But they are popular!"
The most common (only?) argument for keeping code trolling around is "because it's popular" (and the secondary arguments following that like "we need more traffic", "more questions spawn more answers, which might be interesting"). Yes, code trolling questions frequently make it into the Hot Network Questions and they get a good amount of answers and upvotes from time to time. But just because it's popular that doesn't mean it's a good kind of question for this site. Even "because it may generate an amazing answer from time to time" doesn't mean it's a good kind of question for this site.
"But this is a community-driven site! If it gets so many upvotes, the community wants it, and it should stay!" Or should it? The StackExchange network prides itself in its high-quality content. In any case quality over quantity. StackOverflow doesn't accept duplicates or "I haven't done my homework" questions (those would certainly increase the volume tremendously), because they want relevant questions first and foremost. This is the most important thing and it does regularly include alienating the odd new user who just wanted a quick "give me teh codez" to solve his problem. (Ironically these are exactly the people fans of code trolling are making fun of.) But that's fine because users (trolls) who can't accept that the StackExchange network is for high-quality content only and just want to have some fun are not the target audience here. There are places for such content, but it's not SE. (Reddit, maybe? I don't know.)
Again, I thought I'd rather back that previous paragraph up with some actual examples. There are both list-type and fun questions on StackOverflow which are massively popular and have amazing (and even useful) answers. Nevertheless, they are strongly discouraged and new similar questions will be violently closed and deleted. Some examples of such questions:
- A list of good books on C++: This one is not even closed because it's so tremendously useful. But try asking a similar "I need a list of..." question on StackOverflow and count the seconds until 5 close votes are in. In fact, SO has a close vote reason "Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam."
- And then there are these gems: funny, funnier, funniest. These all have hundreds of answers and upvotes (with some answers having over a thousand upvotes). Also, they are all closed and locked with the message "This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here."
These examples show that it is not uncommon for the SE network to rule out certain kinds of questions, despite popular demand - in the interest of the community's high quality. And the thing is: people on SO understand! And those who don't - as I said - are not the target audience.
So what should we do about code trolling?
Okay, this post is long enough, I should get to the conclusion. So? Delete ALL the code trolling questions?
No, I think we can proceed with this in a somewhat more mature way, just by looking at how SO handled those questions. So here is what I'd suggest we do:
- Close all existing code-trolling questions (or maybe re-tag those three I mentioned).
- Lock all the more popular ones (>20 answers or >20 upvotes, say). Put the "kept around for historical significance" message on them. That's the key really.
- Do delete the rest (although I personally wouldn't even mind if we just leave them all as signposts).
- Change the code-trolling tag wiki to read "This tag is kept around for historical reasons. Questions of this type are not considered a good fit for this site, so rethink your challenge if you wanted to use this tag."
- Strongly discourage all future code-trolling posts by closing (and subsequently deleting) them with reference to the tag wiki or this meta discussion.
- If an interesting/good code troll does come up, figure out why it's good, build on that - and sort it into another appropriate tag (most likely some variant of popularity contest). Because most likely, the good thing about will not be something inherent to code trolling.
If we want to hold codegolf.SE to the same high standards as the other sites in the network, we do need to have the balls to say "this is not what we want" even if it means losing a few potential new users.
PS: If someone can come up with an actual good and interesting challenge whose being good and interesting relies on it also being a code trolling question, I will be the first person to admit that keeping code trolling around might be worthwhile. However, even in that case, we need to be very clear in what makes a good code trolling question and still systematically weed out all those that don't live up those standards.