Proposal: Atomic Coding

There is no question that Stack Overflow gets many "questions" that are some variation on "here, do my homework" or "debug my code" when the problem could be greatly alleviated by having solid programming resources to pre-emptively eliminate many "gotchas" for novice programmers.

I myself come from Stack Overflow, and as an avid reader of the C++ tag and as a programmer in college, I know that many students and amateurs on the web alike are frequently lost without proper direction or resources. Atomic Coding would give them this direction while breaking the learning process into atomic-sized Q&A.

Ideally, the each topic would be atomic and be simple enough to fit into the usual space for a Q&A format and compact enough to be informative, yet still highly digestible to the appropriate audience sans one "level of understanding"

Due to the intended purpose of Atomic Coding, I would suggest an adjusted ideal format for the AC question lifetime:

  • Stage 1: Evidence: "Questions" would take a form closer to "Subjects" or topics. They would require evidence, such as a link to an external thread or website, that the topic is referenced by somebody than just the asker and show that it deserves to be answered in a definitive way.
  • Stage 2: Formation: The subject would then be open to suggestions or answers to meet the requirements of the topic. The question's comments would remain as a forum for suggesting crucial topics that should make it into the article. This crucial phase of brainstorming would be central to the creation process and could result in splitting the initial topic into smaller ones for atomicity if people find the question too broad.
  • Stage 3: Creation: Answers would then be given and would then be encouraged to be edited to be condensed into a minimal format, becoming extremely digestible and easy to read. A style guide would be present; and answers would probably include the additional composition of other resources, such as short code snippets or external example projects for further reading. "Lean and mean" would be the motto for the website.
  • Stage 4: Finalization: The subject would be finalized, and then the topic would be protected. Future revisions or openings of the topic could be justified by updates to the tools used in the topic or new concepts that deserve a mentioning in the question.

Edit: Example:

  1. Activity surrounding the use of C++ smart pointers come up. People are unaware of the best ways to use them. Evidence is gathered, and then a subject is created. The name is "C++ Smart Pointers".
  2. The subject is subject to many different answers for the topic. Some comment to say to cover the difference between unique pointers and shared pointers. Some say to talk about auto_ptr. Because auto_ptr was deprecated in the newer standards, that answer is voted down. The community, after some thought, decides to split "C++ Smart Pointers" into several questions, one of which is "How might I use unique_ptr in C++?" A topic list is aggregated from the community for the question that each answer must cover.
  3. The community begins pulling examples of paradigms and short code snippets to compose the article. A small list of links to reference and examples are created. The subject is worked on for months, and the topic list is continuously cut down until answers to the question consist of the most minimal and digestible language.
  4. After much work and countless revisions, the subject is finalized and saved.
  5. A revision to unique_ptr is announced in a future C++ standard. The subject is reopened to revision due to the changes.
share
    
great idea - but, as @philipp says: not at all what SE is for, nor how it works – warren Apr 26 '15 at 12:53
    
@warren I re-edited the process to fit SE's style. What do you think now? – Cinch Apr 28 '15 at 7:15

Creating a comprehensive, all-encompassing, community-driven site for programming tutorials and guides is a great idea. But it's not what the stackexchange Q&A system is made for.

You can tell from the fact that you suggest an unique process to handle "questions" which is quite different from how stackexchange websites usually work. Instead of abusing the Stackexchange system for something it isn't designed for, it would be better to start from scratch and build a completely independent web application which is designed to facilitate this process.

share
    
Perhaps, but I think SE is probably the best focal point for programming right now. While many programming communities are split, SE is the most central and organized platform for programming information of all languages. I think it's a perfect springboard for the landscape right now. – Cinch Apr 26 '15 at 12:09
    
@Phillipp Also, the scope of Atomic Coding is NOT to be comprehensive or all-encompassing. It's supposed to be light and digestible, meant to be quick canonical primers for beginners that can fit the Socratic question format. – Cinch Apr 27 '15 at 10:17

Like Philip, I also believe that this is a completely unfeasible proposal within SE, and not what SE is for. To make that more concrete, let me point out the many ways in which SE is NOT suitable for this process, by analysing the parts of the process you describe above which are not in any way supported by the SE platform.

  1. In item 1, following the realization that some people are unaware of the use of smart pointers, you write "Evidence is gathered". SE has no mechanism for doing that gathering. Many of the SE features are designed to prevent the sort of interaction that might facilitate such gathering.
  2. "This crucial phase of brainstorming and initial drafting would be central to the creation process" There is no facility in SE for brainstorming, which as you say, is crucial. The mechanisms for drafting and redrafting are poor at best, and would conflict with upvoting and downvoting.
  3. "The community, after some thought, decides to split "C++ Smart Pointers" into several questions" It is not clear how a Q&A site would achieve this.
  4. "The community begins pulling examples of paradigms and short code snippets to compose the article." There is no facility for doing this in SE.
  5. "A small list of links to reference and examples are created." As what? A question? An answer? We have no other entities at SE that can be created. Neither are appropriate for this.
  6. "After much work and countless revisions..." SE handles revisions very poorly.
  7. "the subject is finalized and saved". Who decides when it is finalized? How is it "saved"? we have no provision for preventing further edits to a question or an answer.
  8. "The subject is reopened to revision due to the changes." Since the subject cannot have been closed, it can't really be opened.

What you are describing is much more suitable to a wiki than a Q&A site. Please go and read up on Mediawiki, and read some of the history of Wikipedia, which will show you some of the difficulties this kind of approach will encounter, and why a Q&A site is entirely the wrong place to be doing this.

share
    
Your problem is such that these things have not been defined such yet. Atomic Coding is still in the definition process, so we still have much time for defining a proper form for the website idea. Nevertheless, we are ultimately trying to build a new concept, so we cannot expect perfect outline within the first moments of inception. – Cinch Apr 27 '15 at 10:12
1  
It's not my problem. But my point is that to get such a huge swath of new features added, you are going to have to do much more than go through the normal procedures. You will have to convince the SE owners that this is worth doing. Robert's post pretty much tells you the answer. – DJClayworth Apr 28 '15 at 1:28
1  
Your project, on the other hand, sounds perfect for a wiki. – DJClayworth Apr 28 '15 at 1:29

This sounds like an interesting site, but this is an entirely different project from how Stack Exchange works. Stack Exchange simply was not built to handle all the back-and-forth collaboration you envision, so you are trying to build your project on a very shaky foundation with a lot of missing pieces.

We get a lot of requests to create sites for activities beyond Q&A. But when the discussion quickly turns to redefining what a "question" is and how everyone is going to re-imagine what is meant by an "answer" and now voting is going to work, etc, etc, you really are talking about an entirely different service. This just isn't what we do.

share
    
Once again, this is an idea and the site is still in its definition phase. The idea deserves time to develop. I want to petition to reopen this idea--I already posted this on Reddit's learnprogramming community, and it's gotten a good response. – Cinch Apr 27 '15 at 20:37
    
I would like to ask for more time to allow this idea to grow into something appropriate for Stack Exchange. – Cinch Apr 27 '15 at 20:38
1  
There has actually been some interest in building some sort of socratic or tutorial site to create a learning branch to Stack Overflow. We simply do not feel that the SE Q&A format is well-suited to this vision. – Robert Cartaino Apr 28 '15 at 18:44
    
Ah I see. Perhaps some sort of wiki hybrid format would be great! I just wish you guys would include the community as part of the brainstorming process! – Cinch Apr 28 '15 at 18:49

You must log in to answer this question.

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