What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 150 Stack Exchange communities.

There seems to be more than a few computer science/programming Stack Exchange networks (is that the correct term?). Stack Overflow, being the first, has by far the most users, questions, and answers.

What is the reasoning for creating the others, and are there clear guidelines for which kinds of questions should be posted? I can see a large amount of potential overflow, many cases of people not getting a good answer to their question because the person who has the answer isn't browsing that particular network at the moment. I understand that they were probably created for organizational purposes, but wouldn't almost make more sense to just have them as categories under Stack Overflow, keep them separated but still connected, instead of making people have to create multiple 'account's, one for each network?

I am sure there was a very good reason to break them up, but as someone that is new to SE, it can be somewhat intimidating to decide which one to post in to ensure you get a good answer. For example, if I am a Computer Science student, my first instinct might to be to post in the Computer Science network, until I see that it literally has 1% of the users as the Stack Overflow network, which still seems to be for programming/computer science related questions. So my second instinct would then to be to post it into the SO network on the basis that I have a significantly higher chance of my question being seen and getting a good answer. Then I notice that there is also a 'programmers' network, and I don't even begin to know where that fits in. I, and I am assuming most people, will probably just post in the SO network to be safe.

My question is, other than the short little description blurb of each one, is there a clear cut set of guidelines which what each network is intended for, what kinds of questions should go to each one, and is anything being done to encourage people to post in these newer, smaller (more specialized?) networks as opposed to just posting in big daddy Stack Overflow? Now again, this is for computer science/programming/"why isn't this code doing what I want?" related questions, I am not saying that if I had a question about Linux or Wordpress or something I would have the same confusion.

share|improve this question
I'm not new to SE, and I still don't understand the overlap of topics across multiple sites, so don't feel too bad! – Cody Gray Apr 18 '12 at 5:34
This question and its outstanding answer should be added to the FAQ. – Al E. Apr 18 '12 at 13:50
Many kudos, Taylor & Yannis! #1 reference when I see well elaborated programming/computer-science Questions, it's like "dude, check the power of the Network" – brasofilo Dec 14 '13 at 23:11

2 Answers 2

up vote 210 down vote accepted

Stack Overflow

Implementation problems, and questions on software tools commonly used by programmers. If your code or your IDE doesn't work, ask on Stack Overflow.

Does not welcome subjective questions (anymore).


The main focus is whiteboard questions, problems that you face while in front of your whiteboard designing your project. Everything that can be considered part of the SDLC, except implementation:

Picture Programmers like a small conference room with a whiteboard. No computer, no books, no papers. You write your question on the whiteboard and experts walk by. Someone sees one that they can answer, they stop in and help.

Also, questions on freelancing and business concerns that require the unique expertise of software developers. We use this lovely diagram to help people understand if their questions belong on Programmers:

And somehow people still don't get it

If your questions fall in the "all careers" circle, you should ask them on The Workplace.

Programmers welcomes some subjective questions, but they should still be suitable for the Q&A format. No polls, no lists, no product recommendations, no discussions.

Database Administrators

Database administration, querying, modelling, including programming in built in server side languages (think: stored procedures).

IT Security

Everything that has to do with IT Security excluding the deeper aspects of cryptography and setting up your home antivirus.


The deeper aspects of cryptography ;)

Code Review

On Code Review, you share working code from a project that you own or maintain for peer review. The right time for a code review is after you are satisfied you have done your best, that the code is ready for publication/release, that all the features are in, and all the tests pass. It is the right place if you want a critique of your code that addresses issues such as:

  • security - "Have I covered the bases?"
  • efficiency - "It does the job, but can it go faster or is there a better way?"
  • maintainability - "It works now, but will I run in to problems down the road?"
  • edge cases - "Are there situations in which the code will break?"

If your code is not yet producing the output you require then the code is not ready for review. If you need help getting the code to a completed state and you have specific questions about how to do that, then Stack Overflow is the right place to ask.

Questions about the actual process of code reviews are off-topic and better suited for Programmers.

Computer Science

