Everyone has seen these questions in there lifetime, they are along these lines:

  • "Can anyone please help me implementing (homework/issue/?) X in Java, but without using the standard Java libraries?"

I must say I am getting fairly annoyed by them, yes you can do some things without actually using the Java libraries, but Java is built around those standard libraries!

Should those questions be classified as offtopic? I understand that there may be some good questions amongst those questions I get annoyed about, but honestly that is the case for all questions that are offtopic as of, some may actually be good.

I think that it's fair to ask all kinds of restrictions on questions, but I think it is starting to become an issue when the creator of the question is actively denying answers that use the standard java libraries, for guava, etc. is a totally different case, those should not be classified as standard, ever... Until Oracle decides to do so.


While learning is one good reason to perform a task without using a library, there are other valid reasons, and you shouldn't have to justify your question on Stack Overflow beyond the typical close question reasons.

If the question annoys you, consider moving on to another question. There is no shortage of questions, and if you are unable or unwilling to help out with one, move on to another one.

You might be tempted to downvote it, but keep in mind that you should only downvote if the question shows no research effort, isn't clear, or isn't useful.


It sounds like a slippery slope.

You can't expect everyone to work with the same parameters as you are, which is why there are also version specific tags. Likewise you also don't mind for people to implement their own linked list because it's a learning experience.

If a person set himself the restriction of trying to use no standard libraries, who are we to judge that? You don't tell the users in these examples to upgrade their environment or to use the existing linked list in the libraries either.

If the question explicitly states that he doesn't want to use standard libraries then you can't really hold it against him to not accept answers that use these libraries, can you?

In the end it is op to the OP to decide what restrictions apply to his question. If you don't like them: don't answer it. I don't think I've ever seen these questions gone unanswered so it must be that enough people still want to answer it.


What about situations when a standard library cannot be used for some reason? For example, GWT does not emulate some Java classes, Google App Engine does not support some Java classes, and so on. I find it a good form to mention these limitations in a question. As a minimum, it reduces the number of wrong answers and unwarranted downvotes. I don't think, however, that we should ban or downvote questions that do not explain a reason for not using a standard library


What is off topic on Stack Overflow. Or indeed, for any forum or QA site? That depends on the defined purpose of the site. SO is specifically for professional and enthusiast programmers. So the test should be "would a professional or enthusiast programmer ever ask this question?"

For most questions of the kind you mention, the answer would be "no", so most of those questions should be off topic.

A professional would not waste time by reimplementing what the Java library already does. An enthusiast might implement their own version of a library class as a learning exercise or for fun, but note that they would ask a different kind of question. They might ask about the algorithm used, or help with a specific problem with their implementation, but not something close to plzsendtehcodez. Similarly, a professional might write their own implementation of functionality in a later version of Java than they can use. And again, the kinds of question they would ask would not be the kind of question you are complaining about.

Not the answer you're looking for? Browse other questions tagged .