444

There seems to be more than a few computer science/programming Stack Exchange sites. 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 where? I can see a large amount of potential overlap and many cases of people not getting a good answer to their question, because the person who has the answer isn't browsing that particular site at the moment.

I understand that they were probably created for organizational purposes, but wouldn't it 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 site?

I am sure there was a good reason to break them up, but as someone who is new to SE, it can be somewhat intimidating to decide which one to post 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 site, until I see that it literally has 1% of the users as the Stack Overflow site, which still seems to be for programming/computer science related questions.

So my second instinct would then to be to post it into the Stack Overflow site 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" site, and I don't even begin to know where that fits in. I, and I am assuming most people, will probably just post on Stack Overflow 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 site 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?) sites 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.

Return to FAQ index

8
  • 131
    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
    Commented Apr 18, 2012 at 5:34
  • 5
    I agree, there are some that feel almost too close to each other. Even SuperUser and StackOverflow can occasionally have questions asked that could fall into either.
    – user354226
    Commented Mar 22, 2017 at 21:48
  • 5
    Jeff Atwood (SO co-founder), was at least partly responsible for the fragmentation of SO into arbitrary overlapping microsites that promoted identity politics and duplication/overlap, instead of attempting to reduce anti-patterns. He explained his reasoning c. 2010-2011. I disagreed with his reasoning then and I still disagree with it now. See these two discussions: 1 2.
    – user136089
    Commented Dec 1, 2018 at 17:42
  • 1
    @CodyGray: they don't make sense to me, only confusing users. E.g. whatever you ask in CodeReview could be asked in StackOverflow. Commented Dec 7, 2018 at 23:56
  • 3
    In my view the most frustrating thing about there being so many is that you get penalised for using any of them other than SO, since much less people will see your question there. So even if someone is actually aware that their question belongs better in one of the other ones they will still post in SO to be more likely to get a good answer. This is what I consider the most broken thing about Stack Exchange. Commented Mar 7, 2020 at 6:48
  • @CodyGray +1 (now Your votes is 123 on the comment :p) thanks for that comment really !! edit: thought I was alone Commented Jan 11, 2023 at 13:15
  • Yeah, and add to that the 'We closed your question for your ignorance, read this collection of pages, and better luck next time!". I have been a member for MANY years, and maintain a pretty decent reputation on many sites. Yet this still gets confusing sometimes, especially when you DO read the questions posted on those sub-sites and it seems completely logical to post where you did, at least to you... Why some of us are welcoming ChatGPT and why some sites are fearing it, remove the egos and quests for clout, and things get way more useful, as of yet AI does not have that ego. ;)
    – Sabre
    Commented Mar 19, 2023 at 17:05
  • The discoverability of this is low (even though it has 310 linked questions). Commented Oct 20, 2023 at 21:20

1 Answer 1

382

Before you choose a site…

First, make sure you're asking a good question. Some questions are bad fits for the entire Stack Exchange network, and there isn't any guarantee that a site exists that will take your question.

Good questions:

  • Are clear and understandable.
  • Have a specific problem statement, tailored to the site you intend to post to.
  • Don't ask for lists of things.
  • Don't ask for product or service recommendations (except for Software Recommendations and Hardware Recommendations).
  • Don't require extended discussions or lengthy explanations.
  • Don't ask "which is better" without explaining what "better" specifically means to you, in a way that isn't a tautology ("best practice" is not any better than "better").

Stack Overflow

We feel the best Stack Overflow questions have a bit of source code in them, but if your question generally covers…

  • a specific programming problem, or
  • a software algorithm, or
  • software tools commonly used by programmers; and is
  • a practical, answerable problem that is unique to software development

…then you’re in the right place to ask your question!

Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. See: How to create a Minimal, Complete, and Verifiable example

Software Engineering

If your question is directly related to the Systems Development Life Cycle (except for troubleshooting, writing or explaining specific code), you can ask it on Software Engineering

