Frequently Asked Questions
What kind of questions can I ask here?
Programming questions, of course! As long as your question is:
- detailed and specific
- written clearly and simply
- of interest to at least one other programmer somewhere
... it is welcome here. No question is too trivial or too "newbie". Oh yes, and it should be about programming. You know, with a computer.
Please look around to see if your question has already been asked (and maybe even answered!) before you ask. If you end up asking a question that has been asked before, that is OK and deliberately allowed. Other users will hopefully edit in links to related or similar questions to help future visitors find their way.
It's also perfectly fine to ask and answer your own question, but pretend you're on Jeopardy: phrase it in the form of a question.
What kind of questions should I not ask here?
Avoid asking questions that are subjective, argumentative, or require extended discussion. This is not a discussion board, this is a place for questions that can be answered!
Also, try to refrain from asking questions about Stack Overflow itself unless you absolutely, positively have to. Most programmers don't come here to learn about the intricacies of this site; they come here to get answers to their programming questions. Let's try to help them out by not cluttering up the system with navelgazing meta-discussion. If you want to suggest a feature or discuss how Stack Overflow works, visit our meta-discussion site.
If your question is about …
- networking, servers, or maintaining other people's PCs and contains no source code, ask on Server Fault.
- general computer software or hardware troubleshooting, ask on Super User.
- web design and HTML/CSS layout, and your job title is "designer", ask on Doctype.
Be nice.
Treat others with the same respect you'd want them to treat you. We're all here to learn together. Be tolerant of others who may not know everything you know. Bring your sense of humor.
Be honest.
Above all, be honest. If you see misinformation, vote it down. Insert comments indicating what, specifically, is wrong. Even better — edit and improve the information! Provide stronger, faster, superior answers of your own!
Do I have to log in or create an account?
Nope. You can answer and ask questions to your heart's content as an anonymous user, much like Wikipedia. However, there are some things you won't be able to do on the site without registering. But it's easy to register if you want to. All you need is an OpenID account.
How do I ask questions here?
When you post a new question, other users will almost immediately see it and try to provide good answers. This often happens in a matter of minutes, so be sure to check back frequently when your question is still new for the best response.
If your question needs clarification, you will see comments in smaller type below your question. If other users ask you for more information in the comments, edit your question using the edit link just below your original question. Providing clarification promptly will help get you the best answers.
As you see new answers to your question, vote up the helpful ones by clicking the upward pointing arrow to the left of your question. Answers are normally sorted by vote score so the most highly voted answers float to the top. Other users will also vote on the answers to your question.
When you have decided which answer is the most helpful to you, mark it as the accepted answer by clicking on the check box outline to the left of the answer. This lets other people know that you have received a good answer to your question. Doing this is helpful because it shows other people that you're getting value from the community. (If you don't do this, people will often politely ask you to go back and accept answers for more of your questions!)
What is reputation?
Reputation is completely optional. Normal use of Stack Overflow — that is, asking and answering questions — does not require any reputation whatsoever.
Remember, Stack Overflow is run by you! If you want to help us run the site, you'll need reputation first. Reputation is a (very) rough measurement of how much the Stack Overflow community trusts you. Reputation is never given, it is earned by convincing other Stack Overflow users that you know what you're talking about.
Here's how it works: if you post a good question or helpful answer, it will be voted up by your peers: you gain 10 reputation points. If you post something that's off topic or incorrect, it will be voted down: you lose 2 reputation points. You can earn up to 200 reputation per day, but no more. (Note that votes for any posts marked "community wiki" do not generate reputation.)
Amass enough reputation points and Stack Overflow will allow you to go beyond simply asking and answering questions:
15 | Vote up |
15 | Flag offensive |
50 | Leave comments† |
100 | Vote down (costs 1 rep) |
100 | Edit community wiki posts |
200 | Reduced advertising |
250 | Vote to close or reopen your questions |
250 | Create new tags |
500 | Retag questions |
1000 | Show total up and down vote counts |
2000 | Edit other people's posts |
3000 | Vote to close or reopen any questions |
10000 | Delete closed questions, access to moderation tools |
† you can always comment on your questions and answers, and any answers to questions you've asked, even with 1 rep.
At the high end of this reputation spectrum there is little difference between users with high reputation and moderators. That is very much intentional. We don't run Stack Overflow. The community does.
What if I don't get a good answer?
In order to get good answers, you have to put some effort into the question. Edit your question to provide status and progress updates. Document your own continued efforts to answer your question. This will naturally bump your question and get more people interested in it.
If, after 2 days, you still don't have an answer you like, you can offer a bounty. Slice off a bit of your own hard-earned reputation -- anywhere from 50 to 500 -- and attach it to the question as a bounty. We'll even throw in 50 reputation to sweeten the deal. The bountied question will appear with a special icon in all question lists, and it will also be visible on the home page Featured tab.
Once initiated, the bounty period lasts 7 days. If you mark an accepted answer, your bounty is awarded to the answerer (do note that accepted bounty answers are permanent and cannot be changed). If you do not accept an answer in 7 days, here is what happens at the end of the bounty period:
- The highest voted answer created after the bounty started with at least 2 upvotes will be automatically accepted. Half the bounty will be awarded to the owner of that answer.
- If there is no answer meeting the above criteria, and you as the question owner have not opted to accept an answer, you forfeit your right to ever accept an answer to your question.
In any case, you will always give up the amount of reputation specified in the bounty, so if you start a bounty, be sure to follow up and accept the best answer!
Of course, bounty awards, like all accepted answers, are immune to the daily reputation cap and community wiki mode.
Why are some questions closed?
Questions that are deemed sufficiently off-topic may be closed by the community. Users with 3000 reputation can cast a limited number of close votes per day. When a question reaches 5 close votes, it is marked as closed, and will no longer accept answers. Closed questions may be opened by casting reopen votes in the same manner. However, you may only vote to close or reopen a question once.
An explanation of common reasons to close questions is available on meta.
Other people can edit my stuff?!
Like Wikipedia, this site is collaboratively edited, and all edits are tracked. If you are not comfortable with the idea of your questions and answers being edited by other trusted users, this may not be the site for you.
What about...
If you're looking for excruciating detail, we host a section of constantly evolving FAQs that document everything about the site.