What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 131 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 with 100x the users. 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 then 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
38  
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
25  
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 146 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).

Programmers

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.

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.

Cryptography

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. If your code is not working, then you should ask on Stack Overflow. It is the right place if you want a critique of your code that addresses issues such as security, performance, maintainability, etc.

They don't welcome questions on the process of code reviews ;) (ask on Programmers instead)

Computer Science

For questions about theoretical or applied Computer Science. As a rule of thumb, if your question depends on code, ask on Stack Overflow; if your question calls for mathematical notation, ask on Computer Science. Algorithms expressed in pseudocode straddle the border.

Theoretical Computer Science

For questions about theoretical computer science at a 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, whereas CS is fairly new site, having popped out of Area51 a couple of weeks ago. There are no guarantees that CS will make it out of beta, although I hope they do. Since you are a student CS 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.

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
6  
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
1  
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
12  
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
7  
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
3  
@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
3  
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
1  
+1 for the use of the word Noob, for the concise answer, and generally for being totally awesome. Thanks dude. –  Nathan C. Tresch Jan 26 '13 at 4:33
3  
Where's the TLDR section?!??!? (I did read it all btw) :) –  Jonathan Drapeau Nov 28 '13 at 19:32
    
@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 at 7:35
    
@Thomas Questions like "what framework to use" don't belong anywhere in SE, I'm afraid. –  Yannis May 12 at 8:13
    
I still don't understand what I can post here that I cannot post on stack overflow. –  ThomasMcLeod May 12 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 at 17:03

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
2  
"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 at 18:19
2  
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 at 18:20

You must log in to answer this question.

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