For questions about computer science, as in the academic discipline. As a rule of thumb, if your question depends on real-life languages/code/hardware/..., ask on Stack Overflow; if your question calls for abstract/mathematical models and reasoning, ask on Computer Science. Algorithms expressed in pseudocode straddle the border.

Theoretical Computer Science

For questions about theoretical computer science at research level. If you aren't at least a graduate student, see Computer Science.

Software Quality Assurance and Testing

SQA focuses on software testing questions, which run the gamut from technical queries about implementation of your automated tests, to organisational questions like planning training for your test team, or even how you go about persuading your manager to actually hire some professional testers instead of just crossing his/her fingers and hoping. It's aimed at professional software testers, and other related roles (programmers, business analysts) who perform software testing as part of their profession.

Programming Puzzles & Code Golf

That's easy, just browse through their questions and you'll get the idea. The fun (?) side of software development.

As you may have noticed, Programmers is the hard one to define, the only one I included an image for. Two reasons for that, first I'm a moderator there and I wanted my site to stand out, and secondly the site's scope changed drastically shortly after it's launch. Originally Programmers was intended as an "off topic Stack Overflow", a site where people could post everything that didn't fit on Stack Overflow, even if it had little to do with programming.

It soon became apparent that this wasn't such a great idea, and the site was filling up with crap. Highly upvoted, fun and interesting crap, but still crap, and the site's scope changed to what it is today. Although it's been more than a year since the scope changed, we still have problems with people asking questions that would be bad even in the original site, but it's getting better every day (except yesterday, you can't even begin to imagine the amount of crap we got yesterday, don't know why).

But enough with the storytelling, it doesn't really answer your question(s). What you need to remember is that we value good questions, and you really don't have to worry much if you post a good question on the wrong site, we can move it to the right site automatically. Right now I have five flags on Programmers for questions that should have been asked elsewhere, it happens, and it's particularly hard to find the right site when you're new. Fear not, we are here to help.

As for the fragmentation: The ultimate goal is for each site to have a laser sharp focus and keep its experts engaged at all times. People question the need to have a site like Programmers all the time, to which I respond that I really don't want my conceptual questions on Stack Overflow, where they will quickly be buried under tons of questions on how to concatenate a string in PHP or fade an element with jQuery. Stack Overflow is gigantic and you may get answers in seconds, but if you think about it you, the asker, only need one answer. And chances are that you'll get a far better answer on Programmers, even if you'll have to wait a couple of days (or more).

Obviously I'm biased, I've called Stack Overflow "Programmer's noob filter" on more than one occasion. Don't get me wrong, I love it, and when I have implementation questions I'll ask them here, but if I have to spend more than five minutes on a site to find content that interests me, that site is not for me.

Lastly, I really don't know what's going on with Computer Science and Theoretical Computer Science. What I can tell you is that TCS came first, and it's a mature and established site; CS came later and has been in public beta for a while. Word is they will graduate soon-ish, so apparently the community has matured enough as well. Since you are a student, Computer Science is probably your best bet, and if there's a better site for your question, let others more familiar with the network to decide. Just don't make a habit of asking off topic questions, it's ok at first but it does involve real people spending some of their time trying to find a better site for your question. Remember that you can visit the chatrooms of the respective sites and ask for advice.

It's hard at first, but it becomes a lot easier as time goes by and you familiarize yourself with the various sites, hey, if I can do it so can you.

Further reading

