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.

My question is not "Is SO the place to learn..." but rather should it be?

There is a concerted drive from many people on SO to answer every question, irrespective of the quality of the question or the availability of the answer. Any comment or answer that doesn't provide a definitive answer is leapt upon and the author is brought to task. Despite the leapers claim to be even handed, the OP is never chided (or at least in my experience).

This does make me question the objective of SO. If it is intended to be a place for non-programmers to learn how to program then it makes sense that any vaguely programming related question goes and should be answered in full even if there are 100K sites on the web also providing the same answer, after all we can't link to them all and a Google search link would get marked as 'Offensive' in seconds.

If, however, this is a programming Q&A site for programmers then I'd expect a far fewer 'free lunches' and a little more a la carte.

Which is it? Is SO a place to learn how to program or is it a place to get help while you are programming?

share|improve this question
3  
Please refer to the FAQ, specifically, No question is too trivial or too "newbie". If you want a site that disallows beginner and entry level programming questions, consider starting your own at stackexchange. It seems mathoverflow is doing well even though it's casting out any math questions lower than graduate level, and I'm sure you can find a legion of programmers that would prefer to work in an elite site, rather than an everything-goes site such as SO. Keep in mind that this site is meant to be the search result for every programming search on google - even the beginner searches. –  Adam Davis Feb 17 '10 at 17:04
    
My point is not about whether a question is trivial or not, it's should the questions be about programming you are doing or general questions about how to program? For example, "I'm having a problem assigning this variable... this is my code... this is my error... can you help?" is a very trivial question but very appropriate for what I believe SO to be about but, "How do you assign a variable in C?" isn't a programming question it's a question about programming. That's the difference to me. –  Lazarus Feb 18 '10 at 9:38
    
