Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A lot of time has been spent by developers trying to get points. There is a cost to that.

The site has enabled software vendors to slack off on their documentation. If there was no StackOverflow the vendors would have to do better. I'm thinking of msdn as an example since a lot of the Stack questions are MS technology based. MS is far from alone though. Much of the money saved has gone to vendors.

Even given those points it has still saved a lot of money. But billions? I don't know if it would be that much. It would be interesting to know what the global number for reputation points is. There may be a correlation to money saved.



    The site has enabled software vendors to slack off on their documentation ... I'm thinking of msdn as an example
The number of questions on SO that can be answered by RTFM is quite remarkable. I think that points to a lot of the documentation being just fine. The last bug of my own I spent any significant of time on was answerable by RTFM [1].

There are plenty of PHP+MySQL questions that appear where the OP is clearly learning about PHP+MySQL and the code looks something like...

    $result = mysql_query("select username, password from user where username = " . $username)
...shows that they haven't bothered to RTFM [2].

[1] I had made a new thread and was calling ShellExecute on it. It didn't work on some computers because I hadn't initialised COM (presumably they had some shell extensions installed). See the first sentence of "Remarks" http://msdn.microsoft.com/en-us/library/windows/desktop/bb76...

[2] Big red box: http://www.php.net/mysql_query


Why do people assume that RTFM does not have a cost?

In fact, it's probably higher than searching SO through Google. This is why I'm hugely in favor of even basic questions getting answers on SO.


Way higher. Technical documentation is only in rare cases easy to read, whereas SO answers are specifically incentivized to be easily accessible. And any comparison assumes that you can get instantly to the right page of the FM by making a web search, which is far from reality in most cases.


I've tried out many different programming languages in an effort to be able to "read" any language that comes my way (as a security researcher, I've noticed malware authors tend not to write in enterprise Java). The only language I can think of off the top of my head where the manual is the only thing you really need is Lua. I don't know if it's just because it's so tiny or because it's a well-written manual (or both), but it's lucky that this is the case because finding Lua code examples isn't exactly easy.

Many other languages I've come across have oddities that pretty much require asking someone who already knows the answer.


very well put. Both obscure and implicit/obvious information can be very hard to find by just reading the manual.

(Aside from above) I love Python. I only know enough to get by though. I have this program that runs for a really long time, storing the results of each iteration in a dict. These results are complex python objects, and are meant to be processed later on.

Naturally, I tried pickling them. As the file grew, Pickle quickly became cumbersome. It was a bad idea to read and write something that big every iteration. I started wondering if there was some way to write pickle objects incrementally. Then googled it, and an answer from SO led me to the 'shelve' module. It does exactly that, pickling objects incrementally. Its part of Python's standard library. But it didn't turn up on the first page of google's results. It is described in the docs as a 'persistent, dictionary-like object'. Well, if not for SO, I would have been stuck with the wrong set of keywords to search with. So, my point is, even if things ARE in the manual, it takes some effort finding it. And SO does an excellent job of leading you on to the right places in the manual/reference rather than just looking down upon you for not grokking the entire manual.


> Well, if not for SO, I would have been stuck with the wrong set of keywords to search with.

This is precisely the sort of bootstrap problem good tutorials are meant to help you avoid. Learning out of a book is not as satisfying as grabbing an interpreter and some example code and just hacking away, but this is precisely a case where the by-the-book method can save you a lot of time and frustration later on.

Another example of a problem tutorials solve is not knowing what 'tasteful' means in a given language. If you don't know what the language culture considers good taste, you'll beat your head against a wall trying to solve problems tasteful developers don't even have, because you're cutting against the grain.

(Yes, yes, a Real Programmer can write FORTRAN-IV in any language.)


Agreed - Especially when I'm working on some technology where I don't need/want to learn it completely and just can't spare the time, but just need to know a small bit of information to fix some legacy item, or something similar. SO is invaluable there - but I do hate when I'm "that guy".


True but I think people often assume, mistakenly, that SO will have a lower cost than RTFM. A great example is Postgres authentication, there are hundreds if not thousands of questions on this topic on SO, almost all of which would be answered by reading the very concise, very accessible section of the Postgres manual.

Not suggesting there's anything wrong with using SO for this but that the cost of reading the manual for these purposes would actually be far lower.


RTFM definitely does have a cost, and like you say being able to find the simple questions answered on SO and the rest of the family is very useful to a great many people.

My problem is the duplication of those simple questions: people asking the absolute basics having not bothered to try Google or the site's own search function. They know the right keywords, they've got them in their question, and they'd learn more by looking through the existing answers than by asking a very specific question themselves.