If you have a question about…

  • software development methods and practices
  • requirements, architecture, and design
  • quality assurance and testing
  • configuration management, build, release, and deployment

…then you're probably in the right place to ask your question.

Super User

Super User is for computer enthusiasts and power users. If you have a question about …

  • computer hardware,
  • computer software, or
  • personal and home computer networking

and it is not about …

  • programming and software development,
  • video games or consoles,
  • websites or web services like Facebook, Twitter, and WordPress,
  • electronic devices, media players, cell phones or smart phones, except insofar as they interface with your computer,
  • issues specific to corporate IT support and networks,
  • asking for a product, service or learning material recommendation,

… then you’re in the right place to ask your question!

Webmasters

Webmasters is a site for asking questions about operating and managing your own website. Questions here are commonly about, but not limited to:

  • Search engine optimization (SEO)
  • Domains
  • Web and email hosting
  • Internet marketing
  • Website management (e.g., analytics, ads, URLs, etc…)

Programming Language Design (beta)

If you are creating a new programming language for others to use, and you are looking for advice on what aspects will make it easy to use and/or implement, then this is probably the right site for you.

Coding questions that arise during its implementation are probably better suited to Stack Overflow, unless they are a direct consequence of the design choices of your language itself.

Database Administrators

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

Information Security

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

Server Fault

Server Fault is for questions about managing information technology systems in a business environment.

If your question is about:

  • managing the hardware or software of servers, workstations, storage or networks
  • tools used for administering, monitoring, or automating these
  • deployment to and management of third-party provided information technology platforms

and is not about:

  • consumer workstations or networking (which belong on our sister site, Super User)
  • working with a service provider's management interface, such as cPanel
  • product, service, or learning material recommendations
  • product licensing inquiries or legal advice
  • career, salary, personnel, employment, or formal education
  • unauthorized use or misuse of IT systems

..then you’re in the right place to ask your question!

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. The right time for a code review is after you are satisfied that you have done your best, that the code is ready for publication/release, that all the features are in, and that 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 into 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 Software Engineering.

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 a research level. If you aren't at least a graduate student, see Computer Science.

Computer Science Educators

For questions about education within the context of computer science. The typical site user teaches computer science. Self-learning questions about designing a course of study or an approach to a topic are also possible here, but this site is not meant to teach students about CS directly.

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.

Code Golf

Is it some form of coding contest, with a scoring criterion? If so, and only if it has a scoring criterion, then it's on topic for Code Golf. The site is for challenges and contests that involve coding, where answers are a submission to that given contest, almost always in code. Challenges must have an objective scoring criterion, generally code-golf, and clear specifications, and questions asking for programming help are entirely off-topic, unless asking for help with shortening their code. Additionally, it is highly recommended, even more so for new users to the site, that you post your draft into their Sandbox to get feedback before posting it to main.

GIS

Many questions about Geographic Information Systems involve programming using libraries such as ArcPy, PyQGIS, ArcGIS API for JavaScript, OpenLayers, Leaflet, ArcObjects, etc. and should be asked at the GIS Stack Exchange. If they are about the underlying programming language such as Python, JavaScript, C#, etc., then they should be researched at Stack Overflow instead.

Open Data

Open Data is a Q&A site for developers, researchers, and anyone else interested in open data. Open data, as defined by the Open Definition, is any kind of data that can be freely used, modified, and shared by anyone for any purpose. When Computer Scientists and Programmers seek any kind of open data this site can help you to find it.

Web Applications

Web Applications is a question and answer site for power users of web applications. With your help, we're working together to build a library of detailed answers to every question about using web applications including:

  • macros and scripts to automate some tasks
  • user styles to change the way a web application page looks

All of the above should be to be applied on a specific web application of your choice.

Note: Questions about web application design/deployment/hosting are off-topic.

Cross Validated

Cross Validated is for statisticians, data miners, and anyone else doing data analysis or interested in it as a discipline. On-topic questions are:

  • statistical analysis, applied or theoretical
  • designing experiments
  • collecting data
  • data mining
  • machine learning
  • visualizing data
  • probability theory
  • mathematical statistics
  • statistical and data-driven computing

Computational Science

Computational Science Stack Exchange is for questions and answers about computational methods used in technical disciplines.

Topics that are usually a good fit for this site:

  • Questions about software packages or languages used broadly in computational science (e.g., PETSc, MATLAB, Trilinos, LAPACK, SLEPc, R, NumPy, SciPy, Julia, Maple, Octave) except Mathematica (which has its own site now). In general, high-level questions (e.g., about language/package features) are best. Questions that are essentially about debugging a code sample, or about low-level language syntax are a poor fit for this site, and are usually closed; such questions should be asked on language-/package-specific forums. Package developers interested in using this site as a resource should look at this meta question. Package developers answering questions should look at this meta question for guidelines on disclosing project affiliations.
  • Questions about algorithms or methods used to solve problems in applied mathematics (e.g., finding roots of a polynomial, finding the eigenvalues/eigenvectors of a matrix, solving an elliptic/parabolic/hyperbolic PDE)
  • Questions that ask about appropriate methods for a given application area (e.g., what numerical methods would I use when modeling shock waves, what numerical methods would I use when modeling combustion, what graph algorithms would I use if I wanted to understand social networks)

Operations Research

Operations Research is the development and use of analytical methods to describe, analyze, plan, design, manage and integrate the operations of systems and enterprises that involve complex interactions among people, processes, materials, equipment, information, organizations and facilities to provide services and produce goods for society.

Statistics that are spatial and time-series variant, used to optimize a feature (or set of features) for a property (or set of properties) for said place and time.

From Wikipedia:

It is often considered to be a sub-field of applied mathematics. The terms management science and decision science are sometimes used as synonyms.

Employing techniques from other mathematical sciences, such as mathematical modeling, statistical analysis, and mathematical optimization, operations research arrives at optimal or near-optimal solutions to complex decision-making problems. Because of its emphasis on human-technology interaction and because of its focus on practical applications, operations research has overlap with other disciplines, notably industrial engineering and operations management, and draws on psychology and organization science. Operations research is often concerned with determining the extreme values of some real-world objective: the maximum (of profit, performance, or yield) or minimum (of loss, risk, or cost).

Artificial Intelligence

If you have a question about...

  • social issues in a world where artificial intelligence is common,
  • concept/theory of AI,
  • AI as an academic discipline/science, or
  • human factors in AI development
  • reference requests for papers or text books

...and it is not about...

  • the implementation of machine learning, or
  • asking for a development tool or career path recommendation

...then you're in the right place to ask your question!

Data Science

A Q&A site for data science professionals, machine learning (ML) specialists, and those interested in learning more about the field.

Examples of questions that are likely to be on-topic for Data Science Stack Exchange:

  • Given process monitoring data arriving every 10 ms, what statistical tool should I use to best characterize a change in the process – mean? a distribution?
  • When is it suitable to apply L1 regularization for feature selection?
  • I would like to produce a infographic on the 'Brexit' referendum. Given public opinion data across the UK, what are some meaningful techniques to visualize it in a dashboard?
  • When executing an ARIMA model in Spark, what are the pros and cons of using Python instead of R?
  • Given Facebook likes, is there an ML technique to predict age and gender?

Electrical Engineering

Primarily a site about electrical engineering and electronics design. Some programming questions are on-topic:

  • The writing of firmware for bare-metal or RTOS applications – microcontroller programming.
  • Writing code for hardware description languages such as VHDL or Verilog.
  • PLC programming.

Pure software questions not related to any of the above are considered off-topic and should be asked on Stack Overflow instead.

Electronics trouble-shooting questions where the problem could either be caused by electronics hardware or by microcontroller software are suitable for Electrical Engineering.

DevOps

