> Attempt to answer the question, or don’t comment at all.
Don’t tell them to RTFM, Google it,
No, just no. There is no point to any of all this search technology and this accumulated knowledge if no one uses it.
Someone asking a question that is answered in the documentation or has been asked and answered over and over should be pointed at those sources. One of the most important skills anyone is going to learn in a technical position is finding answers to questions you have that have already been answered. The next important skill they have to learn is doing a little bit of your own research in understanding your problem.
This goes especially for places like StackOverflow which is not a discussion forum. It's value is diminished by asking and answering the same questions over and over.
EDIT: I'll mention the last part of the statement I quoted too, it's unfortunate the lumped the second half of the statement with the first.
> correct their grammar, or give your opinions about their choice of technology
Correcting grammar is not helpful in any way in this context. If you can't understand what they're getting at, ask for clarification. Nitpicking grammar is just being a dick.
Opinions about what they're using may have one very narrow use, if what they're using to do what they're trying to do is just so very wrong. And we're talking 'I'm trying to create a pure HTML page to run this Nuclear reactor' levels of wrong. Most of the time, you do need to keep it to yourself. Especially on sites like StackOverflow, which is not a discussion board.
> No, just no. There is no point to any of all this search technology and this accumulated knowledge if no one uses it.
And here we have a prime example of why beginners find the programming community to be so abrasive, and worse, it's sitting at the top of this comment thread.
Ask yourself, would this be the answer you give to a 12 year old girl who's taken an early interest in programming? Or a single mother who's trying to switch careers to improve her lot in life? Or your own mother, for that matter? Is it really constructive to be so abrasive?
I'm starting to understand why we have such a problem with diversity in our field. This type of response is, in no uncertain terms, the response of a bully.
Pause for a moment. Try to remember what it was like when you were first starting out with programming. When "the fucking manual" was actually really confusing and loaded with domain specific terms, acronyms, and syntax. Can't remember a time when you didn't learn something immediately? Fine, step outside your world of programming and try to recall any painful memories you might have about trying to learn something outside your area of expertise.
Ever go to a gym and ask someone how to do a basic lift only to be scoffed at? Ever been to a foreign country and have someone berate you for not understanding how to navigate through some strange process or not knowing how to speak their language well enough? Perhaps you have, and it hurt, but you brushed it off and continued on. That's great for you, but not everybody is like that. A lot of people get discouraged and never continue with that sport, or with traveling, or with programming, and it's tragic because they might have otherwise excelled at those endeavors.
I think you are misinterpreting what the author means. I understand the author to mean this is good:
"Python strings have a method, rstrip, for that. You can read about it here: https://docs.python.org/3.5/library/stdtypes.html#string-met.... I find Googling 'python docs x', where x is what you're looking for is a quick way to see if Python has that thing included in the standard library."
And this is bad:
"It's in the docs, google for it."
And even worse, a literal:
"RTFM."
I understand the author to mean that if you want to say the last two things, don't bother.
I would say that the real help lies in between. You don't go out of your way to explain something that is explained somewhere else already. But, you can go out of your way to show the person where it is explained or even what to search for. Researching a problem on the internet is a skill that needs to be learned; a meta-skill, if you will. Whenever a developer has told me in the past to RTFM, aside from the rudeness of this abbreviation, it really is no help. If they gently said, "the API docs for the UIViewController class, which are located <here>, shows the function in question, and how it is used." etc.
One of my biggest issues with SO is questions that have been answered but the answer is wrong. Updating the answer to be correct is REALLY hard, especially when the user was a one off user, who asked a very good question. They just got a bad answer.
Another issue I see with SO is, a question gets answered then the language advances and boom the answer is now invalidated. So someone asks, "Hey I know it's answered here but I think there's a new answer, or has something changed." Those questions get shut down too which is frustrating.
I think SO should be a source of knowledge but it doesn't handle language versions well or out of date questions well. It doesn't even handle wrong answers well.
>No, just no. There is no point to any of all this search technology and this accumulated knowledge if no one uses it.
Is there a manual? Is it searchable? Is it up to date? Is it common knowledge or has it already been pointed out? Was it written for programmers or does it require business/domain knowledge to understand?
You could theoretically plop someone with the ability to read English in front of a computer with internet connection and they could learn just about anything out there, but a little guidance is going to massively improve their productivity.
The way we should handle this at work is when someone comes asking for a fish, go on a little fishing expedition. If they don't get the fish themselves, provide them one. Keep an eye open for the ones who are learning and the ones who don't care to learn and respond accordingly.
Outside of work it has to work a bit differently for a number of factors. You don't have nearly the obligation to help others work together, there are far more people, there is less direct communication. I'm not sure if there is a better rule that doesn't end up being abrasive.
You can see that there's a difference between saying "Google it" and saying "You're saying 'foo', but you probably want to Google 'bar'"?
Or that there's a difference between saying "RTFM" versus "This is in the manual in the section 'FooBar' - what are you doing that isn't covered there?"
Because too many SO comments are simple RTFM responses.
One thing I see a lot of developers (new and experienced) do is attempt to get around having to really understand the language and libraries they are working with by constantly googling whatever problem they are working on at a given time and assuming there should be an example or blog post out there somewhere that will show them exactly what they need to do.
Of course, when the code they find is incorrect, outdated, or not easily applied to their specific situation, they lack the understanding to figure out what they need to do to fix it on their own, so they ask.
This of comes out in the form of a question which, to anyone who has taken the time to build such an understanding, smacks of laziness, hence all of the "RTFM" replies.
And in that case, RTFM is the absolutely the right answer. They need to slow down, read the problem code, figure out what they don't understand, and learn. Maybe they need to slow way down and learn about some of the constructs of the language they are working with. Maybe they need to read the docs for a particular library or framework to figure out what abstractions it relies on. Maybe they just need a high level view of the API so they will know what all is available to them.
Could this be communicated in a more friendly way? Sure. Is it the responsibility of the community to do that? I don't know.
As an intermediate developer I still have trouble with many source documentation. . It's a problem of information density- I don't know where on the page to get what I need, or the documentation examples have very basic implementation that don't cover my use case. And as a beginning developer you don't have the library of personal experience to work-around use cases.
Usually I have to find a third party simplified documentation sites, like dotnetperls or ss64, which have easy to read documentation.
Besides, at least with SO, it clearly states to search before you ask. The user is only asking because searching wasn't successful. An answer of "go search more" does not help the asker.
1. You google the problem and find results from stack overflow and some out-of-date blog posts from 4 years ago.
2. You choose stack overflow!
3. The stack overflow question most related to the one you have is closed as a duplicate. The duplicate's answer is: "look at this manual: link" but the link is to some .edu website that doesn't exist anymore, or is for version 0.7 on a unix system and you're working on version 2.5 on windows.
In conclusion:
1. The world changes, so the same question may have different answers depending on when you ask it.
2. Having multiple different representations of a problem makes it easier to search for it correctly the first time, not harder (even if they all just link to one answer.)
If you can provide links to the relevant portion of the documentation or a relevant google search result, I think that's fine. But merely telling someone "read the manual" without adding anything else serves no purpose whatsoever.
What you do when the accumulated knowledge, is wrong?
Example: I've been getting hostile responses on StackOverflow when asked about RDTSC and MS QPC, and about some strange behaviour of XCode compiler.
Found out that both MS and Apple has wrong documentation, and that XCode compiler indeed does things differently than the official LLVM distribution (And way different from the published Obj-C standard).
How I am supposed to know that without asking someone that already knows?
> Attempt to answer the question, or don’t comment at all. Don’t tell them to RTFM, Google it,
I think the point is that if you're going to tell them to RTFM or google it. you should also attempt to answer it or point them in the right direction. but don't tell them RTFM or Google it and nothing else. That doesn't help. A lot of time people have already tried that and don't know enough to know where to look or what to search. At least tell them to try googling XYZ or tell them check section whatever in the docs.
This is exactly why I just learned as much as I could on me own. I'm inviting downvotes by saying this, but you're being a dick. That's the point of his blog post, don't be a dick. I definitely agree that new people should come in and.. read posting guidelines and be receptive to feedback. The problem is that if we want them to be receptive.. responding like this will not help
Regarding grammar/typos on Stack Overflow, often I try to simply edit the question to fix it. That might be considered passive/aggressive, but I just want it to be pretty. :)
> Someone asking a question that is answered in the documentation or has been asked and answered over and over should be pointed at those sources.
I think linking them to a directly-relevant resource like an answered StackOverflow question or a specific documentation page is a totally valid way to answer the question. My impression is that the author of the article is referring to replies that simply state "Google it" without providing any useful links, search terms, etc.
> One of the most important skills anyone is going to learn in a technical position is finding answers to questions you have that have already been answered. The next important skill they have to learn is doing a little bit of your own research in understanding your problem.
Exactly. And as the article was trying to explain, this is a skill which needs to be learned like any other kinds of skill.
Shouting RTFM means you demand that skill from the poster or even insult them for not having it - what you're not doing is giving the poster any help or encouragement in developing the skill.
A better solution would be to link them to the relevant previous discussion or documentation page or telling them what to google. This way you can actually bring the poster forward without causing duplicate discussions.
> Opinions about what they're using may have one very narrow use
My general rule of thumb is the same I use for HN, if you want to comment about something non-related, or make an observation that isn't really relevant, make sure to contribute as well, preferably first in the comment. For StackOverflow, that would be offering a solution, or help in some way before offering as additional observation that "if this were me, I'd do X". For HN this is most commonly useful when making a joke. Unless your joke is insightful and relevant,you're best including some additional content contributing to the discussion at hand.
I can definitely recall how alienating the stack overflow community was to me when I first started learning programming. You ask a simple question and they yell at you to Google it. You ask a complex question and they ask you why you're doing it. My solution was just to close myself off from StackOverflow and try any other community. My experience with IRC hasn't been great, but often my responses were miles better than what I would get on SO. Honestly, the best advice I can give to beginners is to make friends who know a bit more and go to friends first whenever possible (at the very least to help them make a good SO post with proper terminology, etc.)
> You ask a complex question and they ask you why you're doing it.
As someone on the other side of those questions, perhaps I can explain.
Very often, people unfamiliar with a subject area ask questions about solutions, instead of asking about problems. They've done a bit of googling, and have a partial solution. But the solution doesn't work, so they ask "how can I fix this solution."
To someone familiar with the problem space, the question is often nonsensical. It's based on false assumptions about how the API / system works. So the question is largely un-answerable.
The only possible response, then, is "Don't talk about the solution. Talk about the problem. What goal are you trying to accomplish? Maybe there's a different solution which can help you reach that goal."
This response can be seen as obtuse and unhelpful by the questioner. But it's often the only possible response, given the incorrect assumptions.
e.g. Q: How do I get diesel into my gas car? The nozzle just doesn't fit!
A: Why are you trying to do that?
Q: Stop being annoying, and just help me!
A: No, really... why are you trying to do that?
(after some back and forth)
Q: My car is in front of the diesel pump, and the hose from the gas pump won't reach.
A: Well... move your car.
It's not always that simple, but the back & forth is similar. It's hard work convincing people that their assumptions are wrong, and that they have to re-visit their assumptions, and re-do all of their previous work.
"You ask a complex question and they ask you why you're doing it."
Without context, it is very hard to differentiate complex questions that are necessarily so, and the much more common case of them being due to muddled thinking or fundamental misunderstanding.
If you are looking for help, the most important thing is to clearly describe the problem you are trying to solve, much more so than the details of the approach you are trying. This leads to a much more productive conversation, and can avoid a lot of back and forth based on mutual misunderstanding.
This is how I almost never got my SO topics closed. I state beforehand what I have tried, how certain SO questions may look related but are still not giving me enough knowledge to solve my problem. I do my best to make a convincing argument that I need help and can't make it on my own. A few days later and I get my answer :) (and sometimes I figure it out myself which takes a while)
I agree with the HNers that say that someone needs to struggle a bit first. It's necessary to develop the emotional coping skills, because programming can have very frustrating moments. And they can answer "what have you tried?"
Beginners need to understand: why would I put more time into solving someone else's problems than the person asking me the question? I notice that a lot of friction comes from that place. Sometimes beginners don't realize it, but I've seen some lazy people as well. When I am on the beginning side I really try to take this into account and value the time of the expert.
I feel StackOverflow is a bad place even as a professional. I don't agree with 90% of "closing" of questions, frequently closing a question is the ultimate upvote. StackOverflow seems to prefer questions that can be answered by just copying the fine manual - and frowns on those that might involve discussion.
From time to time I still use it, but for me it has jumped the shark.
No, it explicitly forbids questions that involve discussion.
The point of Stack Overflow is (and to a large extent always was) to be the place for definitive answers (and their alternatives) to well-asked questions. It is not a place for discussions, ranked opinions, interesting conversations, or anything else that does not have a "right" or "best-guess" answer.
It so happens that many questions are interesting to the community of people who visit Stack Overflow, but that doesn't mean they are contextually appropriate. If you want a discussion, go elsewhere. This isn't just a "if you don't like it, leave" judgement: it's explicit in the design and mission of the site[1]. There are better places to discuss things, just not on Stack Overflow.
[1] "This site is all about getting answers. It's not a discussion forum. There's no chit-chat...Avoid questions that are primarily opinion-based, or that are likely to generate discussion rather than answers.", from http://stackoverflow.com/tour
I asked a question on a Stack Exchange site (not SO) that was immediately reported as a duplicate. It wasn't, the duplicate wasn't even close in multiple ways, and someone else jumped in to defend the question - he was then upvoted by several people. Despite this, there is a permanent prompt to either accept that the question is a duplicate, or to edit my question and explain why it isn't.
This is nonsensical, because the reason that it isn't a duplicate is inherent in the question itself. I'm not sure how I would edit it without writing a non-sequitur. Even though I've actually accepted a correct answer, I cannot get rid of the prompt.
Indeed. Quite often I google a problem and the first result is a StackOverflow link. But, there's no answer. Someone asked about the same problem and got shut down by mods for some silly reason. Now, if there are other search results that look like they could give me an answer, I simply avoid the SO links.
I was discussing this yesterday with some people on IRC, and thought of writing a blog post about this myself.
Despite me being a very experienced programmer (I started to learn coding when I was 6 years old), I find SO extremely hostile.
Examples: One question of mine from 2010 got vote closed in 2014 (yes, people will hunt down questions even that later!) and now has vote deletes, also the same question the most upvoted answer is a snarky answer (copy paste of the answer: "You can't eat your cake and have it too.")
Recent questions: They all get downvoted and vote-duplicate even when they aren't.
I made some questions about RDTSC, people kept arguing with me about how I was doing something wrong, my CTO is retarded, or that I was retarded, or whatnot... and all I wanted was to fix some games (RDTSC behaviour changed from counting CPU cycles, to count whatever arbitrary frequency the hardware wants, this break old games that rely on it counting literal CPU cycles).
Another was when I asked details about some bizarre behaviour of Objective-C in recent versions of XCode, people said it was dupe (not exactly), that I was retarded, that it was all in the fucking manual, or that I could google it, and noone EVER replied with a single official answer.
I asked then on Quora, found out that XCode DO have non-standard behaviour (ie: stuff that ins't in Obj-C standard, and ins't in official distribution of LLVM), and that the Apple manual is wrong, thus no wonder why I wasn't finding the info on the manual or on google.
I asked about these issues on Stackoverflow Meta, got attacked, downvoted, deleted, etc... no meaningful discussion.
I am impressed that some people went to great lengths to argue with me without posting a proper answer, one guy even wrote something I considered an answer in the comments, but lacking details, I asked him to expand in an actual answer so I could accept it, and he replied in the comments: "Nah, that would be a waste of bandwidth."
Same here. I feel like StackOverflow after nearly 10 years of closing questions such as 'Which is a better framework X or Y', should be honored at /r/DesirePath.
Like at which point do they understand that maybe their desire conflicts with how most community wants to use SO as.
Some questions apparently don't belong to StackOverflow, because its stated purpose is to collect provably correct answers, not based on (mere) personal opinion.
OTOH there is definitely a need for a forum for the questions that get closed on SO but collect a huge number of upvotes. These are important questions and answers, people want and need them, and keep asking and answering them.
One important question is whether the approach to the site governance used on stackexchange sites would work on such a forum.
Quora tries to somehow serve as such a forum, but it lacks the focus of SO.
SO is definitely a club, and the guys who spend all day on that thing are not necessarily any more knowledgeable than others, despite their score.
In fact, many of the most impressive developers I've gotten to know, like Rich Hickey and others, have low scores on the site. You can't judge the contributors by whether or not they know what they are talking about, just whether or not they are addicted to answering questions first before anyone else. And many of them just like the power they have over other users to close and moderate things, often in an unpredictable way.
That said, many of the contributors are genuinely helpful and the site has helped me tremendously in the past. But just as many contributors are narcissistic and think they invented both chickens and eggs.
If someone lets a few rough edges on SO dissuade them from learning, they probably didn't care for any of this to begin with.
I mean, every single one of these traumatized "beginner" comments were sourced from reddit - where there are at least a half dozen subs that would gladly accommodate questions unsuitable for SO.
On a related note, I also don't understand why there is a constant push to coddle beginners to increasingly absurd degrees. It has literally never been easier to learn to program. There are hundreds of resources available to the aspiring learner - more so than any other field I'm aware of. Yet somehow the anal retentiveness of SO is the problem here? Come on.
As a kid, it took me a long time to learn to program because I was constantly fighting the very things that this article brings up. You can chalk it up to youthful arrogance. When I dropped my attitude and realized how wrong I was (around age 17, when many kids finally do this) I finally became a good programmer. I tried for nearly five years as a kid, but my naievete got in the way.
Programming requires a nearly dogmatic adherence to methodology, logic, and best practices, to be done well. What the article describes as unfriendly towards beginners, is really just an attempt to bestow upon beginners a thought process that needs to be instilled to be successful.
I consider myself a fairly seasoned programmer. I have written countless lines of code, work on a few projects with friends, and automated most of my computer-related tasks. I've been doing this since I was 12, and I am 19 at the time of writing this.
I can say with confidence, I have never been able to successfully ask a question on stack overflow. I think I have been banned at least once, or they deleted my account.
I've asked questions ranging from implementation of 3D matrix manipulation to avoid gimbal lock to writing a python client-side application that needs to be able to edit a google docs file.
Everything has been closed, locked, or down voted. Each time I followed standard procedures that we are all familiar with for reporting bugs.
- Include output
- Sample code
- Explanation of what the current code does and what I want it to do
- Pictures/Diagrams if helpful
I have NEVER gotten a single useful response. Granted it's a great resource for programming information. I use it as a library: I can go there and look at all the books frozen in time, all with good information on a wide variety of topics. But I know, if I attempted to write one of these books or jot down my feelings on the side of a page I'd just get yelled at by the librarians.
There are two things that I have noticed about stack overflow: it's one of a few sites that for some reason prides your identity over your work. Your 'karma' is displayed just as big as your name, and it seems to be implied that the bigger that number is, the more right you are. I have also noticed that most of the resources that are indeed helpful are either locked, closed for 'read only', or every reply is down voted even though the responses and questions are still valid.
I jokingly tell people who are going into CS at my college that "you are not a programmer until you have gotten banned from stack overflow for asking perfectly reasonable questions". Whenever I say that, I can almost hear a sub-audible sigh of relief from everyone in the room including some professors from other departments attempting to learn CS.
Stack overflow is presented as a site for the end user learning how to program. It is not.
This article fails to notice the primary problem with people learning a programming language.
Just as with a real language you learn the highest amount of material by absorbing explanations and expressions by qualified users of the language; not by immediately trying to form sentences as soon as you know 5 words.
A user of a language only becomed a skilled user when their mind contains a large enough corpus of absorbed expressions to imitate and combine.
IOW: Yes, the newbie does need to read the manual first. And after that some working code. (Though admittedly many manuals are crap and recommending a good, useful and fitting manual is a skill in itself that is lacking in many professionals.)
Seems like this article is mainly talking about cognitive dissonance occurring between a hypothetical beginner who imagines Stack Overflow is going to be a congenial conversation, and a hypothetical expert who curates SO as more of a high-viscosity Wikipedia that would ideally be ask once, answer once.
Joel Spolsky gave a great talk a few years ago about the design of StackOverflow. Three groups of people are involved in every question on the site: the asker, the people who answer and the people who read the answer later. Which group do you think the site is optimised for?
The answer is the third group. The average SO question gets read 30 times per day. Any value captured by either of the other groups is massively dominated by the value captured by people who google the question and land on SO. Complaining about the site being harsh to question askers fundamentally misunderstands the value SO provides to the community.
I'm all for websites which help beginners learn programming, but if you need 1-on-1 help to figure out why your loop is invalid, SO is the wrong site. https://hackhands.com might be a better destination.
(I can't find the video on my phone - if somebody could link it below that would be great. )
Generally speaking, I agree with the article. For some reason, there seems to be a widespread attitude of "meanness" on the internet (actually, perhaps that's just people in general...)
I recall three years ago asking the question "What is dependent typing?" on Stack Overflow. The first commenter replied "Did you try google? wikipedia?" to which I provided a sassy retort (http://stackoverflow.com/questions/9338709/what-is-dependent...).
Some people seem to become quickly exasperated with what they perceive as "stupid" questions (e.g. Linus Torvalds). I don't understand why; just ignore them. On the other hand, I get exasperated with mean comments. I frequently upvote people on Hacker News that I disagree with if they have worded their stance in a nice way, and I also frequently downvote people that I agree with if I find their comment particularly rude.
Some feel that rudeness is necessary in order to drive a point home (particularly in politics — lots of mudslinging), but I disagree. It would be interesting to see if any research has been done on this subject: are blunt, mean comments actually effective in certain situations?
Some suggestions for the beginner asking questions:
1. Make it clear that you are a beginner and that you're eagerly learning. Otherwise it's easy for someone to assume that you're a more experienced developer and answer accordingly.
2. Don't ask people to do your homework assignment for you.
And some suggestions for the experienced devs answering the questions:
1. Don't assume that the OPs first language is the language of the forum.
2. Don't assume that the OP is an adult, lots of kids are learning programming these days.
I suppose I have a hard time empathizing with the archetype of the beginner as presented in this article due to just how markedly different my own experiences developing as a programmer were.
I have never relied on the generosity of others to take their time to teach me - nor have I seen it as the responsibility of anyone to carry me along. I'm not dead weight, I'm independent and I have things I want to do.
One of my first experiences with programming was automating a menial task at my first internship. I was studying mechanical engineering at the time and my older brother had gotten me an internship at the company he worked for in the QA department. I was given the task of testing their in house search engine and recording the results in an Excel spreadsheet. When I got tired of doing it by hand I wrote a script to do it for me - a horrific mashup of PHP and awk and sed and all sorts of other gristle. But it worked. And it was mine. And I put it together by piecing together man pages, internet documentation, and trial and error.
After I switched my major in college to CS I was working on a personal project and when my professor couldn't give me an answer (he rightly expected me to figure it out for myself) I eventually ended up trawling though Java reference books at the local Barnes and Nobel to find a solution because nothing freely available gave enough detail.
The barrier to entry to programming is incredibly low. Anyone with a personal computer or laptop has an unbelievable treasure trove of incredibly high quality and FREE tools and resources to do absolutely amazing things...but that does not lessen the inherent complexity or difficulty of what programming is.
I think the attitude that many hobbyists or beginners bring to programming would be unheard of in practically any other sort of hobbyist field.
Build a basic knowledge and grow it. Yes. That means making an investment of time and possibly money. I have bought many supplemental educational resources (at first foundational algorithm and data structures and eventually technology and framework specific) because I want to learn. If you do not want to learn no one can teach you. And learning requires effort and engagement that are altogether lacking in many individuals.
The problem is a lot of people misinterpret what StackOverflow is supposed to be - a repository of programming-related questions/answers that are useful to more than one person.
Most questions asked these days are duplicates, syntax errors or are answered in the relevant online documentation - I really think there should be online courses on 'How to find the right thing to search for' because it would help newbies so much, and prevent them from having to interact with the mean/rude side of StackOverflow (which is proving hard to get rid of despite all the initiatives).
StackOverflow is a good place for intermediates and up. IRC is a better place for beginners, but truly if people are just starting out they need a dedicated teacher, or they need a good manual / tutorial that they read front to back. Most beginners don't read the manual / tutorial front to back; they try things immediately once they've read about them and their code understandably break. In this case they need a dedicated teacher, a person they can ask uninformed questions to. StackOverflow is the wrong tool for that.
I joined StackOverflow when it was about 9 months old, it's completely different now and I would not recommend it for new developers. The vast majority of moderators and people who close questions are among the worst dweebs I have ever spoken to online.
They have some minuscule, irrelevant taste of power, and it immediately goes to their heads. And in their eyes they are correct.
Instead, opt to go to a forum. For example, if you develop with ember go to their forums, meteor, go to their forums, elixir? They have a slack channel. Etc. Anything but stack overflow.
What are the three great virtues of a programmer: laziness, impatience, and hubris?
What would compel those who hang around Stackoverflow to be complete assholes to those who ask questions? Definitely hubris, and most probably impatience.
As a mediocre programmer I've been subject to ridicule from experts. I remember when I was trying to learn ExtJS (before is was Sencha) and for the life of me I could not get past a bug. I went on the ExtJS posting board.
Along the way I noticed one guy who answered replied to a lot of posts, but frequently not with an answer. It was more often than not to ridicule the original poster. Sometimes he would help but more often than not he would make a derogatory comment. I eventually broke down, and decided to post a question on the board, and within a short period of time the aforementioned guy replied, but did not provide a real answer. Something about 'you clearly don't know how to debug'. Yes dumbass, I can't figure it out that's why I'm asking.
I don't think any particular field has a shortage of arrogant know-it-alls that take pleasure in lording over the masses and gain pleasure out of humiliating those who they perceive as being beneath them. However programmers can be a funny lot, and without going too far out on a ledge there are quite a few of us who are brilliant at code but not so much in other areas of our lives.
Plus I have to wonder how many of us programmers have been on the receiving end of abuse in other areas of our lives, and take that repressed frustration out on others in the area we have confidence in.
Personally, I find StackOverflow to be one of the most useful online resources for general/random programming questions. Its not a place that tolerates a great deal of willful ignorance, and does almost nothing to help you if you're not willing to help yourself.
Also, I'm not surprised to see a bunch of comments taken from r/learnprogramming, a subreddit dedicated to helping beginners, being somewhat critical of StackOverflow and its style.
I enjoyed this article a lot. It has some really good advice on both the beginner and professional sides that I'll definitely be keeping in mind going forward.
But I think the article, and the comments here, have a bit of a blind-spot: teachers and/or mentors. As much as people seem to want to believe that it's easy to self-learn programming, the issues brought up in this article are among those that give the lie to that idea. There would be tension in any field if untrained beginners were asking questions in the same forums used by experienced professionals.
Questions like "javascript while loop not working" demonstrate a fundamental lack of understanding that professional support forums like SO and IRC are not designed to address. Most fields recognize that those sorts of fundamentals are best learned with the support of teachers who can evaluate what is missing in a student's mental model and answer questions in a way that builds knowledge. I don't see what makes us think our field is so different.
The programming professional culture described in the article is a grown-up version of hacker culture seen in old newsgroups and IRC rooms. It's somewhat of a rite of passage for a beginner to first lurk in these communities and learn just enough to know how to ask the right questions to not get yelled at.
[+] [-] mhurron|10 years ago|reply
No, just no. There is no point to any of all this search technology and this accumulated knowledge if no one uses it.
Someone asking a question that is answered in the documentation or has been asked and answered over and over should be pointed at those sources. One of the most important skills anyone is going to learn in a technical position is finding answers to questions you have that have already been answered. The next important skill they have to learn is doing a little bit of your own research in understanding your problem.
This goes especially for places like StackOverflow which is not a discussion forum. It's value is diminished by asking and answering the same questions over and over.
EDIT: I'll mention the last part of the statement I quoted too, it's unfortunate the lumped the second half of the statement with the first.
> correct their grammar, or give your opinions about their choice of technology
Correcting grammar is not helpful in any way in this context. If you can't understand what they're getting at, ask for clarification. Nitpicking grammar is just being a dick.
Opinions about what they're using may have one very narrow use, if what they're using to do what they're trying to do is just so very wrong. And we're talking 'I'm trying to create a pure HTML page to run this Nuclear reactor' levels of wrong. Most of the time, you do need to keep it to yourself. Especially on sites like StackOverflow, which is not a discussion board.
[+] [-] marknutter|10 years ago|reply
And here we have a prime example of why beginners find the programming community to be so abrasive, and worse, it's sitting at the top of this comment thread.
Ask yourself, would this be the answer you give to a 12 year old girl who's taken an early interest in programming? Or a single mother who's trying to switch careers to improve her lot in life? Or your own mother, for that matter? Is it really constructive to be so abrasive?
I'm starting to understand why we have such a problem with diversity in our field. This type of response is, in no uncertain terms, the response of a bully.
Pause for a moment. Try to remember what it was like when you were first starting out with programming. When "the fucking manual" was actually really confusing and loaded with domain specific terms, acronyms, and syntax. Can't remember a time when you didn't learn something immediately? Fine, step outside your world of programming and try to recall any painful memories you might have about trying to learn something outside your area of expertise.
Ever go to a gym and ask someone how to do a basic lift only to be scoffed at? Ever been to a foreign country and have someone berate you for not understanding how to navigate through some strange process or not knowing how to speak their language well enough? Perhaps you have, and it hurt, but you brushed it off and continued on. That's great for you, but not everybody is like that. A lot of people get discouraged and never continue with that sport, or with traveling, or with programming, and it's tragic because they might have otherwise excelled at those endeavors.
[+] [-] scott_s|10 years ago|reply
"Python strings have a method, rstrip, for that. You can read about it here: https://docs.python.org/3.5/library/stdtypes.html#string-met.... I find Googling 'python docs x', where x is what you're looking for is a quick way to see if Python has that thing included in the standard library."
And this is bad:
"It's in the docs, google for it."
And even worse, a literal:
"RTFM."
I understand the author to mean that if you want to say the last two things, don't bother.
[+] [-] hellofunk|10 years ago|reply
[+] [-] bargl|10 years ago|reply
Another issue I see with SO is, a question gets answered then the language advances and boom the answer is now invalidated. So someone asks, "Hey I know it's answered here but I think there's a new answer, or has something changed." Those questions get shut down too which is frustrating.
I think SO should be a source of knowledge but it doesn't handle language versions well or out of date questions well. It doesn't even handle wrong answers well.
[+] [-] Lawtonfogle|10 years ago|reply
Is there a manual? Is it searchable? Is it up to date? Is it common knowledge or has it already been pointed out? Was it written for programmers or does it require business/domain knowledge to understand?
You could theoretically plop someone with the ability to read English in front of a computer with internet connection and they could learn just about anything out there, but a little guidance is going to massively improve their productivity.
The way we should handle this at work is when someone comes asking for a fish, go on a little fishing expedition. If they don't get the fish themselves, provide them one. Keep an eye open for the ones who are learning and the ones who don't care to learn and respond accordingly.
Outside of work it has to work a bit differently for a number of factors. You don't have nearly the obligation to help others work together, there are far more people, there is less direct communication. I'm not sure if there is a better rule that doesn't end up being abrasive.
[+] [-] DanBC|10 years ago|reply
Or that there's a difference between saying "RTFM" versus "This is in the manual in the section 'FooBar' - what are you doing that isn't covered there?"
Because too many SO comments are simple RTFM responses.
[+] [-] pyrophane|10 years ago|reply
Of course, when the code they find is incorrect, outdated, or not easily applied to their specific situation, they lack the understanding to figure out what they need to do to fix it on their own, so they ask.
This of comes out in the form of a question which, to anyone who has taken the time to build such an understanding, smacks of laziness, hence all of the "RTFM" replies.
And in that case, RTFM is the absolutely the right answer. They need to slow down, read the problem code, figure out what they don't understand, and learn. Maybe they need to slow way down and learn about some of the constructs of the language they are working with. Maybe they need to read the docs for a particular library or framework to figure out what abstractions it relies on. Maybe they just need a high level view of the API so they will know what all is available to them.
Could this be communicated in a more friendly way? Sure. Is it the responsibility of the community to do that? I don't know.
tl;dr RTFM.
[+] [-] badloginagain|10 years ago|reply
Usually I have to find a third party simplified documentation sites, like dotnetperls or ss64, which have easy to read documentation.
Besides, at least with SO, it clearly states to search before you ask. The user is only asking because searching wasn't successful. An answer of "go search more" does not help the asker.
[+] [-] bloaf|10 years ago|reply
1. You google the problem and find results from stack overflow and some out-of-date blog posts from 4 years ago.
2. You choose stack overflow!
3. The stack overflow question most related to the one you have is closed as a duplicate. The duplicate's answer is: "look at this manual: link" but the link is to some .edu website that doesn't exist anymore, or is for version 0.7 on a unix system and you're working on version 2.5 on windows.
In conclusion:
1. The world changes, so the same question may have different answers depending on when you ask it.
2. Having multiple different representations of a problem makes it easier to search for it correctly the first time, not harder (even if they all just link to one answer.)
[+] [-] lukev|10 years ago|reply
[+] [-] speeder|10 years ago|reply
Example: I've been getting hostile responses on StackOverflow when asked about RDTSC and MS QPC, and about some strange behaviour of XCode compiler.
Found out that both MS and Apple has wrong documentation, and that XCode compiler indeed does things differently than the official LLVM distribution (And way different from the published Obj-C standard).
How I am supposed to know that without asking someone that already knows?
[+] [-] TheTravCav|10 years ago|reply
I think the point is that if you're going to tell them to RTFM or google it. you should also attempt to answer it or point them in the right direction. but don't tell them RTFM or Google it and nothing else. That doesn't help. A lot of time people have already tried that and don't know enough to know where to look or what to search. At least tell them to try googling XYZ or tell them check section whatever in the docs.
[+] [-] cblock811|10 years ago|reply
This is exactly why I just learned as much as I could on me own. I'm inviting downvotes by saying this, but you're being a dick. That's the point of his blog post, don't be a dick. I definitely agree that new people should come in and.. read posting guidelines and be receptive to feedback. The problem is that if we want them to be receptive.. responding like this will not help
[+] [-] unwind|10 years ago|reply
[+] [-] jchendy|10 years ago|reply
I think linking them to a directly-relevant resource like an answered StackOverflow question or a specific documentation page is a totally valid way to answer the question. My impression is that the author of the article is referring to replies that simply state "Google it" without providing any useful links, search terms, etc.
[+] [-] froh42|10 years ago|reply
- Either they couldn't find it. Then my answer will help. - Or they were to stupid/lazy to search. Then they're not worthy of my ire.
[+] [-] xg15|10 years ago|reply
Exactly. And as the article was trying to explain, this is a skill which needs to be learned like any other kinds of skill.
Shouting RTFM means you demand that skill from the poster or even insult them for not having it - what you're not doing is giving the poster any help or encouragement in developing the skill.
A better solution would be to link them to the relevant previous discussion or documentation page or telling them what to google. This way you can actually bring the poster forward without causing duplicate discussions.
[+] [-] sotojuan|10 years ago|reply
[+] [-] kbenson|10 years ago|reply
My general rule of thumb is the same I use for HN, if you want to comment about something non-related, or make an observation that isn't really relevant, make sure to contribute as well, preferably first in the comment. For StackOverflow, that would be offering a solution, or help in some way before offering as additional observation that "if this were me, I'd do X". For HN this is most commonly useful when making a joke. Unless your joke is insightful and relevant,you're best including some additional content contributing to the discussion at hand.
[+] [-] nv-vn|10 years ago|reply
[+] [-] adekok|10 years ago|reply
As someone on the other side of those questions, perhaps I can explain.
Very often, people unfamiliar with a subject area ask questions about solutions, instead of asking about problems. They've done a bit of googling, and have a partial solution. But the solution doesn't work, so they ask "how can I fix this solution."
To someone familiar with the problem space, the question is often nonsensical. It's based on false assumptions about how the API / system works. So the question is largely un-answerable.
The only possible response, then, is "Don't talk about the solution. Talk about the problem. What goal are you trying to accomplish? Maybe there's a different solution which can help you reach that goal."
This response can be seen as obtuse and unhelpful by the questioner. But it's often the only possible response, given the incorrect assumptions.
e.g. Q: How do I get diesel into my gas car? The nozzle just doesn't fit!
A: Why are you trying to do that?
Q: Stop being annoying, and just help me!
A: No, really... why are you trying to do that?
(after some back and forth)
Q: My car is in front of the diesel pump, and the hose from the gas pump won't reach.
A: Well... move your car.
It's not always that simple, but the back & forth is similar. It's hard work convincing people that their assumptions are wrong, and that they have to re-visit their assumptions, and re-do all of their previous work.
[+] [-] ska|10 years ago|reply
If you are looking for help, the most important thing is to clearly describe the problem you are trying to solve, much more so than the details of the approach you are trying. This leads to a much more productive conversation, and can avoid a lot of back and forth based on mutual misunderstanding.
[+] [-] crdoconnor|10 years ago|reply
How is that alienating?
[+] [-] mettamage|10 years ago|reply
http://mattgemmell.com/what-have-you-tried/
This is how I almost never got my SO topics closed. I state beforehand what I have tried, how certain SO questions may look related but are still not giving me enough knowledge to solve my problem. I do my best to make a convincing argument that I need help and can't make it on my own. A few days later and I get my answer :) (and sometimes I figure it out myself which takes a while)
I agree with the HNers that say that someone needs to struggle a bit first. It's necessary to develop the emotional coping skills, because programming can have very frustrating moments. And they can answer "what have you tried?"
Beginners need to understand: why would I put more time into solving someone else's problems than the person asking me the question? I notice that a lot of friction comes from that place. Sometimes beginners don't realize it, but I've seen some lazy people as well. When I am on the beginning side I really try to take this into account and value the time of the expert.
[+] [-] froh42|10 years ago|reply
From time to time I still use it, but for me it has jumped the shark.
[+] [-] jeremysmyth|10 years ago|reply
No, it explicitly forbids questions that involve discussion.
The point of Stack Overflow is (and to a large extent always was) to be the place for definitive answers (and their alternatives) to well-asked questions. It is not a place for discussions, ranked opinions, interesting conversations, or anything else that does not have a "right" or "best-guess" answer.
It so happens that many questions are interesting to the community of people who visit Stack Overflow, but that doesn't mean they are contextually appropriate. If you want a discussion, go elsewhere. This isn't just a "if you don't like it, leave" judgement: it's explicit in the design and mission of the site[1]. There are better places to discuss things, just not on Stack Overflow.
[1] "This site is all about getting answers. It's not a discussion forum. There's no chit-chat...Avoid questions that are primarily opinion-based, or that are likely to generate discussion rather than answers.", from http://stackoverflow.com/tour
[+] [-] cballard|10 years ago|reply
This is nonsensical, because the reason that it isn't a duplicate is inherent in the question itself. I'm not sure how I would edit it without writing a non-sequitur. Even though I've actually accepted a correct answer, I cannot get rid of the prompt.
[+] [-] nissehulth|10 years ago|reply
[+] [-] speeder|10 years ago|reply
Despite me being a very experienced programmer (I started to learn coding when I was 6 years old), I find SO extremely hostile.
Examples: One question of mine from 2010 got vote closed in 2014 (yes, people will hunt down questions even that later!) and now has vote deletes, also the same question the most upvoted answer is a snarky answer (copy paste of the answer: "You can't eat your cake and have it too.")
Recent questions: They all get downvoted and vote-duplicate even when they aren't.
I made some questions about RDTSC, people kept arguing with me about how I was doing something wrong, my CTO is retarded, or that I was retarded, or whatnot... and all I wanted was to fix some games (RDTSC behaviour changed from counting CPU cycles, to count whatever arbitrary frequency the hardware wants, this break old games that rely on it counting literal CPU cycles).
Another was when I asked details about some bizarre behaviour of Objective-C in recent versions of XCode, people said it was dupe (not exactly), that I was retarded, that it was all in the fucking manual, or that I could google it, and noone EVER replied with a single official answer.
I asked then on Quora, found out that XCode DO have non-standard behaviour (ie: stuff that ins't in Obj-C standard, and ins't in official distribution of LLVM), and that the Apple manual is wrong, thus no wonder why I wasn't finding the info on the manual or on google.
I asked about these issues on Stackoverflow Meta, got attacked, downvoted, deleted, etc... no meaningful discussion.
I am impressed that some people went to great lengths to argue with me without posting a proper answer, one guy even wrote something I considered an answer in the comments, but lacking details, I asked him to expand in an actual answer so I could accept it, and he replied in the comments: "Nah, that would be a waste of bandwidth."
[+] [-] splintercell|10 years ago|reply
Like at which point do they understand that maybe their desire conflicts with how most community wants to use SO as.
[+] [-] nine_k|10 years ago|reply
OTOH there is definitely a need for a forum for the questions that get closed on SO but collect a huge number of upvotes. These are important questions and answers, people want and need them, and keep asking and answering them.
One important question is whether the approach to the site governance used on stackexchange sites would work on such a forum.
Quora tries to somehow serve as such a forum, but it lacks the focus of SO.
[+] [-] hellofunk|10 years ago|reply
In fact, many of the most impressive developers I've gotten to know, like Rich Hickey and others, have low scores on the site. You can't judge the contributors by whether or not they know what they are talking about, just whether or not they are addicted to answering questions first before anyone else. And many of them just like the power they have over other users to close and moderate things, often in an unpredictable way.
That said, many of the contributors are genuinely helpful and the site has helped me tremendously in the past. But just as many contributors are narcissistic and think they invented both chickens and eggs.
[+] [-] collyw|10 years ago|reply
[+] [-] doktrin|10 years ago|reply
If someone lets a few rough edges on SO dissuade them from learning, they probably didn't care for any of this to begin with.
I mean, every single one of these traumatized "beginner" comments were sourced from reddit - where there are at least a half dozen subs that would gladly accommodate questions unsuitable for SO.
On a related note, I also don't understand why there is a constant push to coddle beginners to increasingly absurd degrees. It has literally never been easier to learn to program. There are hundreds of resources available to the aspiring learner - more so than any other field I'm aware of. Yet somehow the anal retentiveness of SO is the problem here? Come on.
[+] [-] AndrewUnmuted|10 years ago|reply
Programming requires a nearly dogmatic adherence to methodology, logic, and best practices, to be done well. What the article describes as unfriendly towards beginners, is really just an attempt to bestow upon beginners a thought process that needs to be instilled to be successful.
[+] [-] gravypod|10 years ago|reply
I can say with confidence, I have never been able to successfully ask a question on stack overflow. I think I have been banned at least once, or they deleted my account.
I've asked questions ranging from implementation of 3D matrix manipulation to avoid gimbal lock to writing a python client-side application that needs to be able to edit a google docs file.
Everything has been closed, locked, or down voted. Each time I followed standard procedures that we are all familiar with for reporting bugs.
I have NEVER gotten a single useful response. Granted it's a great resource for programming information. I use it as a library: I can go there and look at all the books frozen in time, all with good information on a wide variety of topics. But I know, if I attempted to write one of these books or jot down my feelings on the side of a page I'd just get yelled at by the librarians.There are two things that I have noticed about stack overflow: it's one of a few sites that for some reason prides your identity over your work. Your 'karma' is displayed just as big as your name, and it seems to be implied that the bigger that number is, the more right you are. I have also noticed that most of the resources that are indeed helpful are either locked, closed for 'read only', or every reply is down voted even though the responses and questions are still valid.
I jokingly tell people who are going into CS at my college that "you are not a programmer until you have gotten banned from stack overflow for asking perfectly reasonable questions". Whenever I say that, I can almost hear a sub-audible sigh of relief from everyone in the room including some professors from other departments attempting to learn CS.
Stack overflow is presented as a site for the end user learning how to program. It is not.
[+] [-] Mithaldu|10 years ago|reply
Just as with a real language you learn the highest amount of material by absorbing explanations and expressions by qualified users of the language; not by immediately trying to form sentences as soon as you know 5 words.
A user of a language only becomed a skilled user when their mind contains a large enough corpus of absorbed expressions to imitate and combine.
IOW: Yes, the newbie does need to read the manual first. And after that some working code. (Though admittedly many manuals are crap and recommending a good, useful and fitting manual is a skill in itself that is lacking in many professionals.)
[+] [-] gglitch|10 years ago|reply
[+] [-] josephg|10 years ago|reply
The answer is the third group. The average SO question gets read 30 times per day. Any value captured by either of the other groups is massively dominated by the value captured by people who google the question and land on SO. Complaining about the site being harsh to question askers fundamentally misunderstands the value SO provides to the community.
I'm all for websites which help beginners learn programming, but if you need 1-on-1 help to figure out why your loop is invalid, SO is the wrong site. https://hackhands.com might be a better destination.
(I can't find the video on my phone - if somebody could link it below that would be great. )
[+] [-] Xcelerate|10 years ago|reply
I recall three years ago asking the question "What is dependent typing?" on Stack Overflow. The first commenter replied "Did you try google? wikipedia?" to which I provided a sassy retort (http://stackoverflow.com/questions/9338709/what-is-dependent...).
Some people seem to become quickly exasperated with what they perceive as "stupid" questions (e.g. Linus Torvalds). I don't understand why; just ignore them. On the other hand, I get exasperated with mean comments. I frequently upvote people on Hacker News that I disagree with if they have worded their stance in a nice way, and I also frequently downvote people that I agree with if I find their comment particularly rude.
Some feel that rudeness is necessary in order to drive a point home (particularly in politics — lots of mudslinging), but I disagree. It would be interesting to see if any research has been done on this subject: are blunt, mean comments actually effective in certain situations?
[+] [-] lambic|10 years ago|reply
1. Make it clear that you are a beginner and that you're eagerly learning. Otherwise it's easy for someone to assume that you're a more experienced developer and answer accordingly.
2. Don't ask people to do your homework assignment for you.
And some suggestions for the experienced devs answering the questions:
1. Don't assume that the OPs first language is the language of the forum.
2. Don't assume that the OP is an adult, lots of kids are learning programming these days.
[+] [-] frotak|10 years ago|reply
I have never relied on the generosity of others to take their time to teach me - nor have I seen it as the responsibility of anyone to carry me along. I'm not dead weight, I'm independent and I have things I want to do.
One of my first experiences with programming was automating a menial task at my first internship. I was studying mechanical engineering at the time and my older brother had gotten me an internship at the company he worked for in the QA department. I was given the task of testing their in house search engine and recording the results in an Excel spreadsheet. When I got tired of doing it by hand I wrote a script to do it for me - a horrific mashup of PHP and awk and sed and all sorts of other gristle. But it worked. And it was mine. And I put it together by piecing together man pages, internet documentation, and trial and error.
After I switched my major in college to CS I was working on a personal project and when my professor couldn't give me an answer (he rightly expected me to figure it out for myself) I eventually ended up trawling though Java reference books at the local Barnes and Nobel to find a solution because nothing freely available gave enough detail.
The barrier to entry to programming is incredibly low. Anyone with a personal computer or laptop has an unbelievable treasure trove of incredibly high quality and FREE tools and resources to do absolutely amazing things...but that does not lessen the inherent complexity or difficulty of what programming is.
I think the attitude that many hobbyists or beginners bring to programming would be unheard of in practically any other sort of hobbyist field.
Build a basic knowledge and grow it. Yes. That means making an investment of time and possibly money. I have bought many supplemental educational resources (at first foundational algorithm and data structures and eventually technology and framework specific) because I want to learn. If you do not want to learn no one can teach you. And learning requires effort and engagement that are altogether lacking in many individuals.
[+] [-] diezge|10 years ago|reply
Most questions asked these days are duplicates, syntax errors or are answered in the relevant online documentation - I really think there should be online courses on 'How to find the right thing to search for' because it would help newbies so much, and prevent them from having to interact with the mean/rude side of StackOverflow (which is proving hard to get rid of despite all the initiatives).
[+] [-] renlo|10 years ago|reply
[+] [-] sergiotapia|10 years ago|reply
They have some minuscule, irrelevant taste of power, and it immediately goes to their heads. And in their eyes they are correct.
Instead, opt to go to a forum. For example, if you develop with ember go to their forums, meteor, go to their forums, elixir? They have a slack channel. Etc. Anything but stack overflow.
[+] [-] padseeker|10 years ago|reply
What would compel those who hang around Stackoverflow to be complete assholes to those who ask questions? Definitely hubris, and most probably impatience.
As a mediocre programmer I've been subject to ridicule from experts. I remember when I was trying to learn ExtJS (before is was Sencha) and for the life of me I could not get past a bug. I went on the ExtJS posting board.
Along the way I noticed one guy who answered replied to a lot of posts, but frequently not with an answer. It was more often than not to ridicule the original poster. Sometimes he would help but more often than not he would make a derogatory comment. I eventually broke down, and decided to post a question on the board, and within a short period of time the aforementioned guy replied, but did not provide a real answer. Something about 'you clearly don't know how to debug'. Yes dumbass, I can't figure it out that's why I'm asking.
I don't think any particular field has a shortage of arrogant know-it-alls that take pleasure in lording over the masses and gain pleasure out of humiliating those who they perceive as being beneath them. However programmers can be a funny lot, and without going too far out on a ledge there are quite a few of us who are brilliant at code but not so much in other areas of our lives.
Plus I have to wonder how many of us programmers have been on the receiving end of abuse in other areas of our lives, and take that repressed frustration out on others in the area we have confidence in.
[+] [-] AcerbicZero|10 years ago|reply
Also, I'm not surprised to see a bunch of comments taken from r/learnprogramming, a subreddit dedicated to helping beginners, being somewhat critical of StackOverflow and its style.
[+] [-] sanderjd|10 years ago|reply
But I think the article, and the comments here, have a bit of a blind-spot: teachers and/or mentors. As much as people seem to want to believe that it's easy to self-learn programming, the issues brought up in this article are among those that give the lie to that idea. There would be tension in any field if untrained beginners were asking questions in the same forums used by experienced professionals.
Questions like "javascript while loop not working" demonstrate a fundamental lack of understanding that professional support forums like SO and IRC are not designed to address. Most fields recognize that those sorts of fundamentals are best learned with the support of teachers who can evaluate what is missing in a student's mental model and answer questions in a way that builds knowledge. I don't see what makes us think our field is so different.
[+] [-] alexchantavy|10 years ago|reply