We have a close reason that reads
Questions about software development or programming tools are off-topic here, but can be asked on Stack Overflow.
That's not as helpful as it could be. Moderators can and do migrate questions that are in a good enough state to stand on Stack Overflow (but we miss some when the question gets closed before a moderator sees it; in such cases the asker can just react). We should use a generic close reason for questions that are so far from being viable that we don't want to even suggest another site. So the primary target of that reason is people who've asked questions that could be suitable for Stack Overflow, but are not suitable in their current state, and who are going to read some short guidance. (We can't do anything about the ones who won't read the guidance anyway.)
What should we say? We have 400 characters including formatting.
In my experience, programming questions on CS mostly come into the following types, from most common to least:
- Programming homework in computer science courses.
- Programmers (students or not) who are “implementing an algorithm” and so feel that it's computer science, even if their problem is which library function to use or with the language syntax.
- People who've read “computer” in the site name and didn't bother to think about the second word.
- People who are blocked from asking on SO and try their luck elsewhere.
From this breakdown, I think that the main goal should be to drive people to write a complete question, with code and a clearly stated problem, while discouraging “do my homework”.
I've also asked the Stack Overflow community for their input.