Their on-topic help file simply says: "please look around" (the default template has not been edited). From their Area 51 description:

"Beta Q&A site for software Engineers working on automated testing, continuous delivery, service integration and monitoring, and building SDLC infrastructure.".

Further reading

FAQs

Blog posts

Meta questions

18
  • 20
    I feel like this answer (or a variation) should be included in most flagged and closed questions across the various CS-related Stack Exchange sites due to being off-topic/out of scope. I often ask myself which one of a small handful of ones to use, and usually end up at Stack Overflow after reading the guidelines for asking questions at each one's help-center. That process can be tedious, though. I'd love to have a cheat-sheet handy, if you will. It would help not only the newbies, but members that tend to develop the full stack, and find themselves all over the place, CS-wise. Commented Dec 16, 2015 at 23:12
  • 8
    Shouldn't all sites for specific programming languages be mentioned here? I mean, TeX, Blender, ...
    – yo'
    Commented Jan 6, 2016 at 20:20
  • The exchanges above are more focused on concepts, with SO being a definite exception to that. Putting all the language exchanges here seems kind of wasteful, but only IMO. Commented Feb 19, 2016 at 4:25
  • 2
    I've landed here through a question that was marked as duplicate to this. I'm suggesting the same as with @kayleeFrye_onDeck and others. Until then, I'll mark this as favorite link for quick access. Commented Oct 19, 2017 at 6:32
  • 22
    What a mess. :-) Commented Dec 7, 2018 at 23:56
  • 6
    this is a great overview of some of the options. there are a few subclauses that are confusingly scattered under each other's subheadings, and there are many sites omitted, i would like to see retrocomputing as well as those in other comments. it seems this has no guarantee of being up-to-date so i'm wary of directing people here as a catch all.
    – ocæon
    Commented Apr 30, 2019 at 15:28
  • But what if I accidentally ask a research-level question on cs.stackexchange.com ?
    – SamB
    Commented Jun 7, 2019 at 20:57
  • 1
    Only one way to find out @SamB
    – yannis
    Commented Jun 7, 2019 at 22:11
  • I removed bookmarklets from the Web Applications section as they aren't on-topic anymore there. Ref Is Web Applications still the best stop for bookmarklets?
    – Rubén
    Commented Aug 17, 2019 at 14:26
  • where would a workspace layout related question for a specific programming language go? i.e. I want to ask where the standard place to put a testing package would be in golang. Commented Jan 11, 2020 at 3:20
  • I have been trying to find the best place to ask computer vision questions, and I have been redirected to Signal Processing Stack Exchange, but I find the amount of views/answers the questions are getting is way lower than what I suspect is the actual demand/audience for this subject. Any insights on this appreciated. Commented Sep 10, 2020 at 20:54
  • 1
    @IntegrateThis I'm afraid I don't have a good answer, this is a chicken-and-egg problem. The specialized Stack Exchange sites will never get the traffic they need if people don't post there because of low traffic (which is understandable).
    – yannis
    Commented Sep 11, 2020 at 7:26
  • @SamB You'll get (1) a few downvotes and your question closed for being off-topic (2) someone else will flag your question for migration to the appropriate site. However, that'll usually be also after a few downvotes. Commented Nov 20, 2020 at 12:06
  • 1
    Shouldn't natural language processing (NLP) (similar to machine learning) be included? Related meta question (with a possibly misleading title). Commented Feb 12, 2021 at 11:19
  • 1
    Note that there is both a Sharepoint StackExchange site ( sharepoint.stackexchange.com ), but there are also Sharepoint-related questions on SO ( stackoverflow.com/questions/tagged/sharepoint ). While I know cross-posting is discouraged, when I had a question some years ago, I decided to post it on both (and IIRC I cross-linked the questions). The SP SE seems relatively unknown, and I felt I had more of a shot by cross-posting.
    – BCdotWEB
    Commented May 7, 2022 at 8:51

You must log in to answer this question.

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