share|improve this answer
Wow, thank you, that was a significantly comprehensive and well written answer. If all the answers from this site are as good I can tell I am going to like it here, wish I had discovered it sooner. – Taylor Huston Apr 18 '12 at 17:50
I added a description of CS and CSTheory (I'm a regular on CS). I don't think your description of SQA is correct, but I don't frequent the site, so I'll let more competent people handle it. – Gilles Apr 18 '12 at 21:26
Dang... somebody has some free time. +1000000000... – Dynamic Apr 18 '12 at 23:06
@Gilles posted the answer in SQA's main chat room so they can have a look. – Yannis Apr 19 '12 at 12:09
This is one of the best and most useful MSO posts I've ever seen. – Adam Rackis Apr 20 '12 at 1:18
wow! I agree with @AdamRackis! this is one of the best answers I've ever seen!! Out of curiosity, how long did it take u to write that thing!? – Ephraim Apr 20 '12 at 1:55
Does programmers.se allow a form of "boat programming" questions? – Ephraim Apr 20 '12 at 17:08
@Ephraim Oops, I missed your earlier comment (see, when you get a lot of notifications, you miss some). Took me about twenty minutes to write, and something like 3-4 minutes to proofread (mostly checking each site's FAQ). As for "boat programming" questions we do welcome them on Programmers, they are our favourite downvote fodder ;P – Yannis Apr 20 '12 at 17:11
The irony is that - given a coder's ability to trudge forward when equipped with the specific implementation answers found on S.O. - S.O. is probably helping get more projects done in the immediate, while Programmers is where people should be posting and looking to become good developers. Unfortunately I don't think its marketed properly for that. Barbara Liskov explained it perfectly in (youtube.com/watch?v=ibRar7sWulM). To paraphrase, it's that CS has learned to solve complex problems but not the stuff in between that ties the solutions to those complex problems together. – Montagist Nov 17 '12 at 11:19
@Yannis one doubt I have is still where do the somehow subjective questions should go to? I often have a couple of somehow subjective system design questions (what framework to use, which developing approach to go for, etc), such as programmers.stackexchange.com/questions/238642/… which are always set to be closed in either SO or PE. Though those questions do not attract "absolute truth answers", they do attract a lot of good ideas that can greatly help developers. Where should those be posted? – Thomas May 12 '14 at 7:35
@Thomas Questions like "what framework to use" don't belong anywhere in SE, I'm afraid. – Yannis May 12 '14 at 8:13
I still don't understand what I can post here that I cannot post on stack overflow. – ThomasMcLeod May 12 '14 at 11:41
@ThomasMcLeod Are you talking about posting on Meta.SE vs Stack Overflow.SE? Stack Overflow is for programming questions, Meta is for questions about the Stack Exchange network as a whole, specific sites and the rules that guide them. – Chris Cirefice May 23 '14 at 17:03
+1 for great description, really clears up the objective of programmers for me, but shouldn't the banner logo be a whiteboard not a desktop? – ForkandBeard Jun 6 '14 at 14:09
I'd add one more site to the list - The Workplace workplace.stackexchange.com. For all the more general workplace-type questions, even if your workplace is all about programming, a fair few questions from programmers.SE might be more appropriate there. – sevenseacat Jul 24 '14 at 5:08

The problem that I see with many of the computer-related websites on Stack Exchange is that the members who close discussions tend to have a parochial view of the discipline covered by the site. For example, I see absolutely no difference between the Theoretical Computer Science (TCS.SE) and the Computer Science (CS.SE) sites.

The people who close discussions the threads on CS.SE run like a less formal version of TCS.SE. However, the field of computer science also includes applied areas such as computer systems design. Anyone who asks a computer systems design (which includes combinational and sequential logic design) related question gets redirected to the Electrical Engineering exchange.

I just shake my head when I see this kind of nonsense.

Computer systems design is the province of the computer scientist (my undergraduate concentration in computer science was in computer systems). Any computer science graduate who doesn't know at least the basics of combinational and sequential logic design isn't a computer scientist--he she is an applied mathematician masquerading as a computer scientist!

share|improve this answer
"I see absolutely no difference between the Theoretical Computer Science (TCS.SE) and the Computer Science (CS.SE) sites." - If so, you're not paying attention. TCS.SE is for research-level questions about theoretical computer science. CS.SE is for questions about computer science. Notice the difference? As far as your claim about computer systems design questions getting closed on CS.SE, you're misrepresenting things. Questions about gates get redirected to EE; questions about computers stay. – D.W. Jun 18 '14 at 18:19
If you'd like to do something constructive, you might try posting your concerns on the CS.SE Meta (that is more constructive than posting a rant on this thread), but you'd better be prepared to back them up with evidence and examples. – D.W. Jun 18 '14 at 18:20

You must log in to answer this question.

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