Some people aren't there to learn: they are there to get someone to do their homework/job for them. But many genuinely are and I'd like to help those people where I can, especially those who have obviously given some thought beforehand and articulated their attempt at understanding thus far (it is easier to be helpful in these cases: you often don't have to explain everything in detail you can say "it looks like you've got it almost right, the niggly little thing that you are missing in your understanding is..."). And sometimes even the obvious beginners will actually ask a really interesting question.

From the other side: answers that simple say "Do X" but ofer no further word of explanation are worse than a bad question. A good answer will help the questioner and other passers-by learn from the question+answer, an overly terse answer is just handing the man a fish (and not necessarily the right fish). Luckily there are enough good people contributing on most of the stackexchange sites that the bad answers are outnumbered and the voting system works well enough that the good ones float to the top.


Your power as a user of software is increased by learning how to read documentation efficiently, however.

It's even further increased by being able to read the source, but that's even more costly.


I just spent a month getting back into Android development with writing an app. I can't express how many times I knew the answer would be easily findable in the docs but I also knew that by searching on Google it would give me a SO link where it takes about 5-10s to have the answer. While looking it up and reading the SDK documentation would more likely lead to 60-90s with presenting me less information and alternatives.


I want to float a different hypothesis: the perception of programming is so hung up on the idea of individual brilliance that most people, especially beginners, don't even realize how much value there is in reading the manual.

And we as programmers add to the problem. It's not very sexy to say that there is a lot of useful software out there written and documented by smart people and if you read that documentation, and think through a problem with great analytical detail you should be able to find a clear solution.


My experience has been that technet's documentation is so unreliable that I've learned to go to SO first.


Yeah, I goto SO (well, SO through google) because with most questions, I get a practical answer to my exact situation in seconds, as well as suggestions as to why or why not different approaches might be warranted. They're not all perfect, but it's usually food for thought.


StackOverflow is just the manual in an easily searchable form. Lots of times I'm not even sure of what to even look up and that's when I post to StackOverflow. The next time someone else tries to do something similar, Google will have found it in StackOverflow and it will be easily found.


Easily searchable and constantly updated form.

And free of vendor BS, too.


Your comment has been closed because it has been deemed to be unsuitable for our question and answer format.

And you're a bad person for asking!


Also has only the information people are actually interested in.


> The number of questions on SO that can be answered by RTFM is quite remarkable. I think that points to a lot of the documentation being just fine.

Actually that must point to the opposite: that manuals are not information resources that are easily consumable, and hence a new service (Stackoverflow and co.) needed to be developed to "disrupt" this.

The more questions the better IMO, it's just more of a wealth of data to search through and serve to people.

I wish there were better ways of asking more general questions that one just has no idea though (e.g. "How can I send SMS messages from a web site?" Random example of which I have no clue). These are more open-ended, but provide a ton of value. At the very least, they make googling for such things that much easier and direct.


You are quite right. All of the information is in the manual, and if only everyone would spend their time reading the manual there wouldn't be so many questions on SO. However, the volume of information in most manuals is also the problem. If everyone read the whole manual, a lot of time would be collectively wasted because most of the information is not useful or relevant to what each individual developer is trying to do. In my opinion manuals should be written in several tiers of detail. Admittedly, a lot of software developers already publish documentation this way and these basic questions still get submitted to SO.


If you're stringing together a Unix pipe command, TFM might be for, say, awk. Would you rather stop what you're thinking about for 10 minutes and shave that yak, or get a quick answer and move on?


There's another cost to consider: if you do this more than infrequently, learning the tools will save more time than consulting SO repeatedly — particularly if you end up adding and debugging extra steps. Not a big deal for something you're running once but I've seen people running carefully constructed gargantuan shell pipelines multiple times a day because it was "too hard" to learn how to do it all in a single awk / perl step


Agreed. But there are yaks you shave but once.


The more information is available in the documentation, the more you can benefit from somebody pointing you to the right information for your question. So I think that if software vendors were to document even more, you would need something like stack overflow even more.

And then there's also the problem of cross-technology questions, where you have a question of combining multiple technologies. These kind of questions are usually a bad fit for documentation.


Not everyone learns from manuals though.


> The number of questions on SO that can be answered by RTFM is quite remarkable.

Every language needs two manuals: A reference text, to teach you what is possible, and a tutorial, to teach you what is tasteful. You should expect people to read the tutorial, but expecting everyone to inhale reference material is a bit much.

(Later, there should be a third book: An anti-tutorial, laying out anti-patterns, or things you shouldn't be doing but that people tend to do anyway, and how to solve the problem the right way, with pointers to other tools if necessary.)


When you answer questions and get points though you teach and that is the best training. Many times when I answer questions I find out more details and learn as well. Anytime a question is answered this is training investment for free really. It is also something that helps your programmer brand.

With open source and sites like stackoverflow, a single programmer can become a team of programmers/knowledge very quickly. It is part of what has made each programmer better I believe. On the flip it has also made programmers more lazy possibly. Finding an answer and being able to solve and provide an answer to the question are two key pillars to providing solutions. So I'd say question answerers and associated companies are getting more out of it.


> Many times when I answer questions I find out more details and learn as well.

I've experienced this several times too. In verifying details to make sure I'm not handing out duff information, I've stumbled over a semi-related point in the documentation that triggers a "I wasn't aware of that, I'll have to look into it as it might be very useful" response.

Also I sometimes just browse for interesting questions. You occasionally stumble upon something you didn't know that you needed/wanted to know!


> If there was no StackOverflow the vendors would have to do better.

Documentation quality had been declining for many years before SO -- I think its more accurate to say that if vendors were doing better, there would be no (or less interest in) StackOverflow than the other way around.


Although the problem I've been finding recently with SO vs Apple docs (mainly since switching from developing sdks to apps) is a lot of the higher level stuff seems to get changed more frequently, so a lot of SO answers are out of date.

Edit: Somehow this reply ended up with a different parent than I intended...


I find the opposite with iOS/Apple programming. Often I'll be looking for something on Stack Overflow only to find the true answer lurking somewhere in one of Apple's guides or example apps lol. But if there's a Stack Overflow answer, it's often exactly what I was looking for, and that can't be undervalued!


True, iOS docs are really good compared to Android docs.


I know programmers at microsoft who use SO as an intern.

They just post questions about strange windows problems they can't work around. Somebody on SO will respond with a 1,000 word essay with 500 lines of code about it within a day, thus solving their problem with no employee time "wasted" by thinking or researching or paying for anything additional resources.


Ha, that's me. I'll post questions on how to write code, not just problems I can't work around. Then I go off and slack off, and wait until someone answers it. My version of "I'm compiling".


The microsoft thing is a little ethically strange but yeah i feel you on this.... if these try-hards wanna do your work for you just to get a "+10" may as well give them the privilege of "building their digital resume" while you read about something more interesting.

Programmer culture involves too much self-glorification & SO embraces that in the hugest way. If the discussions were more interesting it would probably worth more attention but usually it's just some know-it-all quoting docs they just Googled for so they can lock down the question / points. I'm not sure I'd ever want to hire a SO mod...


> A lot of time has been spent by developers trying to get points. There is a cost to that.

Agreed, however one answer will help many developers, which should more than offset the initial effort

> The site has enabled software vendors to slack off on their documentation.

Documentation has not deteriorated, in my opinion. In fact, a point could be made that it is now much easier for small vendors to have outstanding developer support through stack overflow. A lot of open source project use it as the main support line.

> It would be interesting to know what the global number for reputation points is. There may be a correlation to money saved.

It is probably correlated to the time spent on the site, but the money saved is certainly not related, as users don't gain any reputation by reading answers or simply browsing the site.


> Much of the money saved has gone to vendors.

That's not a contradiction to the claim that wealth has been created. Of course it has to go somewhere.


> That's not a contradiction to the claim that wealth has been created.

There was no claim wealth was created.


There certainly was.

"SO has probably added billions of dollars of value to the world in increased programmer productivity."

https://twitter.com/ID_AA_Carmack/status/380018564792455168


dead on with the cost of wasted time through gamification. And many questions on SO can be answered with ~10 mins of extra thought. It's a good reference though, as someone mentioned. Makes a manual searchable, basically, with a bit of layman explanation.

I get bitter though because any time I post a question that actually requires thought (can't be answered by checking an API) it ends up getting downvoted because you well... actually have to read a paragraph to understand it, I assume. That site has an uncanny ability to trash anything of value so a lot of the time I spend on it I wish I just spent reading programming theory instead of gleaning random bits of knowledge. I guess its enlightening though to see the level of developers & tech engagement in the different communities. It lets you see how active the community is and what level of quality the devs are, basically. (So... more questions doesn't necessarily mean better community...)

& o god lets not even get into the amount of wasted time spent wanting to claw your eyes out when someone (especially mods) say some horribly arrogant thing responding to some imaginary version of your question (i guess they read 2 or 3 words from each sentence?). or they point out some semantic reason why theoretically they're right even though in practice they're wrong and the theory doesn't actually support their argument, it's just agnostic... chills


Google did this as well. It's extremely annoying. They're basically telling users to "Fuck off, we don't have time for you. Go ask your questions somewhere else."


Remember to take into account that doing something similar to SO but scoped more narrowly could actually hurt the help/answer community through fragmentation more than help it.


When I first started doing Android development in late 2009 the API documentation quickly brought back memories of MSDN in the late 90's.


Which is where resources like Stack Overflow really shine.

I had someone add a link to MSDN to an answer I posted on SO a few years back. That topic didn't exist when I wrote the answer - and the subsystem being documented was already fairly old when I wrote about it.

Waiting around for months or years for vendors to get their documentation up to snuff is rarely an option; how many people have ended up reinventing the wheel, badly, because the only indication that it already existed was tucked into a bit of test code collecting dust somewhere?

Every time Apple releases a new version of iOS, I see questions regarding the new APIs being asked and answered on SO... Usually before the NDA is even lifted. "RTFM" is useless if the manual is incomplete or inaccessible until long after the fact.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: