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").
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
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 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 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…)
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 administration, querying, modelling, including programming in built-in server-side languages (think stored procedures).
Everything that has to do with Information Security excluding the deeper aspects of cryptography and setting up your home antivirus.
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!
The deeper aspects of cryptography ;)
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.
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.
For questions about theoretical computer science at a research level. If you aren't at least a graduate student, see Computer Science.
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.
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.
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.
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 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 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 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 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 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).
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!
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?
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.
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