How is, "How do you assign a variable in C," not a programming question? It's not a troubleshooting question, it's not an actual problem you're actually having, but it's a perfectly in-scope question. A big part of SO's mission has always been to be the canonical Google result for any programming question, and that would absolutely fit the bill -- as long as it wasn't a dupe. (Which, frankly, I'm sure it is.) –  John Rudy Feb 18 '10 at 15:11
    
@State, then I'm clearly in the wrong place. The signal to what I consider noise here will only get worse as there are far more 'newbies' and, frankly speaking, 'lazy programmers' than professional, serious programmers out there. The quality is going to get swamped in the quantity, irrespective of whether there are still many good questions being asked and answers being provided. Any Google search (or any other search) is going to return 100s or 1000s of less relevant answers that I won't want to sift through. I really don't want to see SO become Answers but popular opinion seems intent on it. –  Lazarus Feb 23 '10 at 13:31
    
@bchappell: You are entitled to your opinion, and I should note that there are definitely some in the community who agree with you (look at your score on this post), but the stated mission of the site, many, many times was to provide the canonical Google hit for any programming question. Troubleshooting questions are every bit as valid is newbie questions, and vice versa. The FAQ is very clear on that. –  John Rudy Feb 23 '10 at 14:09

3 Answers 3

up vote 5 down vote accepted

StackOverflow should not be a place to learn programming for the very simple reason that the web is not well suited to teaching. If someone supplies a technical answer, one can at least test it. If someone supplies supposed good advice on learning a programming language, such tests are not possible. And frankly, many of the the people on SO simply do not know what they are talking about. The only way to really learn a programming language is to read a good book (and how many downright bad books do we see recommended on SO? - lots) and write some code.

share|improve this answer
2  
"the web is not well suited to teaching." - The "web" is simply a means of communication. To say that the web is not well suited to teaching is similar to saying that human voice is not well suited to teaching. There are teachers who use the medium well, and students who benefit more from this medium than other mediums. There are also teachers and students that don't use it well, or benefit from it as much as some other forms of communication. To cast the web off as a poor teaching tool is folly. –  Adam Davis Feb 17 '10 at 16:58
1  
@pollyanna Of course some media are more suitable than others - or do you think morse code is potentially a great teaching medium? –  nb69307 Feb 17 '10 at 17:10
1  
I'm not saying that ALL mediums are great teaching mediums - and have never implied that. I'm saying the statement that the internet is intrinsically ill-suited to teaching is blatantly false. This does not imply that every other medium is good, and I'm not sure how you would draw that conclusion from my statement. –  Adam Davis Feb 17 '10 at 17:33
1  
@Neil - Morse code is a great medium for teaching and learning Morse code. –  Super Long Names are Hilarious Feb 18 '10 at 9:51
    
-.-- . ... .. - .. ... @cha –  random Feb 18 '10 at 10:03
    
@random: .. .-- --- -. -.. . .-. .... --- .-- .-.. --- -. --. .-- . -.-. .- -. -.- . . .--. - .... .. ... .--- --- -.- . ..-. ..- -. -. -.-- –  Super Long Names are Hilarious Feb 18 '10 at 10:09
    
- .... . .-. . .. ... -. --- . -..- .--. .. .-. .- - .. --- -. --- -. - .... .. ... ... -.-. . -. . @cha –  random Feb 18 '10 at 10:13
    
I completely agree that everyone should read a book before posting questions here. Every day I see questions like "I'm a newbie and here is my problem". Mostly those questions can be closed as "too localized". Often happens that the user is not familiar with basic platform behaviour or multithreading and that's why he's getting the problem. Maybe a good point would be showing a message to new users so they try to find and read a revelant book before posting a question because SO gets filled with more and more unuseful noob questions. –  Doctoror Drive Feb 4 at 15:03

Both of course, it's a Q&A site about programming, from beginners with broad inquiries to experts with specific technical challenges.

Why would you want to leave a sector out when everyone (from aspiring programmers, to experts in the field) can benefit?

share|improve this answer
    
To be honest, because there are a million and one 'beginner' site, much better book and resources for learning that a Q&A site. To me, SO was initially the place I went to find answers to the hard questions, where I needed real-world experience and knowledge. It's changed over the past year, that may be toward the original objective but the message appears blurred. –  Lazarus Feb 17 '10 at 13:20
    
@bchappell: I disagree. A lot of people have something in their minds about what SO ought to be, but it has always been accepted that "no question is too trivial or too 'newbie.'" (stackoverflow.com/faq) This is intentional, and no there is no harm in it. Simply don't answer if you're not interested. –  John Rudy Feb 17 '10 at 14:45
1  
@State That's what the FAQ says. As a user, I don't have to agree. –  nb69307 Feb 17 '10 at 15:06
    
@Neil: Technically, no one needs to agree to anything, so I think you have me there! But if the question is on-topic and otherwise valid, there's no issue. Now, obviously, "teach me to program" is an invalid question -- too vague, subjective, extended discussion, etc. However, "teach me what the difference between float and int is in C#" is perfectly valid. Newbies have rights too, according to the FAQ. –  John Rudy Feb 17 '10 at 15:36
    
@State, I'll have to direct you to my comment against the question. You haven't grasped what I'm saying, it's not about triviality, it's about scope. –  Lazarus Feb 18 '10 at 9:39

Which is it? Is SO a place to learn how to program or is it a place to get help while you are programming?

It's a place where people with questions get help from people willing to provide answers. It's as simple as that.

If the question is "give me the code please" and there is someone willing to provide an answer, what's the harm? If I want to do their work for them, why would you want to prevent me from doing it? There are no benefits (what do you gain? why do you care?) and everyone loses (I can't give the answer I'm willing to give, the asker doesn't get his answer)

share|improve this answer
4  
The harm is that the site gets filled up with "pleez send da codez" posts. –  nb69307 Feb 17 '10 at 14:58
1  
And that's bad... because? (PS: people have been answering those kind of questions for a long time now, and yet it's not filled with them!) –  Andreas Bonini Feb 17 '10 at 14:59
3  
@Koper: only because there's an army out every night deleting them as fast as they possibly can. –  Ether Feb 17 '10 at 16:20
    
@Koper That's bad because instead of one or two posts explaining the theory of how to do something in a good, understandable manner, one gets hundreds or thousands of posts from people wanting to do essentially the exact same thing with minor variations. –  ceejayoz Feb 17 '10 at 20:13
2  
@Koper, my concern is the signal to noise. In the time I've been using and contributing to SO I've seen a massive decline in the quality of questions and a massive increase in the "I need code to do this, please provide me with examples/samples/code/solution." and some omit the "please". Each one of these answers encourages the OP to ask again, and again, then tell their friends about this great place where people do your work for you. While I'm happy to help anyone struggling with, what for them, may be a thorny programming problem, I don't want to miss their question among a mass of dross. –  Lazarus Feb 18 '10 at 9:44
1  
Koper: The harm in someone gieving teh codez is this: someone is sustaining ignorance and incompetence in the field of programming. It degrades the profession. –  Paul Nathan Feb 18 '10 at 22:16

You must log in to answer this question.

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