Proposal: Atomic Coding
Stack Overflow is a general programming Q&A website reserved for only programming.
- Atomic Coding is a programming learning Q&A website dedicated to answering frequently-asked programming questions with minimal, compact, extremely digestible answers, modeling the Socratic method.
2. Stack Overflow is enough for programming questions. Why do we need another site?
- Stack Overflow is not built specifically for learning programming. It is a helpful resource, but not a primary learning resource. Atomic Coding would seek to be a primary learning resource for coding.
3. We don't need more "noob" website that cater to low-quality questions! Away with you!
Stack Overflow receives low-quality questions because people cannot be bothered to find the answers from around the Internet. Part of what Atomic Coding can offer is answers catered to the most inexprienced of programmers to lower the learning gap to start climbing up the ladder of programming understanding and mastery.
- How are we supposed to find "frequently-asked questions," anyways? Who decides what is frequently asked? How do we know?
Atomic Coding questions have the requirement that they need a strong, definitive answer. Gathering hard evidence of questions that are commonly asked would be the first step to ensuring questions really need answering. Evidence could include closed questions that were deemed inappropriate from Stack Overflow, various links to threads whose topics come up over and over again, and even real-life statistics on the most commonly tripped up topics. Blogs or articles that display a public interest in answering these questions would also prove as evidence. No one piece of evidence alone can automatically validity the article, but if a great amount of need is displayed within the programming community to come to a definitive answer for a certain question, it belongs on Atomic Coding.
If you have any issues, please comment below. Atomic Coding is in its definition phase and its concepts can easily be changed in a day, so do not be quick to judge it in a final manner.
Philosophy
Atomic Coding would be proposed as a sister site to Stack Overflow to facilitate a different philosophy of Q&A for its target: novice programmers. Often times, Stack Overflow receives "low-quality" activity due to misinformed or uneducated programmers. Some Meta Stack Exchange questions have come up regarding the issue of whether Stack Overflow is truly equally suited for beginners, as well as "how to handle the help vampire." AC, despite catering to beginners, would not run contrary to Stack Overflow's interests, but serve to offload much of the unwanted, but closely-related traffic Stack Overflow often receives.
AC would serve as a sort of "alternate Socratic-style support FAQ" site to SO, as a sort of "show-and-tell" to SO's "explain-and-elaborate" format.
Instead of having complex implementation or environment-specific questions as on SO, Atomic Coding would focus on refining the methods of communicating programming concepts in an organized fashions. Hence, while Stack Overflow is focused on simply getting answers, Atomic Coding would focus on exposing people to and teaching coding concepts in a digestible fashion with easy-to-read style.
What Atomic Coding is NOT:
Atomic Coding is NOT for:
- Posting personal programming problems. Atomic Coding is meant to build consensus for common problems that programming communities may face. Atomic Coding is, like Stack Overflow, a "please debug this" website, but may provide many questions on how to productively debug from a beginner's point of view. People would post what they think are common problems, and then give evidence that is is common.
- Discussing the ups and downs of methodologies or the direct "why" something might occur. While Stack Overflow might prize in-depth, longer answers to complex questions, Atomic Coding requires a much more linear, light writing style. Large, thick answers would often indicate that the question itself needs to be broken down into smaller ones of smaller size. Answers on Atomic Coding would need to be written either in a referential or second-person hypothetical style, and would need to follow a style guide designed to keep material light and digestible.
- Inquiring about software development tools. While Stack Overflow might cover edge cases of why or how tools might be used, Atomic Coding would stress creating general "how-to" questions with strong, definitive, atomic answers.
- Asking about attributes of practical methodologies or problems in software engineering. Atomic Coding would be strictly a first-order site to answer commonly-encountered questions in a modular, sequential, logical, and beginner-friendly manner, and then seek to condense its information as tightly as possible. Stack Overflow would be more suitable for questions that need to draw on immediate experience from other programmers.
What is 'Atomic'?
"Atomic" refers to "atomic operations" within multi-threaded programming--operations that cannot be "penetrated" by another thread while in use. Here, the 'Atomic' in Atomic Coding would emphasize several key concepts:
- Questions would closely follow the Socratic Method-style of learning. Expected questions that arise from answers would be answered in a portable, modular, and, especially, compact format.
- Light and digestible. Atomic Coding questions would rarely be, at most, two paragraphs long, and answers would remain appropriate for a Q&A style.
- Answers would be required to remain easy to digest, simple, and succinct. Answers would also need to conform to a style guide that controls the reading level and understandability of material on Atomic Coding.
- Sequential learning. Answers might link to other questions, which, again, lead to answers. By staying on Atomic Coding, a programmer could rope up or down the chain of questions and then find easy, digestible answers to common questions that would be unsuitable for Stack Overflow or any other of the programming-related Stack Exchange sites.
If you would like to suggest any changes, you may post them here on the chatroom: http://chat.stackexchange.com/rooms/23245/loungeatomic-coding