Slashdot Mirror


Developers May Be Getting 50% of Their Documentation From Stack Overflow

New submitter gameweld writes "Software companies, such as Microsoft, create documentation for millions of topics concerning its APIs, services, and software platforms. Creating this documentation comes at a considerable cost and effort. And after all this effort, much documentation is rarely consulted (citation) and lacking enough examples (citation). A new study suggests that developers are increasingly consulting Stack Overflow and crowd-sourced sites over official documentation, using it as much as 50% of time. How should official documentation be better redesigned? What are the implications of software created from unruly mashups?"

418 comments

  1. Documentation Shitty so Developers Turn to Web by TheSpoom · · Score: 5, Funny

    News at eleven.

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
    1. Re:Documentation Shitty so Developers Turn to Web by Looker_Device · · Score: 3, Insightful

      It would probably help if more companies paid for the technical writers to do it themselves. Unfortunately, if they're anything like the last shop I worked at, the documentation was one of the first things that got shortchanged when times were tight.

      --
      Your political party doesn't care about your rights and only represents corporate interests.
    2. Re:Documentation Shitty so Developers Turn to Web by SJHillman · · Score: 5, Interesting

      I wrote a number of small utilities for my last company. There were times when I would delay deploying non-critical programs so that I could finish the documentation and this was always met with a "if you insist..." reaction. It was fairly common for me to find issues with the UI being unintuitive while documenting it, after which I would go back in and simplify things (and re-document).

    3. Re:Documentation Shitty so Developers Turn to Web by icebike · · Score: 5, Insightful

      Lots of truth to this.

      What you get from MSDN must be read like a lawyer parsing the law books.
      Miss some casual reference and the whole API call fails. Or worse, it almost always works, but
      fails inexplicably on odd numbered Tuesdays.

      Things also go missing. You will find something this week, only to find it missing with the next update to the website.

      That said Microsoft documentation is still more extensive than most. I often start there then end up on Stackoverflow
      of one of the other sites for more lucid examples, and often find that problems with a particular feature not working
      as documented are common knowledge, except, apparently, to Microsoft.

      --
      Sig Battery depleted. Reverting to safe mode.
    4. Re:Documentation Shitty so Developers Turn to Web by Joce640k · · Score: 5, Funny

      Yep. Microsoft documentation is truly awful.

      Typical Microsoft documentation page:

      DWORD throbTheWangle(DWORD Wangle, FLOAT HowMuch)

      Description:
      This function throbs wangles.

      Input parameters:
      Wangle - the wangle to be throbbed.
      HowMuch - how much to throb it

      Return value:
      The function returns a status code indicating success or failure.

      If you want to know what wangles are, what throbbing is, the valid range of "HowMuch", what the returned status codes are... well, you're off to StackExchange to see if anybody's managed to figure it out.

      --
      No sig today...
    5. Re:Documentation Shitty so Developers Turn to Web by blackraven14250 · · Score: 2

      I've had pretty much the same experience, where anything that isn't Java or MySQL has landed me on SO or another site instead of the official documentation.

    6. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 3, Insightful

      This isn't just Microsoft documentation either. I wish you were exaggerating, as it always amazes me how little people must give a crap if they write this and think it's acceptable documentation.

    7. Re:Documentation Shitty so Developers Turn to Web by JDG1980 · · Score: 5, Insightful

      One of the most annoying things about the MS API documentation is all the unexplained dependencies. You see a function call that takes 2 structure pointers as parameters and returns another structure... now you've got to open 3 additional documentation pages to read what those structs mean. And they might contain other structures of their own, so soon you can be up to half a dozen or more tabs, all for one API call you want to perform.

    8. Re:Documentation Shitty so Developers Turn to Web by Z00L00K · · Score: 5, Insightful

      Microsoft and others writes a kiloton specific for the function it concerns, but nothing about the context in which it shall be used. Here's what StackOverflow is a lot better at - a lot of examples, some good, some not so good and some esoteric.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    9. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      That, indeed, is true. But, you will have come a long way to even be able to find that much information. A hefty proportion of the time you'll have spent a good amount of time to have even found the "offical" Microsoft "documentation". Once you have found this, then you realise it is pointless and go off to a community.

      Much open source software and free software ,however, is quite the opposite. The official documentation is typically outstanding, has a great layout and includes many user comments and source code examples.

    10. Re:Documentation Shitty so Developers Turn to Web by hesaigo999ca · · Score: 1

      >I often start there then end up on Stackoverflow
      You could shave off some dev. search time by just going straight to stack overflow...just like the article mentions....and always come out ahead of the game.

    11. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      And how would you solve this, exactly? Inline ALL the dependency documentation into one page? Every single documentation page within a package should explain all the high level concepts over and over again?

      Hypertext was invented for precisely this reason.

    12. Re:Documentation Shitty so Developers Turn to Web by hesaigo999ca · · Score: 1

      LMAO, you have no idea how much I laughed at this, because of how true it is!!
      If we could do find a way to make them understand this somehow, it would be great.
      Then again, they would not spend the money to rewrite all their doc just so we can make heads or tails of it.

    13. Re:Documentation Shitty so Developers Turn to Web by Mister+Liberty · · Score: 1

      Indeed.
      You should see the tooltips on many an application. They just repeat
      the text near or on the button.

    14. Re:Documentation Shitty so Developers Turn to Web by hesaigo999ca · · Score: 0

      so true...

    15. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Yep. Microsoft documentation is truly awful.

      Typical Microsoft documentation page:

      DWORD throbTheWangle(DWORD Wangle, FLOAT HowMuch)

      Description:
      This function throbs wangles.

      Input parameters:
      Wangle - the wangle to be throbbed.
      HowMuch - how much to throb it

      Return value:
      The function returns a status code indicating success or failure.

      If you want to know what wangles are, what throbbing is, the valid range of "HowMuch", what the returned status codes are... well, you're off to StackExchange to see if anybody's managed to figure it out.

      I see Microsoft has hired Oracle's technical writers. That makes sense, since Oracle doesn't need them anymore; it never bothers to update its docs.

      (No, I don't mean Sun-Oracle. I mean Oracle Oracle.)

    16. Re:Documentation Shitty so Developers Turn to Web by jafac · · Score: 2

      you sir, have perfectly described it. So well, in fact, that my wangle is, indeed, throbbing.

      But seriously - this is probably the biggest challenge I face in my work - which I've been doing since about 1980. When I encounter some documentation, and there's no fucking context, and no reference TO context - that documentation just utterly fails. Here it is. 2013. And we still haven't solved the problem.

      I go to Stack Overflow, and read through a few extra pages of chitchat . . . and THERE is my context. Usually.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    17. Re:Documentation Shitty so Developers Turn to Web by jafac · · Score: 1

      yep. And all this time, I thought it was just me. I thought I was just stupid.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    18. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Don't forget that when used MS search function to find throbTheWrangle, it showed you the .NET 1.0 version of the documentation.

    19. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Developers Shitty so Developers Turn to Web.

    20. Re:Documentation Shitty so Developers Turn to Web by icebike · · Score: 2

      Mmmmm, no. Not in my experience.

      Often I know exactly what I am going for, which API I need, etc. Google the name, with MSDN as one of the search terms, land exactly on the appropriate MSDN page, read the format, check that I have the required headers, code the call and done.

      Most of the time that is sufficient, and it is by far quicker than wading through someone elses verbiage, code samples, 37 replies, 35 of which are unhelpful, etc. etc.
      If you understand and use MSDN frequently, it quicker (by far) for the bulk of your needs.

      Its only when it doesn't work out of the box that the Microsoft documentation becomes cumbersome and opaque. Then its off to SO. Only to find, in the vast majority of cases, that I misread or skimmed over some obscure off-hand remark in the MSDN page that made all the difference in the world.

      --
      Sig Battery depleted. Reverting to safe mode.
    21. Re:Documentation Shitty so Developers Turn to Web by mr.hawk · · Score: 1

      How can this be modded 5, Funny?

      Parent is spot on INSIGHTFUL.

      A truly sad state of affairs.

    22. Re:Documentation Shitty so Developers Turn to Web by thomasw_lrd · · Score: 2

      I thought Stackoverflow was the official documentation?

      In all seriousness, when I have a choice between two links, and one is the documentation and the other is SO. I choose SO first. Then check the documentation for the nitty gritty details.

    23. Re:Documentation Shitty so Developers Turn to Web by MrEricSir · · Score: 1

      Yep. Microsoft documentation is truly awful.

      As a Glib/GTK+ programmer, let me say this: fuck you. You have no idea how easy you have it. At least functions in Win32, MFC, etc. are actually documented -- and by "documented" I mean there's a paragraph explaining what they do and what each parameter does. When the docs are incorrect or incomplete, sending an e-mail to Microsoft usually gets a response and a fix within a few weeks. There are clear examples and the documents are arranged in a sensible hierarchy.

      MSDN may not be perfect, but their documentation is far, far from the worst. Microsoft has always been a developer tools company, and it shows.

      --
      There's no -1 for "I don't get it."
    24. Re:Documentation Shitty so Developers Turn to Web by hsmith · · Score: 1

      Doing a lot with SharePoint documentation and you'll discover why MSDN is the absolute worst for actually learning a single thing.

      I'd really like to know why, in SharePoint Web Services that the date formats vary in three different ways - other than a "fuck you" to anyone working with them.

    25. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Very true, except the function would have 17 more parameters.

    26. Re:Documentation Shitty so Developers Turn to Web by jgrahn · · Score: 0

      I've had pretty much the same experience, where anything that isn't Java or MySQL has landed me on SO or another site instead of the official documentation.

      What weird stuff are you programming? For me it's

      • C: man pages
      • Unix: man pages, and Stevens' book
      • C++: the SGI STL manual, or Stoustrup's book
      • Python: the Python documentation
      • Linux: read the kernel sources and guess

      No way I would trust a random StackOverflow answer for anything close to important. Nor would I trust a badly documented library -- if people can't explain what they've done, they probably didn't do a good job.

    27. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      This. A million times this.

      Context is exactly the difference between official documentation and stackoverflow(and others). Official doc says what the function is, stackoverflow tells you how to use it.

    28. Re:Documentation Shitty so Developers Turn to Web by Larry_Dillon · · Score: 2

      Too much vendor documentation is geared to lawyers, CYA and is needlessly verbose.

      Many web sites tell you what it really took to get something going versus how it's supposed to work.

      I read a lot of bad documentation. Remember English class where you took a few 3x5 note cards and padded it out to a five page paper? I've read too much vendor documentation that looks just like this. No economy of words.

      --
      Competition Good, Monopoly Bad.
    29. Re:Documentation Shitty so Developers Turn to Web by vokyvsd · · Score: 1

      I think one of the big culprits here is generated documentation.

      Imagine writing some code... you get through a couple hundred lines of code detailing what Wangles are and what you can do with them.

      No matter how on-the-ball you are, you're still going to be writing comments and documentation from the position of someone who can see the whole tamale. You know what Throbbing does, and you know why you would want to do it, because you just have to hit page up and *duh*.

      Then the doc generator passes through, slurps up the comments (but obviously not the code) and plops it in to some template that was designed to fit the lowest common denominator, and all of a sudden it's completely out of context.

      Maybe this isn't how MSDN actually generates its docs, so maybe I'm way off base here, I don't know. But it sure looks that way to me.

      TL;DR: closed-source bad, open source good. Come on, mod points!

    30. Re:Documentation Shitty so Developers Turn to Web by Waffle+Iron · · Score: 1

      And how would you solve this, exactly?

      By sticking with terse APIs like POSIX.

      Most of the time, the vast majority of Microsoft's convoluted API structure fields are boilerplate that nobody uses (but nevertheless have to be filled in with long boilerplate ALL_CAPS_CONSTANT_NAMES that blow up each API call into a whole paragraph of source code).

    31. Re:Documentation Shitty so Developers Turn to Web by UsuallyReasonable · · Score: 1

      Save for the Python, how are you enjoying 1982?

    32. Re:Documentation Shitty so Developers Turn to Web by amicusNYCL · · Score: 1

      If you want to know what wangles are, what throbbing is, the valid range of "HowMuch", what the returned status codes are... well, you're off to StackExchange to see if anybody's managed to figure it out.

      This is also the current state of the majority of the "documentation" at pear.php.net (generated automatically, from equally bad source comments). I especially like when they say that a certain package has been deprecated without specifying what is replacing it.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    33. Re:Documentation Shitty so Developers Turn to Web by maxwell+demon · · Score: 1

      I think one of the big culprits here is generated documentation.

      Full Ack. Whenever I see that a project uses Doxygen, I can guess the documentation is close to useless. And I never failed with this prediction.

      To all developers out there: Doxygen does not produce documentation. It only produces a reference.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    34. Re:Documentation Shitty so Developers Turn to Web by Tablizer · · Score: 1

      One of the most annoying things about the MS API documentation is all the unexplained dependencies.

      This is part of how MS locks you into their stuff: everything eventually depends on proprietary shit. The documentation is only a symptom.

      If you try to write an OSS version, you go nuts trying to work around the propriety parts without breaking the non-proprietary parts.

    35. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Man, you guys have it hard, say what you will but:

      DuckDuckGo "java 1.7 api" or "hibernate 4.1.9 api" will dump me right in the documentation page, or you know, I can just hover over it in Eclipse and hit F2. If that's not enough Ctl-click goes right into the actual source code.

      Oh, you don't usually have your source code attached? I do, "mvn -Declipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true" will do it. Or now, with the newer Eclipse versions, right click "Import Maven Project from POM". That sets up the entire project, downloads all dependencies, attaches Javadocs and src jars and anything else you'd want out of project set up.

      I still use SO from time to time, but not because of lack of good documentation.

      The rest of you may now commence with the Java hate.

    36. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      What you get from MSDN must be read like a lawyer parsing the law books

      Code must be written like a lawyer parsing the law books. Details matter. Accept it.

    37. Re:Documentation Shitty so Developers Turn to Web by SlippyToad · · Score: 1

      I've always been fond of the reserved parameters of function calls, where you have to put a fucking zero in regardless of the fact that it does nothing and apparently is just a placeholder.

      --
      One day I feel I'm ahead of the wheel / the next it's rolling over me / I can get back on / I can get back on
    38. Re:Documentation Shitty so Developers Turn to Web by Applekid · · Score: 2

      The best usage for StackOverflow answers, in my opinion, is basically as a "see also" cheat sheet. Phrase a question in English, with details, in Google and you might find one already there. Else, post it and someone will give an answer with the magic words to follow up on.

      Someone wanting to learn about security in Windows might not know what a token is, a casual DBMS user might not realize Oracle can do tree walks with some very non-standard SQL without having to write stored code, someone might not know they need a red-black tree to elegantly solve their particular problem.

      It's the place I go when there I don't know things and I don't know what exactly I don't know. Armed with what I know I don't know, I can then do further research to do things the right way, although many I work with^W^Wknow will just stop right there and copy/paste teh codez, to their own peril.

      --
      More Twoson than Cupertino
    39. Re:Documentation Shitty so Developers Turn to Web by Lonewolf666 · · Score: 1

      IMHO MSDN could use a bit more context and more code examples. Sometimes they seem to assume the reader has a good deal of background knowledge in Microsoft technologies to start with.

      Current example from my own job:
      We have a C# program, consisting of an executable with a bunch of DLLs also written in C#. When started, that program should check itself against some kind of hash to ensure it was not corrupted by something like a defective storage medium. Defending against hackers is not a requirement, we are only concerned about randomly flipped bits and bytes.

      Someone suggested code signing, but I have not found out yet from MSDN how to use the signing mechanism to check if the files have been changed. Stackoverflow has at least some suggestions, although I have not found a really convincing one yet. As a semi-newbie in .NET, I'm still struggling with that one. Better documentation of code signing in .NET and what exactly it does might help.

      Another issue for people that don't speak English is that Microsoft is frequently using automated translation for MSDN articles these days. The quality is perhaps not quite as bad as Google Translate, but it comes close. Fortunately, my English is good enough that I can just switch to the original version.

      --
      C - the footgun of programming languages
    40. Re:Documentation Shitty so Developers Turn to Web by icebike · · Score: 1

      That's hardly an excuse for writing sparse and opaque documentation.

      --
      Sig Battery depleted. Reverting to safe mode.
    41. Re:Documentation Shitty so Developers Turn to Web by GigaplexNZ · · Score: 1

      The Microsoft documentation also doesn't mention the known bugs. Oh how that annoys me...

    42. Re:Documentation Shitty so Developers Turn to Web by Lonewolf666 · · Score: 1

      How good that reference is depends on the developers.
      I'm working on a .Net project that uses Doxygen, and you see clearly which developer has taken the time to put some explanation in the "summary" part of the comments and who hasn't. If the explanation is there, the reference can be quite helpful. If not, you get the equivalent of the throbTheWangle example a few posts back.

      --
      C - the footgun of programming languages
    43. Re:Documentation Shitty so Developers Turn to Web by mpilsbury · · Score: 1

      Sometimes, not always, this is the only reasonable documentation that can be written,

      If throbTheWangle is a good name, perhaps a self-explanatory name, for a function, then there's little more to say about it. It may be very easy to understand in the context of the complete API, and other documentation. However you can't not document it. That would invite understandable criticism.

      There are other circumstances where there's lots more to say, and in that case the documentation should be more expansive.

      An API can quite easily, and reasonably, span both extremes. The documentation should say as little or as much as is needed about a particular API, and not feel compelled to conform to inappropriate conventions.

    44. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Do you work for Blackberry?

    45. Re:Documentation Shitty so Developers Turn to Web by WuphonsReach · · Score: 4, Interesting

      Things also go missing. You will find something this week, only to find it missing with the next update to the website.

      This is their biggest sin by far in terms of documentation.

      Used to be that their URLs were nice, short and made sense. Then they rewrote everything and broke all the URLs just so they could do some weird frame in a frame nonsense that went against most web UI standards.

      The suits in charge of the documentation web at MS are clueless, each one wants to put their own stamp on things by rewriting everything during their tenure.

      I gave up trying to bookmark anything at Microsoft.com a decade ago (also about the point I started moving away from Microsoft for all software where possible). Instead, if it's absolutely vital reference documentation, it gets printed to a PDF file and stored locally.

      They're not the only sinners in that regard, way too many other companies around the web constantly shuffle their documentation URLs around, breaking all the old links.

      --
      Wolde you bothe eate your cake, and have your cake?
    46. Re:Documentation Shitty so Developers Turn to Web by WuphonsReach · · Score: 2

      And you're fucked when they change all the URLs a year from now. You know, just in case you decided to document in your code base where you got that calling syntax from, or a link to further reading on an esoteric call.

      --
      Wolde you bothe eate your cake, and have your cake?
    47. Re:Documentation Shitty so Developers Turn to Web by WuphonsReach · · Score: 1

      Java has that stuff too... at which point you throw AspectJ or some sort of code-injection at it and make all the template / boilerplate code go away.

      Basically, if you have a function which needs to be logged, you can just name it a certain way so that the Aspect can match it, or you can annotate it with @SomeAnnotation. Either way, it eliminates a ton of boilerplate code (cross-cutting concerns).

      Not sure what the equivalent in C# or C++ is.

      --
      Wolde you bothe eate your cake, and have your cake?
    48. Re:Documentation Shitty so Developers Turn to Web by crazycheetah · · Score: 2

      The number one thing I end up on StackOverflow for is Win32 API, which you don't list. There's a few good references out there, but not really any good "official" references. MSDN helps understand everything on a deeper level (more than sometimes deceptively), but it's just not realistic at several points compared to looking on StackOverflow and other sites along those lines. Furthermore, there's several elements of the Win32 API, the best reference that I find is from StackOverflow.

      Otherwise (maybe a couple other exceptions if I really tried to dig my memories about it), I can agree with your point. I've been doing a lot of SQLite coding lately for my current project at work, and the SQLite website is pretty much my only real documentation I bother going to--the SQLite website is just easier than anything else.

    49. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Mmmmm, no. Not in my [recent] experience.

      In the days of Visual Studio 6, I remember the documentation to be quite extensive and helpful. There were examples, there were guides, error codes, there was enough information that I didn't need a third party help source.

      Then it went online.

      It is a wonderful thing to be able to update your documentation to always be current, but it breeds an air of complacency regarding the present quality--we'll make it better, later. Since circa 2000, it has all been downhill, becoming less and less helpful with each version. Maybe they are on an upswing with the 2012 stuff, I don't know, I've been away from the MS stack for a few years now, so I admit my experience may be a tad old, but in 2010 it was downright bad. I still use the VS6.0 documentation as the gold standard for documentation quality.

    50. Re:Documentation Shitty so Developers Turn to Web by crazycheetah · · Score: 1

      I can typically agree with this.

      If I'm just looking up a single API call or two, MSDN is typically enough. Maybe I end up on StackOverflow, etc. if that fails and I can't figure out why on my own without too much effort, but MSDN is typically first and last.

      However, if it is some odd part of the Win32 API that requires a significant set of functions in specific orders, and I'm not well versed in that specific set of functions, I end up at StackOverflow or the like first and MSDN second. Jogging my memory--it's been a while since I wasn't even remotely familiar with the parts I've ended up using--I recall working with COM with MinGW, "docking" a window to the side of the screen, and some others putting me in this position when I first began needing that information. Typically, though, StackOverflow and the like is a "Just give me an example that I can read and then look up on MSDN for what the hell I'm doing." All that followed by messing around with code and typically having to look up other pieces that those completely missed. I think that matches what you're saying, though.

      Either way, the Win32 API is where I use StackOverflow more than any other API, though. (Except there are a couple of odd libraries I code with that I wish there was more information on the likes of StackOverflow for, because I instead spend hours reading header files, experimenting, ending up rebooting, etc., repeat until I maybe get what they're on about with their obscure descriptions.)

    51. Re:Documentation Shitty so Developers Turn to Web by SolitaryMan · · Score: 1

      So true it hurts :)

      In our codebase method/function documentation is mandatory. I admit that this is how I document 90% of them because most often it is bloody obvious what it does and what the parameters are.

      --
      May Peace Prevail On Earth
    52. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Miss some casual reference and the whole API call fails. Or worse, it almost always works, but
      fails inexplicably on odd numbered Tuesdays.

      Or miss something that isn't even mentioned in the API, and that you need to go over to TheOldNewThing or some other site to find out, like that certain calls require specifically aligned inputs.

    53. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      oh noes! reading documentation requires... reading!

    54. Re:Documentation Shitty so Developers Turn to Web by PCM2 · · Score: 1

      One of the most annoying things about the MS API documentation is all the unexplained dependencies.

      I've noticed this even when trying to do simple things -- such as whipping up a quick VBA macro for use in Word.

      My question, though, is how do you think Microsoft should do it? Those structs exist, they need to be documented ... isn't hyperlinking to a page of documentation the most efficient way to achieve that?

      --
      Breakfast served all day!
    55. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      I call this "content-free documentation" - it's like they turn it over to the new guy, who has no idea what anything means, so he just re-arranges the words and they call it documentation.

      What would be REALLY helpful is when a function takes a non-primitive parameter (e.g. your Wangle handle), it should include a "see also" section that tells you what functions might give you that handle: OpenWangle(), CreateWangle(), GetSharedWangle(), etc

    56. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Yeah, like trying to get a clue about GSSAPI.

    57. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Tell them to look up the URL on MSDN, rather than pasting an opaque URL.

      Do you expect Stack Overflow URLs to be permanent? You may be disappointed...

    58. Re:Documentation Shitty so Developers Turn to Web by Beeftopia · · Score: 1

      It's the difference between a tutorial and a reference.

      A tutorial tells you how to do something. "How do I balance the wheel on this car?"

      A reference simply describes the tools in detail. A reference will just describe the wrench, the weights, the balancing machine, the readouts on the balancing machine.

    59. Re:Documentation Shitty so Developers Turn to Web by mikael_j · · Score: 1

      Well, MSDN does sometimes cover how to balance the wheels on your car, it's just that they either bury it as a random bare-bones example that's hard to find (and still requires you to dig through the docs and the internet to find how to build the real-world code and what bugs they forgot to mention) or they give you a way too generic solution which takes hours to sort through (sort of like describing how to balance the wheel on your car by giving you detailed instructions on every step of the process with the assumption that your car may just as well be an aircraft carrier or a helicopter and your "wheel" may actually be a propeller or a rotor, and of course that you don't understand what a wrench is or that it should be held and not forcefully inserted into your nose. Of course, they'll still leave out the part on balancing a wheel on a large truck which is what you actually want to do).

      --
      Greylisting is to SMTP as NAT is to IPv4
    60. Re:Documentation Shitty so Developers Turn to Web by datavirtue · · Score: 1

      We have the answer. Look at PHP's documentation. Clear and simple with user comments and code.

      --
      I object to power without constructive purpose. --Spock
    61. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Well, I have visited many MSDN pages, and most all currently do, if needed, indeed have a link to a page describing the needed structure(s). Mind you, those structures could be used by several other functions.

      My own pet peeve is that most mentioned constants are only referred to by name, with no actual values described anywhere. Worthless.

      Yes, I mostly end up with doing a google for the constants name, only to find other peoples work.

      As for context ? It annoys me to, for example, read about a certain function, without it ever mentioning that its result should be discarded by using a specific other function. If you do not google for (other peoples) example code and miss such a "detail" its memory-leaks galore.

      And than the problem that there is no mentioning about which DLL version certain functions belong to/first appear in. If you want compatibility you need to check every possibly used version of a DLL yourself.

      All-in-all those MSDN pages are handy when you are using it as a reference for something you already know (but want to make sure of), not so much if you have yet to develop that knowledge ....

    62. Re:Documentation Shitty so Developers Turn to Web by tFunc · · Score: 1

      This. And the attitude of "any %^(@#& can write documentation".

    63. Re:Documentation Shitty so Developers Turn to Web by shutdown+-p+now · · Score: 1

      Used to be that their URLs were nice, short and made sense. Then they rewrote everything and broke all the URLs just so they could do some weird frame in a frame nonsense that went against most web UI standards.

      Here's a typical MSDN URL as of today:

      http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx

      Problem is, they only work like that for .NET. All Win32 stuff still looks like hashed titles.

    64. Re:Documentation Shitty so Developers Turn to Web by shutdown+-p+now · · Score: 1

      Win32 API is proprietary by definition - it is specific to Windows. Dependencies are completely irrelevant here; the moment you define WinMain as the entry point, your app is not portable.

      But you know what? You don't have to do that. VC++ still provides the C and C++ standard libraries. And there's still wxWidgets, Qt etc.

    65. Re:Documentation Shitty so Developers Turn to Web by xelah · · Score: 1

      I think a big part of it is that StackOverflow answers the questions that people actually ask, whereas documentation tends to answer questions like 'What does the setBackgroundColour function do?' with the answer 'Sets the background colour'. Developers writing documentation tend to plunge in to systematically describing details. Worse, there's usually a lack of description of high-level conceptual structure (which you probably won't get from StackOverflow). I've lost count of the number of software projects/products' websites which plunge in to detail change logs, announcements, version numbers, etc., whilst missing out the one most vital piece of information: a one or two sentence description of what it actually does.

    66. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Maybe it's a culture clash? Maybe they think people still take a course or RTFM before they start coding, which is just impractical nowadays. What coders want is a way to get started fast, without having to read through stuff, and then get easy to find documentation that comes with its own context when they need it.

    67. Re:Documentation Shitty so Developers Turn to Web by hesaigo999ca · · Score: 1

      Yes, something that has happened to me at least 20 times with the last 12 years.

    68. Re:Documentation Shitty so Developers Turn to Web by Z00L00K · · Score: 1

      Add to it the fact that Microsoft sometimes don't specify when some function call isn't really implemented, it's just there but nothing happens, not even an error status returned.

      "Lights are on but nobody home" syndrome.

      This was common in the Windows Mobile API at least.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    69. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      I think you missed the part where it mentions that it does a google search to find its links. It does not require a permanent URL now nor a year from now.

    70. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      True. And their search engine sucks at searching their own documentation. When I want to find an MSDN article, I use Google, not the integrated worthless search, and I find things you can't find on the MSDN site alone!

    71. Re:Documentation Shitty so Developers Turn to Web by djdanlib · · Score: 1

      I find it's more like:

      HRESULT WINAPI throbTheWangle(_In_ const void *lpPackedWangle, _In_ WGLTHREF HowMuch)

      where WGLTHREF is a struct with its own equally dense description full of UINT8s and ENUMs etc on another page, and there's no specification in sight to the Wangle packing specification, just a note that it's packed according to the Wangle packing specification. This happens whenever I want to call a Microsoft API, and then I have to figure out for myself how to translate that to C#. That's when I wind up on a site like StackOverflow (where people get it "figured out" with some obscure bug that surfaces later) or pinvoke.net (where the docs are usually too incomplete to be useful).

      This is the problem with MSDN documentation. But we've got it good compared to other language developers, I guess...

    72. Re:Documentation Shitty so Developers Turn to Web by djdanlib · · Score: 1

      I suspect it's largely automated. It could easily be generic stubs generated by automatic code parsers, with a few comments written by the one severely overworked employee/volunteer (depending on the language) who's been tasked with documenting these things. That would really explain a lot.

      See also:
      * Javadoc
      * POD
      * pydoc
      * phpDocumentor
      * Doxygen
      * XML comments in C#/VB

      It's easy to use these tools, and difficult to produce quality output.

    73. Re:Documentation Shitty so Developers Turn to Web by Geeky · · Score: 1

      Spot on.

      A clear example is worth a ton of official documentation. Someone has to read the real documentation, but for most of us, most of the time, finding an example where someone has done something similar is all we need. I'll often start with an example, then backtrack over the official documents to make sure I understand how the example is working and whether it's a "good" example - i.e whether it's using the API/function/whatever correctly. If it's complex, I'll try to cross reference several different examples from different sites.

      The one single thing that would improve most official documentation is a clear, worked example of what's being documented, to indicate the best practice for that particular function.

      --
      Sigs are so 1990s. No way would I be seen dead with one.
    74. Re:Documentation Shitty so Developers Turn to Web by maxwell+demon · · Score: 1

      Of course a good reference can be helpful. However it is no substitute for proper documentation (just as even the best documentation is no substitute for a proper reference). The only exception to this rule are libraries of more or less independent functions (like math.h).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    75. Re:Documentation Shitty so Developers Turn to Web by sjames · · Score: 1

      If the documentation didn't read like:

      function jiasghfquiagh9&TYdujbfkihubfo( int ijbf8qwefhjqefqwnf, string *jkqwbfoqfhblqnfqwofhqwubfqui, double hbgfqwfbqkqj) Call jiasghfquiagh9&TYdujbfkihubfo when you want to jqwbfiqwbfn the jkasbfiyqbd so the kajsbfqbfkj won't jkabnfcoabnfjlawndal.

      Meanwhile providing absolutely no context, not even a hint of when I might want to do that or why it might be better not to. Oh, and it turns out it doesn't actually perform the documented action in all circumstances anyway, but that's not documented.

    76. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      and this was always met with a "if you insist..." reaction

      I'd LOVE that kind of reaction :( I get told there's no time...ever... I don't even get time to finish it, and like you, I like to play with a UI before considering it "finished"

    77. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      Microsoft has docs that tell you most of what the function is, but not enough info to use it without experimenting or using Google.

      For example, many of their docs tell you that a particular parameter/argument is an index. But too often they don't tell you whether the index starts from zero or one. And that's a very important thing to know.

      Worse are Microsoft's own forums where they have their MVPs from China/India/etc who post answers to questions that are irrelevant/unhelpful or plain wrong. They seem to be posting answers to meet some performance target rather than to actually help people.

      StackOverflow is also full of people providing wrong answers to questions on Microsoft stuff. But I see that as a result of Microsoft's crappy documentation - those people are using halfbaked "solutions" worked out through trial and error because it kind of works. Even though it's not the right answer.

      I tend to get better quality answers for OSS stuff (at least for things I need to ask questions on).

    78. Re:Documentation Shitty so Developers Turn to Web by Anonymous Coward · · Score: 0

      What I've increasingly run into in MSDN doc web pages is a lack of cross-ref HTML links. So yes, you need info on these structures, and there are no links to them!

  2. Blame Google by Anonymous Coward · · Score: 5, Insightful

    Whenever I have a problem, I google it, and StackOverflow is always in the top of the results. If Microsoft want me to use their documentation they better make sure google indexes it in a way than matches my queries.

    1. Re:Blame Google by gl4ss · · Score: 3, Insightful

      Whenever I have a problem, I google it, and StackOverflow is always in the top of the results. If Microsoft want me to use their documentation they better make sure google indexes it in a way than matches my queries.

      ..and when they do that, better make fucking sure they're not doing an annual switching around of documentation site urls during that time, landing you on a wild goose chase - only to find documentation that is vague about the answer for political reason or documentation that is just a brochure of the sdk with promises about what the sdk does but not actually telling how, why and what actually works.

      AND I DON'T FUCKING WANT TO ANSWER A QUESTIONNAIRE ON MY FIRST FUCKING VISIT ON YOUR FUCKING DEVELOPER SITE. how the fuck am I supposed to know if I found what I came looking for?? (Nokia used to run these quizzes every 6 months. fucking annoying - especially when it was an indication of that they were putting a lot of money into their dev stuff but not getting much out of it). and I most definitely don't want a fucking pdf essay 10 pages in length that _might_ have the answer(but more probably has just lies about what they thought the api would behave like).

      but yeah, stack overflow comes up so often on "how to do blabla on blebleble" things that it's where devs quite often end up. and why shouldn't they, if the answer is right there or a link to an answer. oftentimes it's more current than actual docs anyways.

      a rather important aspect of this whole "getting information from" is that most devs are not asking questions and receiving answers - they're reading other peoples questions and answers to them because it's quite rare to have a really unique installation problem, a rare api bug that nobody else hit or a rare question about how to get some layout engine xyz to behave in ysz way. so it's not about being lazy, it's about finding information and saving time, not getting other people to do the work for them.

      --
      world was created 5 seconds before this post as it is.
    2. Re:Blame Google by DutchUncle · · Score: 1

      And that their page actually has some content on it instead of cross-referencing some other MSDN document that I can't get to.

    3. Re:Blame Google by ByOhTek · · Score: 1

      I'd say that's about right.

      People Google, SO usually comes up first. If I'm fairly API specific, I can generally get something from the manufacturer page. For example, if I have the full path to a calls (or simply a namespace) - I usually get the Microsoft (C#) or Oracle (Java) documentation initially.

      About the only time I go and look at the documentation directly is/was in Python, PHP, and LibSDL, who managed to have good organization to their stuff, compared to a lot of other groups. Though for examples in the document, I'd only complain about Java and LibSDL, and in both cases, the descriptions are usually sufficiently clear, except when the quirks aren't mentioned in Java.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    4. Re:Blame Google by ByOhTek · · Score: 2

      At least it's not full of Expert's Exchange any more. Though the trick with that one, rather than pay, is just keep scrolling down, after a bunch of idiotic links, you'll see the answers they tried to hide below what looked like a footer.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    5. Re:Blame Google by Anonymous Coward · · Score: 0

      I guess it depends on how you construct your query and whether it is specific to the API you are looking for or is a general "how to". For example most of my API documentation queries are very specific - such as this:
      site:msdn.microsoft.com DhcpRequestParams
      This will give me the exact documentation I want from the official source. But if you wanted to be able to query like this:
      "How do I get DHCP parameters in code from Windows 7"
      then, yes, you are going to get a lot of unofficial sources and most of the results will have nothing to do with what you wanted.

    6. Re:Blame Google by geminidomino · · Score: 5, Insightful

      Only if you come from Google (or spoof your referrer to come from Google). They did that to evade de-listing for "deceptive indexing" or whatever.

      Go to Expert Sex Change from DuckDuckGo or Qrobe, e.g., and you'll still find the answers behind their crappy little paywall.

      How the hell do they even still exist, in a world with StackOverflow, anyway?

    7. Re:Blame Google by cruff · · Score: 1

      If Microsoft want me to use their documentation they better make sure google indexes it in a way than matches my queries.

      Perhaps you should switch to using Bing, then your query responses might match up with what Microsoft wants? :-)

    8. Re:Blame Google by Joce640k · · Score: 1

      ..and when they do that, better make fucking sure they're not doing an annual switching around of documentation site urls during that time, landing you on a wild goose chase

      Also don't send me to an intermediate page that pops up a window: "Warning: The contents of this page are unencrypted, are you really 100% sure you want to read the Microsoft documentation? (Y/N)"

      (or whatever that damned message is that appears every single time I go from Google to MSDN...)

      --
      No sig today...
    9. Re:Blame Google by Anonymous Coward · · Score: 0

      I was elated to discover I could add ExpertsExchange to a black list in google. I never see them any more. I might have done it with MSDN as well, since I occasionally got their pages when trying to remember what the function is to insert something into a set or whatever (I switch between 3 languages, and they all have slightly different ways of doing exactly the same thing)

    10. Re:Blame Google by ByOhTek · · Score: 1

      But he's saying that "if microsoft wants" rather than that he wants the microsoft data.

      Generally, if I want something in .NET from the microsoft resource, I'll google the class/namespace path. Same with java/oracle. Otherwise I expect I'll get Stack Overflow or someone's blog. Fortunately, that makes it easy to get what I want, because I generally want one of those two categories, specifically.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    11. Re:Blame Google by LordLimecat · · Score: 2

      Solution: Stop using IE.

    12. Re:Blame Google by Anonymous Coward · · Score: 0

      FYI: You've just effectively demanded that Google should open up their massive database of search queries to content producers (perhaps for a fee, but that won't really protect privacy).

    13. Re:Blame Google by KermodeBear · · Score: 3, Informative

      http://www.google.com/reviews/t is the page you can use to block a site from Google's search.

      --
      Love sees no species.
    14. Re:Blame Google by cbhacking · · Score: 1

      The trick also works with Bing. I'm not sure why other search engines would let them get away with it.

      --
      There's no place I could be, since I've found Serenity...
    15. Re:Blame Google by MightyYar · · Score: 3, Interesting

      If MS's built-in search worked nearly as well as Google, we wouldn't have to Google it. The sad thing is that I even use the Google search engine to search on MS's site. Even sadder is that Bing results aren't half bad, so they already have the tech in-house.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    16. Re:Blame Google by Anonymous Coward · · Score: 0

      (I switch between 3 languages, and they all have slightly different ways of doing exactly the same thing)

      Only 3? Poser.

    17. Re:Blame Google by triffid_98 · · Score: 1

      And that their page actually has some content on it instead of cross-referencing some other MSDN document that I can't get to

      ..or wants you to pay for answers (expert-exchange),
      ..or has a huge list of questions with almost no answers
      ..or demands that you sign up to see anything on their site if it detects you're not a search engine crawler.

      good times...

    18. Re:Blame Google by Anonymous Coward · · Score: 0

      If Microsoft want me to use their documentation they better make sure google indexes it in a way than matches my queries.

      Perhaps you should switch to using Bing, then your query responses might match up with what Microsoft wants? :-)

      Fun anecdote: when Microsoft was running their "try a search in both Google and Bing and pick which results are better" campaign, I used a search I had performed recently that was intended to bring up the MSDN page for some .Net something or other. Google returned the MSDN page I was looking for on the first page of results, Bing didn't have a single MSDN or Microsoft link anywhere on the first page.

    19. Re:Blame Google by T.E.D. · · Score: 1

      You've got that backwards. If Microsoft makes their documentation more useful than StackOverflow, then it will float to the top of your typical Google result on its own.

    20. Re:Blame Google by thomasw_lrd · · Score: 1

      Whenever I have a problem, I google it, and StackOverflow is always in the top of the results. If Microsoft want me to use their documentation they better make sure google indexes it in a way than matches my queries.

      ..and when they do that, better make fucking sure they're not doing an annual switching around of documentation site urls during that time, landing you on a wild goose chase - only to find documentation that is vague about the answer for political reason or documentation that is just a brochure of the sdk with promises about what the sdk does but not actually telling how, why and what actually works.

      AND I DON'T FUCKING WANT TO ANSWER A QUESTIONNAIRE ON MY FIRST FUCKING VISIT ON YOUR FUCKING DEVELOPER SITE. how the fuck am I supposed to know if I found what I came looking for?? (Nokia used to run these quizzes every 6 months. fucking annoying - especially when it was an indication of that they were putting a lot of money into their dev stuff but not getting much out of it). and I most definitely don't want a fucking pdf essay 10 pages in length that _might_ have the answer(but more probably has just lies about what they thought the api would behave like).

      but yeah, stack overflow comes up so often on "how to do blabla on blebleble" things that it's where devs quite often end up. and why shouldn't they, if the answer is right there or a link to an answer. oftentimes it's more current than actual docs anyways.

      a rather important aspect of this whole "getting information from" is that most devs are not asking questions and receiving answers - they're reading other peoples questions and answers to them because it's quite rare to have a really unique installation problem, a rare api bug that nobody else hit or a rare question about how to get some layout engine xyz to behave in ysz way. so it's not about being lazy, it's about finding information and saving time, not getting other people to do the work for them.

      Why reinvent the wheel? That was always my thought.

    21. Re:Blame Google by martas · · Score: 1

      That's why I banned Expert Sex Change from my google results years ago. Say what you want about information bubbles, but sometimes personalized search results can be nice.

    22. Re:Blame Google by squiggleslash · · Score: 1

      I get a message saying they've discontinued the site blocking service. Sad squiggleslash is sad.

      --
      You are not alone. This is not normal. None of this is normal.
    23. Re:Blame Google by SlippyToad · · Score: 1

      If I get an Expert's Exchange hit on my search, I just ignore it. Worse than useless.

      --
      One day I feel I'm ahead of the wheel / the next it's rolling over me / I can get back on / I can get back on
    24. Re:Blame Google by SlippyToad · · Score: 1

      No. For example of why this is pointless, right after Bing was introduced, I was searching for a Microsoft product. I can't remember if it was a .net download or what.

      I binged whatever the product was, and I had to go all the way to the second page of results to get the download.

      I googled it. The download was the first link.

      Bing is a dead product for a reason. It sucks. Try as they might, Microsoft are just no good at search.

      --
      One day I feel I'm ahead of the wheel / the next it's rolling over me / I can get back on / I can get back on
    25. Re:Blame Google by _xeno_ · · Score: 1

      I was going to say, the last time I tried to use Google's site blocking feature it didn't fucking work. Now I know why, they've "discontinued" it. Oh well, it was the only thing that made some searches readable.

      --
      You are in a maze of twisty little relative jumps, all alike.
    26. Re:Blame Google by spitzak · · Score: 1

      I do this too. I long ago gave up on having the search box on MSDN ever go anywhere I expected, and just type the same query into google and pick the msdn link.

      Surely they could improve this. Just copy some tech from bing or something...

    27. Re:Blame Google by Anonymous Coward · · Score: 0

      Whenever I have a problem, I google it, and StackOverflow is always in the top of the results. If Microsoft want me to use their documentation they better make sure google indexes it in a way than matches my queries.

      What do you mean "if they want me to use their documentation"? It's useless because of Google results order??
      You are confusing product documentation with an example driven community FAQ. They have entirely different formats and complement each other.

      This headline is _STUPID_. You could also say "Developers Get X% of Their Training From Online Tutorials"
      Who cares what the statistic is? Instructor lead training is important and serves a different purpose.

    28. Re:Blame Google by n30na · · Score: 1

      This is obviously more work, but you CAN always fliter out specific content using the - operator, such as -site:experts-exchange.com, or similar. Obviously an inferior solution, but better than nothing if you need to cut some things out.

      You probably already knew this though.

    29. Re:Blame Google by toddestan · · Score: 1

      They probably don't care about getting ranked highly by smaller players like duckduckgo, which is perfectly fine by me as I don't miss them in my results.

    30. Re:Blame Google by Tooke · · Score: 1

      If you're on chrome, you can get the Personal Blocklist extension (made by Google). I don't know if there's an extension for firefox though.

      --
      Anybody want a peanut?
    31. Re:Blame Google by adolf · · Score: 1

      I think the Firefox extension is called Greasemonkey, which requires luck, foresight, and ability as a prerequisite.

      Myself, I just look at the experts-exchange links, and allow them to bolster my hatred of what some people want the web to become: I've been consuming WWW for at least two decades, and it's not the same as it used to be largely because of folks like that who actively trying to break everything that was once good.

    32. Re:Blame Google by Anonymous Coward · · Score: 0

      Mod parent down. This feature has been discontinued (in the UK at least)

    33. Re:Blame Google by ByOhTek · · Score: 1

      I'd be sad, but it's been years since I've seen an expert sex change link in my google search results, so... meh.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    34. Re:Blame Google by ByOhTek · · Score: 1

      I was tempted to say I typically only use 3 languages...

      Willingly, that's true, but I need two more for work, and bash probably counts as well. On rare occasions I also drop down to C...

      damn.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    35. Re:Blame Google by serialband · · Score: 1

      They exist because they've been around long enough that the diehards remain on the site. There's a several people that seem to spend their waking hours on that site and have millions of points. Google also continues to index to them. It will take a few years for stack overflow to push them out of existence, since they've been around since the late 90s and have a large number of answers and users.

    36. Re:Blame Google by Anonymous Coward · · Score: 0

      How do you go to expert sex change from DuckDuckGo? It's one of the many sites they de-listed simply because people hate it. (...and that's one of the reasons I use DuckDuckGo most of the time.)

    37. Re:Blame Google by geminidomino · · Score: 1

      That was just an example, evidently a bad one. I don't use DDG myself, it was just the only "little-guy" search engine I could think of behind Qrobe.

    38. Re:Blame Google by Anonymous Coward · · Score: 0

      Dear users,

      We have discontinued offering the blocked sites feature for now. We continue to offer the Chrome extension for blocking sites, and will reconsider features for blocking unwanted search results in the future.

  3. These are two different use cases by Hentes · · Score: 5, Insightful

    Documentation and asking others for help when you get stuck complement each other. You can't really learn to use something completely new on Stackoverflow, and you can't predict all the ways people will screw up or misunderstand you in a documentation.

    1. Re:These are two different use cases by phixson · · Score: 1

      Well said!

    2. Re:These are two different use cases by Anonymous Coward · · Score: 0

      Um. Documentation definitely could include a list of common problems and their solutions. You'd still need StackOverflow for the long tail, but documentation today often doesn't even cover the head queries.

    3. Re:These are two different use cases by gnoshi · · Score: 1

      I think this is spot on.
      When I do a broad search on what I am trying to do, I almost invariably end up with StackOverflow. It's great: there are sometimes some good code examples, often people asking exactly the question in my mind, and a bit of discussion on the topic. Then, to get more context about the code involved, the classes, etc I will refer to the official reference material.

      I think this balance reflects that there is a small group of people who read the official documentation and work out how to do things, and then a much larger group of people who ask how to do those things on StackOverflow. The first group answers the questions of the second on StackOverflow so it essentially becomes a giant FAQ on the language or technology being discussed. When someone in the broader community wants to do something, they can search using keywords relevant to what they are attempting to do, and this will (unsurprisingly) match a question on StackOverflow; and indeed, in this case what they want is the answer to the question, not the reference documentation which may be related.
      (In practice, it is probably also that the first group writes books on the topic, a second group reads the books, and the question-askers are actually the third tier from the documentation).

  4. Microsoft docs by phantomfive · · Score: 4, Insightful

    I don't want to pay $36 to read the study, so I can't comment directly on it, but

    | Microsoft's MSDN website changes frequently, and is confusing to use (on some iterations of their website, on others it works better). Currently to find anything, you have to use the Bing search on their web page, and it doesn't always work well. I find myself using Google search to search for functions in MSDN, because I get better results.

    As a result, if something for Stackoverflow comes up in the search results ahead of the MSDN docs, I'll probably look at that one. From that, I hypothesize that if people are looking at Stackoverflow, it's because they've done their SEO better (and probably have more motivation to do SEO).

    --
    "First they came for the slanderers and i said nothing."
    1. Re:Microsoft docs by dkf · · Score: 3, Interesting

      Microsoft's MSDN website changes frequently, and is confusing to use (on some iterations of their website, on others it works better). Currently to find anything, you have to use the Bing search on their web page, and it doesn't always work well. I find myself using Google search to search for functions in MSDN, because I get better results.

      I have always used Google (in site-search mode) to find things on MSDN; it usually gives me exactly the right hit as the top one (even when I use the "wrong" search terms) and I can't remember the last time when it wasn't on the first page of results. Bing search has never worked as well for me. I have no idea why; it's not like the information is impossible for MS to index or something.

      However, Stack Overflow has some key advantages over a straight documentation search. You get worked examples, usually with community feedback as to which ones worked for them. You also get links to the right places to look in the docs. Finally, SO have a mechanism in place for handling dupes; Google like them a lot because they indicate clearly that a question asked one way is really the same question but asked in a different way. For a search engine that doesn't really understand very much at all, that's super-valuable info. (The downside of SO comes when there just isn't an expert around to answer questions on a particular topic; you can get a build up of unanswered questions that benefit nobody.)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    2. Re:Microsoft docs by i+kan+reed · · Score: 1

      Actually, it doesn't change frequently. What I've discovered is that it skins itself depending on where it got linked from, making web search results a crapshoot.

    3. Re:Microsoft docs by earlzdotnet · · Score: 1
      Very **VERY** frequently the biggest problems I see on MSDN isn't finding the documentation. It's finding completely inadequate or incorrect documentation

      Example: DefaultOverLoadAttribute -- "Indicates that a method is the default overload method" Wow, that's informative! And of course they don't give ANY links as to what the purpose of including this was, or saying when to use it

      I commonly will have questions on Stackoverflow asking for help understanding what the hell MSDN is trying to say. For instance this question It's a question asking "MSDN says this, but I see this. Why?" with the answer boiling down to "MSDN is very misleading"

      Or there is crap like DependencyProperty.RegisterAttached "here's a hint at what this does..." oh, btw, there's a magic naming convention we're not going to explain at all HAR HAR HAR

    4. Re:Microsoft docs by TemporalBeing · · Score: 1

      All very true.

      And of course, in some cases MSDN has zero documentation for stuff. For example, there's many instances of the Windows Scripting Host functionality where it is only documented in VBScript despite the fact that Microsoft fully supports JavaScript with WSH as well. So you have to turn to other sources to figure out how to do it in JavaScript if that's what you are using. (Yeah, it drove me nuts a few years back.)

      So now I use the MSDN search in Firefox, or use the "site:microsoft.com" feature in Google for MSDN specific stuff; but often I end up turning to the general web to find stuff. MSDN's internal search (provided by Bing) is absolute crap; and it's only been going down hill since somewhere around 2004. Yes, at one point you could actually find stuff in MSDN on Microsoft website; good luck now - it usually takes you through a maze of backwater portions of the site that don't give you any useful information - e.g. looking for C/C++ stuff but it only shows you C# or C++/CLI stuff.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    5. Re:Microsoft docs by RabidReindeer · · Score: 1

      Getting near the top of the SEO list isn't going to hurt, but the answer that actually resolves the problem is often not the first, second, or even third link I visit. Usually the cue that I'm doomed is when the links start going into foreign languages and I still haven't got an answer.

      I had a major gripe with MS documentation several years ago because it kept forcing Windows Mobile API reference pages on me back when they were pushing for mobile development. However, Microsoft generally does pretty decent documentation. So do others, like WebLogic (although Oracle's search engine is useless). For a long time one of my main go-to sites was TLDP.

      Vendor documentation, however, is mostly reference documentation, and specific examples for practical use are in short supply. Stack Exchange, on the other hand, is very much practical solution-oriented and will quickly slap you down if you stray.

      Still another approach can be seen at the JavaRanch. It isn't authoritative documentation like vendors provide, nor is it "git 'er dun!" immediate solutions, for the most part. It's a place where you can ask stupid how-and-why questions and - with any luck - gain some insight above and beyond the immediate problem.

      There are probably other classes of documentation resources beyond these three types, but those are the ones that came immediately to mind.

    6. Re:Microsoft docs by squiggleslash · · Score: 1

      SO probably does have better SEO, but you also need to consider the fact that "Windows API function to delete file" is more likely to be used as a phrase for a question, and thus appear as that sequence of words on Stackoverflow, than it's likely to appear in a documentation for whatever the devil it is you use to delete files programmatically on the Windows site.

      Of course, you're more likey to get a "sprintf(buffer, "DEL %s", filename); system(buffer)" type answer from Stackoverflow...

      --
      You are not alone. This is not normal. None of this is normal.
    7. Re:Microsoft docs by cyber-vandal · · Score: 1

      A company that allows error messages such as "Windows Update has failed with an unknown error" should be expected to have shit documentation.

    8. Re:Microsoft docs by gameweld · · Score: 2

      Information about the study is here (as in listed in summary):
      Documentation usage of Android Developers

      Lethbridge's study about rarely consulting and updating general software documentation is available here:
      How Software Engineers
      Use Documentation: The State of the Practice

      Robillard's study about problems with API documentation can be found here:
      What Makes APIs Hard to Learn? Answers from Developers

    9. Re:Microsoft docs by spitzak · · Score: 1

      Of course, you're more likey to get a "sprintf(buffer, "DEL %s", filename); system(buffer)" type answer from Stackoverflow...

      That is a great example of bad stuff you can get from Stackoverflow. When the only answer is something like this, I cannot tell whether it was posted by an idiot, or posted by a really smart person who knows that this is the *only* method available (but didn't bother to say this fact, because to him it is "obvious").

    10. Re:Microsoft docs by Yaur · · Score: 1

      Stupid answers attract down votes, so generally you are going to seen some sort of preface to the horrible answer. If not post a comment and you'll probably get an answer.

    11. Re:Microsoft docs by squiggleslash · · Score: 1

      Oh, ironically I picked an example where Google's first answer is actually Microsoft's documentation for the DeleteFile function. The second search result is from StackOverflow mind you...

      --
      You are not alone. This is not normal. None of this is normal.
  5. slashvertisement by Anonymous Coward · · Score: 0

    How is this anything other than an ad for StackOverflow?

    1. Re:slashvertisement by Anonymous Coward · · Score: 0

      It's not. It's just questioning whether traditional documentation sucks and inviting our discussion on the matter. Is there another Q&A site that should have been mentioned as well?

    2. Re:slashvertisement by mark-t · · Score: 1

      While I can see how it might be perceived as such, I might suggest that it may only be seen that way by people who haven't found the Q&A style of stackoverflow helpful at some point.

    3. Re:slashvertisement by Minwee · · Score: 1

      If you read the article, the official Android documentation is nothing but an ad for Stack Overflow.

    4. Re:slashvertisement by Richy_T · · Score: 1

      Android documentation is awful. It assumes a lot of domain knowledge that simply isn't there when you're getting started so you have to navigate through a maze of documentation just to start getting a skeleton you can hang things off. Fortunately, there are sample apps to pull apart (whereupon you will exclaim "why didn't they just say that?). There are also several terms that are used in ways that someone familiar with non-Android areas of IT would not recognize. Then there is the fact that for some ways, there is a pointy-clicky way of doing things and a programmatic way of doing things and almost no documentation to bridge the gap between the two (This is also the case for Microsoft's stuff though)

  6. First they should try to use the documentation. by Anonymous Coward · · Score: 0

    Once the programmer has to use his/her own documentation, then it'll get better.

  7. It's not the the docs are bad or not used by Megahard · · Score: 5, Insightful

    The problem is lack of usage examples and feedback. When you follow the API and your program doesn't work, the solution is to google your problem to find the solution from the 1000 others who have hit the same problem.

    --
    I eat only the real part of complex carbohydrates.
    1. Re:It's not the the docs are bad or not used by phantomfive · · Score: 3, Insightful

      When you follow the API and your program doesn't work,

      That's a pretty good indication that the docs are bad

      --
      "First they came for the slanderers and i said nothing."
    2. Re:It's not the the docs are bad or not used by mortonda · · Score: 1

      The problem is lack of usage examples and feedback. When you follow the API and your program doesn't work, the solution is to google your problem to find...

      ... your own post from 5 years ago asking exactly the same, unanswered, question. *sigh*

    3. Re:It's not the the docs are bad or not used by n7ytd · · Score: 2

      The problem is lack of usage examples and feedback. When you follow the API and your program doesn't work, the solution is to google your problem to find the solution from the 1000 others who have hit the same problem.

      If only there was a clear-cut way to tell Google, "Please hide all of the results that are on a forum with only one post in the thread". My 2nd biggest pet peeve about Googling for answers this way is the huge amount of search results asking the same question I have, with no answers.

      My #1 peeve is people taking a crack at answering the question with no understanding themselves about the problem. Answers like "I've never done this myself, but I think blah blah blah" or "Why would you want to do that? Boost already has a function that mostly solves this problem."

      And that is exactly why stackoverflow is great: these answers get voted down to oblivion and out of the way.

    4. Re:It's not the the docs are bad or not used by rk · · Score: 1

      I have a question just like that pending for a JPL-maintained library, except that it will be TEN years this November. :-)

    5. Re:It's not the the docs are bad or not used by Anonymous Coward · · Score: 0

      http://xkcd.com/979/

    6. Re:It's not the the docs are bad or not used by Anonymous Coward · · Score: 0

      When you follow the API and your program doesn't work,

      That's a pretty good indication that the docs are bad

      I think it's likely that you and the mods have zero experience with this subject.

      The most thorough and accurate documentation in the world will still be misinterpreted, PERIOD.
      The more confident you think I'm wrong - the more terse the documentation - the more right I am.

    7. Re:It's not the the docs are bad or not used by phantomfive · · Score: 1

      I think it's likely that you and the mods have zero experience with this subject.

      No, I definitely have experience with this subject, and lots of it. Nice try, though.

      --
      "First they came for the slanderers and i said nothing."
    8. Re:It's not the the docs are bad or not used by MadKeithV · · Score: 1

      When you follow the API and your program doesn't work,

      That's a pretty good indication that the docs are bad

      Or that the API complexity is beyond what's capturable in reasonable "what this call does" style documentation. This happens very quickly in modern OO designs that follow the SOLID principles, because absolutely nothing is completely "local". What I mean by that is that in order to fully understand a single API call or class, you also need to understand all its parameter types, its injected dependencies, its superclasses, in some cases its derived classes, etc. etc.
      Documentation of the type "what does this class do" or "what does this API call do" almost never captures the full complexity / possibilities of the system. What *you* want to do with that class may have specific effects in all those dependencies that cannot (and should not) reasonably be documented in the API call, but in the dependencies, but if you don't know where to look, you'll never find it.

    9. Re:It's not the the docs are bad or not used by phantomfive · · Score: 1

      Good documentation explains the structure of the api/program

      --
      "First they came for the slanderers and i said nothing."
  8. Useful documentation is rare by us7892 · · Score: 3, Interesting

    Useless busy-work after-the-fact documentation is overrated and plentiful.

    Useful documentation is rare.

    1. Re:Useful documentation is rare by PRMan · · Score: 1

      AKA Good tech writers are undervalued at almost all companies...

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    2. Re:Useful documentation is rare by Bigby · · Score: 1

      I see a lot of documentation, but most of it is useless. I don't care about the package structure or class diagrams. I can generate those on my own if I need them. I want a high level description of what was trying to be accomplished and why certain paths were chosen to solve the issue. That includes why other paths were not chosen.

      As far as API documentation...it is the best form of documentation around the development world. At least it gets to the point...parameters, exceptions, and return values. For something like JavaDoc, package-info.java needs to be used much more often.

      However, use cases are best searched for online. Optimally, all use cases are documented and regression testing executes them during every deploy. That way all problems, or potential problems, have an example. That would be optimal, but never really happens. Not unless a company and the developers are willing to spend the time to cover all the bases.

    3. Re:Useful documentation is rare by rwv · · Score: 1

      Useful documentation is extremely hard to write.

    4. Re:Useful documentation is rare by Kittenman · · Score: 1

      AKA Good tech writers are undervalued at almost all companies...

      Damn right. My wife is a tech writer, and finishes in her current position in about two weeks. Most of her exits (this one included) have come about because the employing company thinks, "hey, that looks easy - anyone can do that".

      On my side of the fence (tech) I usually meet the "Documentation - we'll get to that after release" or "Documentation - we don't need it, the system is so simple" mindsets....

      --
      "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
    5. Re:Useful documentation is rare by gbjbaanb · · Score: 1

      no, useful documentation is extremely boring to write, that's why the only people who can do it accurately (the dev) makes up a half-hearted, incomplete and minimalist page of information.

      It is possible to write good docs, if you use a BDD specification language then that can form the documentation of the API. If you use a TDD system, then that can form the documentation of example usage (and a reference implementation). All you have to do is format it so it can be turned into a doc page.

      Unfortunately, BDD isn't used, and TDD is auto-generated "test each method in isolation" so it solely tells you a tiny bit of information that is insufficient to show how the API as a whole is meant to be used.

  9. Stack Overflow is WIN by Anonymous Coward · · Score: 0

    I've found a lot of good information there.

    I feel bad that I never contribute.

  10. Learn to read documentation? by Anonymous Coward · · Score: 0

    I think so many minute details are skipped by using sites lack stack overflow.

    I learned to program unix by reading complete man pages from a BSD system, and then following that up with the documentation from the open group. If I'm going to use any library in a project of significant importance, to me or my employer, I'll read what the official documentation has to say - if available.

    Reading documention is a skill, just as important as being able to use a specific technology in your code.

    1. Re:Learn to read documentation? by Anonymous Coward · · Score: 0

      The downside of course is that it takes a **load of time to read the documentation and for the most part is a complete waste of time and effort. Why someone would spend literally several hours reading the documentation trying to figure out the reason his code is failing under some obscure combination of settings while having a handy repository of users asking the same question and getting the correct answer is plainly stupid, period.

    2. Re:Learn to read documentation? by jkauzlar · · Score: 2

      You're ignoring what stackoverflow is usually used for, which is to ask specific questions that aren't clear or aren't available in the documentation. For example, if you ask 'How do you use Bash?' or 'What does the -F option for ls do?' your question will most likely get deleted by a moderator or get downvoted out of existence, along with several angry comments that say 'read the f*&^ing documentation.'

  11. Vetted Examples by imnes · · Score: 4, Insightful

    With documentation you usually just get an API reference, and maybe a simple example. With community sites like Stack Overflow you get vetted examples and best practices from real world users. It's almost always more helpful than just a static reference.

    1. Re:Vetted Examples by Bigby · · Score: 1

      A good API reference is much better for input/output documentation when kept up-to-date. With a search on Stack Overflow, you rarely know the exact version of the API and could be misled as to the way something functions. API references are version specific and if kept up-to-date, give a firm answer to the basic functional questions.

    2. Re:Vetted Examples by Anonymous Coward · · Score: 0

      Examples and best practices are great for learning things for the first time. Programming books are another great source of these too.
      Otoh, API documentation is intentionally terse. It's for those who already know what they're doing and how to do it but have forgotten the order of the arguments or for those who know the language well and don't need bountiful examples.

      I think StackOverflow is the best when it comes to asking a specific question, but I also think there's a definite use for standard of API docs.

    3. Re:Vetted Examples by Anonymous Coward · · Score: 0

      Mod parent up, and it wasn't until recently they added a "Add Community" section for comments which for some reason they decided wasn't important enough to put on most older documentation.

      For example:

      What's New in the .NET Framework 4

      Note the obvious lack of any sort of scoring at the bottom in the comments.. You may find something useful there at a glance, but Microsoft would do itself a big favor by allowing voting on comments by registered accounts (as you see in stack exchange) and putting the damn comment section on EVERY documentation page they have.

    4. Re:Vetted Examples by Anonymous Coward · · Score: 0

      With documentation you usually just get an API reference, and maybe a simple example.

      I'd disagree. It's usually not a simple example, it's usually a "kitchen sink" example designed to show off the full range of abilities of the API, even when doing so obscures the main point of the API. For example, the most common use of the "tar" command is to extract the contents of a gzipped tar file, but I've yet to see a "tar" man page that includes that in their examples.

    5. Re:Vetted Examples by MadKeithV · · Score: 1

      With documentation you usually just get an API reference, and maybe a simple example. With community sites like Stack Overflow you get vetted examples and best practices from real world users. It's almost always more helpful than just a static reference.

      Or put another way: knowing all the components (documentation) doesn't necessarily mean you grok the system (stackoverflow).

  12. Re:What does StackOverflow run on? by gman003 · · Score: 4, Insightful

    A good coder will write good code even in a bad language. A bad coder will write bad code even in a good language.

    But let a good coder use a good language, and you'll get great code. Just don't let a bad coder use a bad language, else you get, well, 90% of the stuff in VB6.

  13. Not just StackOverflow... by Anonymous Coward · · Score: 1

    but from google. When I have a problem, 9 times out of 10, I will google the specific stack trace root, or the problem, and most of the time, StackOverflow is the first result.

  14. Information Aggregation by BradleyUffner · · Score: 2

    I know most of the answers I give out on StackOverflow are really just paraphrased MSDN documentation. StackOverflow just acts like a new aggregator in that sense I guess. It's not the source of information, but a place where information from other places comes together.

  15. Have a working bit of example code for everything by WillAdams · · Score: 1

    My biggest problem when trying to puzzle out how to do some bit of scripting is that there will be a huge wall-of-text, but no working minimal example of code.

    Given things like scripting rounded rectangles in a certain Adobe application being broken 'cause of a trailing space, one wonders if the developers could even create such.

    --
    Sphinx of black quartz, judge my vow.
  16. most doc sucks if it exists at all by Anonymous Coward · · Score: 0

    Especially for open-source libraries and languages. If the doc exists, it's often out of date, or incomplete with only the simple stuff documented. The examples and smaple code cover only the most trivial usage. We're left to either dig deeply into the implementation, or search the web for something similar. I would contend that a good developer is 10x effecient in googling, not just in code production.

  17. Unruly mashups? by six025 · · Score: 3, Insightful

    For some development problems it is far quicker to search sites like Stackoverflow for a question / answer / example relevant to your specific case than it is to read the official (often poor) documentation and figure out exactly how it is "supposed" to work.

    Basically, someone else did the work - possibly found some "gotchas" - and shared the fruits of their labour. Remind me how is that a bad thing? Isn't this exactly what the World Wide Web was designed for? :-/

    Peace,
    Andy.

    1. Re:Unruly mashups? by Bigby · · Score: 1

      A decompiler is sometimes the only or best documentation. You have to weigh your options.

    2. Re:Unruly mashups? by Anonymous Coward · · Score: 0

      Isn't this exactly what the World Wide Web was designed for? :-/

      As far as I can tell, it was invented for dirty jokes and MUDs. Then evolved into porn and World of Warcraft.

    3. Re:Unruly mashups? by ConceptJunkie · · Score: 1

      Yes, but it's also what you are paying for when you license an API to do something: documentation sufficient to use it.

      --
      You are in a maze of twisty little passages, all alike.
  18. Astroturfing Detected by TheSpoom · · Score: 2, Insightful

    All or nearly all of your comments are pro-Microsoft and anti-Microsoft competitors.

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
    1. Re:Astroturfing Detected by binarylarry · · Score: 5, Funny

      Don't worry, he's just making sure none of us get Scroogled.

      --
      Mod me down, my New Earth Global Warmingist friends!
    2. Re:Astroturfing Detected by DutchUncle · · Score: 1

      A lot of IT people feel that way too. It works, sort of, they know how to keep most users happy most of the time, and it's reliable at what it does. It's like fast food, or maybe a fast-casual chain restaurant. Children might even prefer its predictability. It has its place in the world.

    3. Re:Astroturfing Detected by Richard_at_work · · Score: 1

      I could mod you down, but I won't - I shall reply to you instead.

      If you look at my comment history, you will see a lot of pro Microsoft stuff there, but that doesn't mean I'm astroturfing or even linked to MS in any way other than being a .Net developer and satisfied Windows user.

      Having pro-something and anti-something else in your history doesn't mean anything more than you have a strong opinion on that something.

    4. Re:Astroturfing Detected by pixelpusher220 · · Score: 2

      Well to be fair, if you're Pro 'X' and anti-'people against X', you're still pretty much fully pro 'X'. And around here, that's more than beyond a reasonable doubt to convict and string you up on your .NET horse your rode in on! ;-)

      --
      People in cars cause accidents....accidents in cars cause people :-D
    5. Re:Astroturfing Detected by Kjuib · · Score: 4, Interesting

      It is one our test for hiring a new developer. "If you google for help and there are 2 links, stackoverflow and somethingexchange which one do you click on?" If they don't say stack overflow, then they haven't done enough real world work for us.

      --
      - Your stupidity got you into this mess, why can't it get you out? -Will Rogers
    6. Re:Astroturfing Detected by recoiledsnake · · Score: 1

      Lets pick on the few folks who don't believe in the Microsoft = automatically bad and Google = automatically good mantra, and lets chase them away calling them shills and astroturfers. And let the groupthink and echochamber rejoice. Eventually the haters and zealots get bored talking among themselves and they leave and you get an ever shrinking website with even more partyline moderation.

      --
      This space for rent.
    7. Re:Astroturfing Detected by mystikkman · · Score: 1

      All or nearly all of your comments are pro-Microsoft and anti-Microsoft competitors.

      I like to play the Devil's advocate on Slashdot.

      Mod me down and crucify and lynch me for thinking against the grain and not subscribing to the groupthink, I don't care.

    8. Re:Astroturfing Detected by cheater512 · · Score: 1

      Sorry I smiled when you said that children might even prefer it. :)

    9. Re:Astroturfing Detected by Anonymous Coward · · Score: 0

      passed :)

    10. Re:Astroturfing Detected by TheSpoom · · Score: 1

      First, you're not the grandparent. Second, you have a much lower UID. Either you're trying to make a point about being a fan of Microsoft (to which I have said nothing), or you forgot to log back into your astroturfing account.

      --
      It's better to vote for what you want and not get it than to vote for what you don't want and get it.
      - E. Debs
    11. Re:Astroturfing Detected by Richard_at_work · · Score: 1

      No, I was making a point that a comment history alone doesn't mean someone is astroturfing - it doesn't mean they aren't, but it also doesn't mean they are. It's entirely possible to have those views legitimately.

      I have no need for an "AstroTurf" account, as anything i have to say I will say it without hiding behind a sham account.

    12. Re:Astroturfing Detected by Frnknstn · · Score: 3, Funny

      That kind of depends on what help you need. For example, if you are looking for some facial feminisation surgery, you may find what you need at expertsexchange.com.

      --
      If it's in you sig, it's in your post.
    13. Re:Astroturfing Detected by Anonymous Coward · · Score: 0

      It is one our test for hiring a new developer. "If you google for help and there are 2 links, stackoverflow and somethingexchange which one do you click on?" If they don't say stack overflow, then they haven't done enough real world work for us.

      So I shouldn't pick http://gamedev.stackexchange.com/ when looking for game development related help? Seems there's quite a few domain specific sites in the stack overflow family, though I can only really attest to using gamedev and stackoverflow.

    14. Re:Astroturfing Detected by crutchy · · Score: 1

      what about if they say neither?

      if i need help with php, i don't google... i just type php.net in the address bar

      stack overflow is good sometimes, but there are a few sites that are good sometimes (depends on the problem). i've also found some gems on site point
      if you're googling, also depends a bit on the little summary under the search result link. they will probably differ a bit even if they are about the same issue. if one reads a little more intelligently than the other, and it is somewhere other than stack overflow, i'll click on it
      there are plenty of stupid questions and stupid answers on stack overflow, same as any forum site

      i guess companies have to cull resumes somehow, and such a question might seem ok for a survey question for applicants before they get to the interview process, but if you're spending time (and money) interviewing someone and you make your decision based on whether they use stack overflow or not, i would assume your staff base may be suffering from a tunnel vision if they all use stack overflow any time they need help.

    15. Re:Astroturfing Detected by ProzacPatient · · Score: 1

      Experts-Exchange? Well I guess I'm not getting hired then!

      On a more serious note I'm so glad Stack Overflow (and the rest of the Stack Exchange family) came along to single-handedly crush that P.O.S. Expert's Exchange website.

    16. Re:Astroturfing Detected by Bengie · · Score: 2

      I got expertexchange added to my Google block list. I haven't seen their results in a long while.

    17. Re:Astroturfing Detected by Anonymous Coward · · Score: 0

      somethingsexchange.
      you forgot the s.

    18. Re:Astroturfing Detected by Anonymous Coward · · Score: 0

      Nice. I'm going to add this to my list.

    19. Re:Astroturfing Detected by Austerity+Empowers · · Score: 1

      You must be new here. We've hated on Microsoft for 15 years, this has always been a pro-Linux/anti-MS community, it's about the only surviving constant. Some are weak, and now that Microsoft is lying on the floor bleeding, think we should let up, that perhaps they've learned their lesson.

      That's not a defect we all suffer from.

    20. Re:Astroturfing Detected by phantomfive · · Score: 1

      Ugh, these are the kinds of questions that tell me I don't want to work at a company.

      --
      "First they came for the slanderers and i said nothing."
    21. Re:Astroturfing Detected by Anonymous Coward · · Score: 0

      All or nearly all of your comments are pro-Microsoft and anti-Microsoft competitors.

      Jesus, are people allowed to have opinions here?

      So if someone's comments are nearly all left leaning, or anti-right leaning, we can label them a lobbyist and ignore them. Good to know.

  19. That's why Qt is awesome by jacksonic · · Score: 1

    It does the job, but over and above that Qt has excellent and thorough documentation. Trying to move to other frameworks can be frustrating when their docs are terse or missing entirely.

    1. Re:That's why Qt is awesome by loufoque · · Score: 1

      Who needs docs?
      Real men just look at the code.

    2. Re:That's why Qt is awesome by Anonymous Coward · · Score: 0

      Should be '+1 Redundant' for anybody has programmes Qt. The docs are so great, it's one of the few open source projects where I don't fall back to the source for documentation.

  20. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 0

    When using StackOverflow, I search using Google, then fall directly on my web page, then I - Back then search for something else.
    When on Reddit, I click everywhere and read everything...
    you can't compare both load.

  21. Unruly mashups? by oji-sama · · Score: 3, Insightful

    The nice thing about Stack Overflow (and such) is that someone, somewhere, has (usually) encountered the same problem I am currently working on. The official documentation I check when I want some basic examples on how to use something and what the different methods are supposed to do.

    I may have created a few mashups from examples, but most of them weren't all that unruly. Perhaps the implication is that the wheel isn't invented all that often?

    --
    It is what it is.
  22. Use of Stack Overflow != Bad Documentation by HaeMaker · · Score: 5, Informative

    The official documentation and message boards serve two different purposes, The official documentation should be a complete reference to the API and structure of a language. This is necessary for completeness. Stack Overflow should be used for quick real-world examples of simple tasks to be used as a starting point, or to get help with a particularly nasty bug.

    We need both approaches, and the success of one, does not indicate the failure of the other.

    This is not to say official documentation doesn't fail for other reasons, but killing it in favor of Stack Overflow alone is not the answer.

    1. Re:Use of Stack Overflow != Bad Documentation by wvmarle · · Score: 1

      I second that.

      From my personal experience, a great example would be the MySQL documentation. Those docs are very complete, all possible commands and options are given, but as a result it's also often totally unreadable to me - those SQL reference parts are about as readable as a line of Perl, or a regex. Yet it's needed, and often does give the info I need.

      Python docs are much more readable (the module documentation at least; the language reference is too technical and not needed for normal programming tasks) but also sometimes lacking, particularly on examples. But then you can't expect the official docs to have examples for everything.

      To get started, sites like stackoverflow with their real-world examples do the job very well. And it's really rare to have a question that's not already been asked before. And of course useful to find out that you're hitting a bug...

    2. Re:Use of Stack Overflow != Bad Documentation by cstdenis · · Score: 1

      Also API documentation is often only useful if you know the name of the API you are looking for.

      If what you want to know is "How do I do X?" or "What API do I need to use to accomplish X?" and most importantly, "What is the best/most efficient way to do X?"

      --
      1984 was not supposed to be an instruction manual.
    3. Re:Use of Stack Overflow != Bad Documentation by Pathogen+David · · Score: 1

      I agree completely. MSDN and other API references are just that: references. They are for looking something up when you already know enough about what you're doing. IE: I know how to use a Map in C++, so I look up the equivalent in C# and then look at the MSDN documentation for Dictionary and see the name of the various methods it implements. I don't want to read an entire tutorial on using C# Dictionaries just to learn the API.

    4. Re:Use of Stack Overflow != Bad Documentation by wisnoskij · · Score: 1

      Except not all languages have consistent, good, complete documentation.

      Java is a perfect example of good documentation. Their is nothing that is not 100% fully documented in a completely consistent style. You can still use SO for asking how to get started in a complex class (but after someone says, use this method, you can easily go check it out and find out everything it can do and similar methods).

      But take Perl for example. There are loads of modules that give you next to no documentation. You do not even know what variables different methods take.

      --
      Troll is not a replacement for I disagree.
    5. Re:Use of Stack Overflow != Bad Documentation by wisnoskij · · Score: 1

      Great example. MySQL documentation is 100% complete, but also mostly unreadable.

      --
      Troll is not a replacement for I disagree.
    6. Re:Use of Stack Overflow != Bad Documentation by Anonymous Coward · · Score: 0

      You don't just have to have one or the other, you can have both on one page.

      Microsoft fails because they don't know how to do communities right (they are slowly getting it with the "Add Community" sections for their newer documentation) however without a community rating system and good forum managers, the consumer (us) is left to manually sift though the bottom and decide on their own what is crap and what has merit and the only way to leave feed back is to leave another comment deriding someone else (which creates more stuff to sift through)

    7. Re:Use of Stack Overflow != Bad Documentation by Anonymous Coward · · Score: 0

      The official documentation should be a complete reference to the API and structure of a language. This is necessary for completeness.

      Your definition to completeness appears, to me, to be somewhat diluted. I envision completeness to encompass the greater area of learning distribution; to include at least one real world case study example. This, of course, is an intelligent design allowing for quicker adaption of your technology if you wish any Tom, Dick and Harry to learn, adopt and be successful with it.

      And to quote Bill Gates from a recent AMA -

      I am surprised new languages have not made more progress in simplifying programming. It would be great if most high school kids were exposed to programming...

      Yeah, expose your kid to MSDN docs and watch them squirm.

  23. Pass over by stupor · · Score: 1

    I generally pass over links to Apple documentation in favor of Stack Overflow links when researching iOS issues. I always feel like I'm saying "Just get to the point" when I read Apple docs...

    --
    Do you inspect a roller coaster everytime you ride it?
    1. Re:Pass over by godrik · · Score: 2

      Android document is pretty bad as well. Everything is explained assuming you read everything from cover to back and understood. Except it is not a book so there is no start and no end.
      So it is good for looking something up, but for learning or understanding a problem the documentation is not sufficient.

      StackOverflow on the other hand plays the role of a huge FAQ.

  24. You can learn something new from SO by SuperKendall · · Score: 2

    You can't really learn to use something completely new on Stackoverflow,

    StackOverflow is probably not the best place to pick up programming in a new language or platform, but for understanding new (to you) parts in a system you already know a bit SO usually produces more practical examples, sometimes with example code doing exactly what you are trying to get done.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:You can learn something new from SO by Sarten-X · · Score: 4, Insightful

      When all else fails, read the directions.

      Documentation should be the absolute authority on every detail of a system's operation. It should be the reference material for experts. On the other hand, people who aren't experts don't know the available options, and often don't really know the terms to look for in the detailed documentation, and can't spare the time or effort to read (and grok) the whole documentation end-to-end. StackOverflow is a great place to describe the problem you have, and experts (who know the system more fully) can point you in the right direction or even provide a solution. Then you can read the relevant documentation to understand better what's going on, and hopefully provide similar help to others.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    2. Re:You can learn something new from SO by fuzzyfuzzyfungus · · Score: 1

      Aside from the trivial case(systems so undocumented that they are, themselves, all the documentation that exists), has anything ever reached the state of perfection where The Manual is actually authoritative?

    3. Re:You can learn something new from SO by Anonymous Coward · · Score: 0

      The problem is that you're wrong. StackExchange usually acts as an updated version of the documentation with real, relevant examples, because The Manual doesn't provide this at all.

    4. Re:You can learn something new from SO by Sarten-X · · Score: 2

      Well no... but like I said, it should be.

      Police should also be unbiased, governments should be fair, and there should be peace and happiness and abundance throughout the world.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    5. Re:You can learn something new from SO by shutdown+-p+now · · Score: 1

      Yes.

      (or possibly no - in this particular case, there is truly no reason to care)

  25. Desperate times require desperate measures by Anonymous Coward · · Score: 0

    When you're in a jam, sadly, it's not the means, but the end that matters. Instead of navigating the swamps of official documentation, I lookup stack overflow on any given day. Saves me helluva time & effort.

  26. Documenting is not sexy... by sinij · · Score: 1

    Writing documentation is not sexy, or sometimes even rewarded/measured as a productive activity. Good documentation also does not easily translate into sales pitch and does not directly result in higher revenues.

    Writing documentation is very important for lowering learning curve and increasing your product adoption. Start explaining this to your decision makers. You can probably sell your product without documentation to organizations that have to have it to function, but for anyone else - it matters.

    As to obligatory car analogy. Imagine you are selling cars to a group of people that don't know how to drive. Your competition has Ferrari and you are selling Corolla - at the same price. The only way you can succeed selling Corollas in such situation is if you also make it easy to learn to drive Corollas.

    1. Re:Documenting is not sexy... by Anonymous Coward · · Score: 0

      If your car analogy was a car, it would be marked down for having a ding in the fender.

    2. Re:Documenting is not sexy... by Intrepid+imaginaut · · Score: 1

      Documentation, plentiful comments, well put together code - these things save lots and lots of money.

    3. Re:Documenting is not sexy... by sinij · · Score: 2

      If your car analogy to my car analogy was a car, it would implode and form a car analogy black hole and radiate its analogy away as a hard car analogy emissions.

    4. Re:Documenting is not sexy... by viperidaenz · · Score: 1

      ....or if you give the buyers or executives kickbacks when they buy your Corolla over the Ferrari. If that's the case, you can sell your Corolla for even more.

  27. The Google factor by PseudoCoder · · Score: 1

    I would say most inquiries are motivated by wanting to achieve a specific technical task/goal. (eg. Get working directory C++ ). When developers enter their search queries, it's in the form of a question and the first results that come up (in my experience) are Stack Overflow entries. Official documentation is setup more like a technical reference often with only a few less than-practical examples, or examples that don't exactly fit the context of the specific technical task/goal you happen to be pursuing at the time.

    I like the thorough technical reference for when I need to know all the available options and parameters, and related topics. Sometimes documentation sets also come with examples that exercise many of the practical development scenarios that closely match the developers' goals. The documentation for the toolkit I'm currently using (LEADTools) is a pretty good example of that. Otherwise if the people writing the documentation are not practical developers they may not be able to write a good enough set of use cases and examples to complement the technical reference well. So you open up a browser and search and there is pretty much the exact same question you're asking, answered in about 2 or 3 Stack Overflow entries, with suggestions, debates, links to other references, etc. Often times it's what you needed and a little more. And off you go...

    --
    "Now, I doubt any of you would prefer a rolled up newspaper as a weapon against a dictator or a criminal intruder."
    1. Re:The Google factor by vux984 · · Score: 2

      Mod up. That is how I end up on the code project and stack over flow. My most recent task is:

      How do I send a client certificate with a POST request from c#? First time I've had to do any of that.

      So I use some basic google-fu turn that into a sensible keyword search and you get a few examples from forums, including stackoverflow.com, support.microsoft.com, forums.asp.net, c-sharpcorner.com, etc.

      Its not until about halfway down page 2 of googles search that I get ANYTHING from MSDN. And when I do its an article on

      ClientCredentials.ClientCertificate Property of System.ServiceMode.Description, which is at least tangentially relevant but not at all directly useful.

      But after reading a few forum articles on it, I know that I'm going to be using HttpWebRequest, and I'm going to use its ClientCertificates collection, and I'm going to need an instance of an X509Certificate object. (Or X509Certificate2)

      If I need more information on those classes then I'll head over to the official documentation. Or not. If the article example and discussion was sufficient for my needs then I might not need to go further.

      API documentation can't be improved, I don't think, becuase it documents the API. I often don't really need much API documentation, I need the "tasks to relevant classes" mapping.

      I have the same problem with linux to be honest. Man pages are great but I'm usually stuck where I don't even know what command I need to use for the task I want to accomplish.

      For a trivial example: How do I rename a folder in linux?

      Lets look at the resuts:

      top results, various forums and FAQs and basic information that amounts to:

      hey its really easy:
      mv old-folder-name new-folder-name

      I don't see a man page until page 2 of the results. And ugh, its a man page for rename(3), the C function, which is not what im looking for.

      I don't actually seen the man page for mv in the top 5 pages (I didn't check further). I'm not surprised. Sure the Description in the man page for mv is:

      Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

      And the rest of the page is documentation of syntax and switches, like -S to override the usual backup suffix, or -u to move only when the SOURCE is newer then then destination or the destination file is missing... etc etc etc.

      There is nothing wrong with the man page but its no wonder we don't see it ranked higher than countless forum and FAQ articles on basic linux file operations.

  28. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 1

    The entire stack isn't microsoft. In fact only the site and database are microsoft. They also use redis. Have several Linux servers. (Ubuntu and CentOS) HAProxy, Bacula, Nagios...

  29. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 0

    Reddit on PHP?

    Have you been living under a rock or something?

    The source is on Github, dude.

  30. Actual usage by Todd+Knarr · · Score: 2

    The major thing for me is that the official documentation is written based on how someone at the vendor thinks the software ought to be used, while StackOverflow shows how it's actually used in common cases.

    Example: I needed a custom configuration section for app.config/web.config for a .Net application. I laid out my XML to be readable by the people who'd have to maintain the configuration. When I went to the official documentation, did I find any examples showing common XML layouts and how to translate them into the code to implement them? Nope, not a bit, just examples of "correct" code with snippets of the XML they'd produce. None of which matched common patterns, BTW. I was looking for a simple top-level BUREAUS element containing multiple BUREAU elements with the bureau name as an attribute, each in turn containing multiple KEY elements with name and value attributes to hold each bureau's configuration settings. StackOverflow and other sites were the only places that gave me actual useful examples of taking an XML layout and turning it into the .Net configuration section code matching the XML.

    The best thing I can recommend for official documentation is to stop including just the official "this is the way we intend it to work" description. If you intend it to be used one way, explain why this is the best way to use it. And then go looking at sites like StackOverflow for how people actually want to use the APIs. If what people are asking to do doesn't match the intended usage, start asking yourselves "Why?". Think long and hard about it, because in the real world what my boss wants done always, always trumps what the vendor thinks (my boss signs my paycheck, the vendor doesn't). And then adjust your documentation to include examples that line up with what developers are actually asking to do.

  31. Good doc writers can't code by badford · · Score: 1

    and good coders can't write docs.

    They are different things. VERY DIFFERENT THINGS.

    One is DOING, the other is TEACHING.

    --
    -badford
    1. Re:Good doc writers can't code by admdrew · · Score: 1

      If your intent was to say that being a good developer doesn't automatically make you a good tech writer (and the inverse), then I'd agree. But doing one well doesn't preclude you from doing the other well.

    2. Re:Good doc writers can't code by Mister+Liberty · · Score: 1

      Urban myth.
      The fact that they're different things does not
      by any measure mean there aren't any who
      are talented in both.

    3. Re:Good doc writers can't code by maxwell+demon · · Score: 1

      Writing code and driving cars are also very different things. Yet I've never heard the claim that good coders can't drive, and good drivers can't code.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    4. Re:Good doc writers can't code by Anonymous Coward · · Score: 0

      Vehemently and utterly disagree with you. The best programmer I know also writes the best documentation I've ever seen.

  32. I confess by futhermocker · · Score: 1

    Most of the times I end up at SO through the google and in over 50% of all "cases" that helps more than ploughing through documentation pdfs, wikis and kbs.

    Even though I am a documentation evangalist as part of my job, I believe documentation will never get better and will always be incomplete.

    Good, or at least, good enough documentation saved my ass numerous times. For example documentation about a custom compiled database function that got lost because somebody, dropped the database instead of the table as intended. A binary restore from a backup got the data back, but the function was lost. The application using the function failed instantly. Although I wrote the function myself, it would have taken days to rewrite it from scratch. Luckily I documented the function code and how to load it, and a smart coworker managed to restore it without consulting me.

    Documentation is an ambiguous beast, too little is bad, but too much is sometimes worse...

    --
    KERNEL PANIC -SIGFAULT AT ADDRESS #51A54D07
    1. Re:I confess by Anonymous Coward · · Score: 0

      ...I believe documentation will never get better and will always be incomplete.

      No "belief" necessary - you're right.

      I worked for a very large IT company that was one step behind HAL. They hired contractors to do their documentation. All the contractors did was copy and paste the function headers from the developer's comments - ex. 'DasWriteFile' "Pass in pointer and write date to file.". One guy actually published his shit in a book and got a bonus from his dipshit contracting firm - named after the founder who was full of shit but made millions because he could schmooze really well - he worked for them. Yes, the OS that was sold by that company one step behind HAL didn't give a shit about documentation.

      The outside developers knew more. As a matter of fact, the 'bible' among the kernel devs inside the company was a red book written by a non-non-HAL person - Keitel or something.

      Says something when internal people are using external docs.

  33. 2/3rds of documentation is dead space, you failed by Dan667 · · Score: 1

    really, is it that hard to understand when you bloat your documentation to be mostly useless headers, etc for who knows why people are going to chuck it like a paper copy of the phone book?

  34. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 1

    VB6?! You had to reach pretty far back for that reference. You might as well throw in RPG while you're at it.

  35. How about actually trying to get it right? by Bill+Dimm · · Score: 4, Insightful

    Minor rant, but look at the "InConnectionString Argument" section (which I can expand/collapse [useless] but can't link directly to, which is annoying) of this page. Try to read their grammar for a connection string. Confused yet? There are line breaks that have completely disappeared, causing words to merge together (e.g. "connection-stringattribute" should be "connection-string" with "attribute" being on a new line). I filled out the little "did you find this helpful" thing at the bottom of the page explaining the problem a year ago, and it hasn't been fixed. Dumping half-assed documentation on the web and not fixing (reported!) errors wastes the time of each individual developer that has to read/decipher it. The PHP online documentation is one of the most useful ones I've found, largely because it allows users to add comments/examples that make things clearer. Microsoft does the opposite -- not only can users not add to it, but the improvements that users suggest (through the "did you find this helpful" thing) are ignored. Perhaps all of the useful information is on StackOverflow because Microsoft doesn't allow it to be added to their own documentation.

    More generally, it should be easy to bookmark pages (URLs should NOT break, even when new versions are released!) and sections within pages so it is easy to refer back to important things, as you could with paper documentation. Documentation for each function/object should link back to an overview that explains how it fits into things, and it should link to examples that show how all of the arguments (not just one special use case) works. Documentation should explain any differences between new/old behavior of any function/object because not everyone is developing for the latest version of the OS or development platform. And, just to beat a dead horse, users should be able to submit improvements/clarifications that actually get used.

    1. Re:How about actually trying to get it right? by Bill+Dimm · · Score: 2

      Also, whenever function arguments are of some #define'd type (e.g. DWORD, LPSTR, SQLHDBC), those type names should all link to some explanation of what they are and how to appropriately generate and use them (e.g. how to do conversions between all of the different string types) so developers don't have to go on a long expedition to find out how to set up the inputs for a function.

    2. Re:How about actually trying to get it right? by Anonymous Coward · · Score: 0

      MSDN use to have user commenting, but sadly no one moderated it.

      It quickly grew to have four types of comments:

      a) 70% - Spam
      b) 10% - Developers providing feedback that the documentation was wrong
      c) 15% - Developers SCREAMING for the documentation to be fixed
      d) 5% - Examples of how to use the method or class.

      Then Microsoft in their infinite wisdom just deleted every post after 2 weeks. I know I (like many) just gave up trying to help people and turned to alternate sources.

      Also as an aside, when I was working for a Microsoft consultancy in 1998 my employer was a top tier (gold or platinum) partner. We had a Microsoft consultant/developer drive down from Redmond each week to provide guidance and support for your development team. Over the 9+ months I worked at the company every week at least 4 to 10 conversations ended with, "Oh that's wrong (or not documented), let me get you the REAL documentation from the private partner portal."

      See the MSDN documentation was either incomplete or completely wrong, and only "partners" were given updates and private packages for documentation to Microsoft's libraries and core products. The general public was just given 1-2 year old copies of documentation that may or may not be correct. The whole experience drove me to alternative development platforms for about 5+ years. I can say it's gotten a lot better and having returned it looks like market pressure or maybe someone pulled their head out to realize providing useful documentation might make professions recommend your technologies to employers and clients.

      Or maybe I've just gotten better at reading abstract definitions of objects and methods.

    3. Re:How about actually trying to get it right? by Anonymous Coward · · Score: 0

      Oh no! You submitted a bug for a feature that's not highly used and it hasn't been fixed in deference to other features that more people than you actually want? Horror of horrors!

    4. Re:How about actually trying to get it right? by Bill+Dimm · · Score: 1

      Way to miss the point. I (and other readers) would happily fix the problem for them if they provided any means to do so, but they don't. Instead, they provide an illusion of wanting feedback when they won't bother to actually read it, which is worse than simply not accepting feedback at all since it wastes the submitter's time for nothing. Other sites, like the PHP documentation site, manage to handle user feedback, but Microsoft can't?

    5. Re:How about actually trying to get it right? by Anonymous Coward · · Score: 0

      Of course, sometimes the MSDN documentation just outright lies. I can't count how many times I've found parameters to methods don't work they way the documentation says they do, or the methods throw different errors than the documentation says they do, etc., etc..

      This wasn't so bad when each page had the Community Comments at the bottom - users (developers) could actually add errata to the broken documentation so that other users (developers) could be alerted to the problems, but the Community Comments seem to be appearing on less and less documentation and even getting removed from some of the older stuff.

  36. MSDN Documentation just Sucks by medv4380 · · Score: 1

    I'd love it more if I could just go to google or bing and put in the API name I'm using and have it pull up a good readable documentation, but the search engines can't parse their Docs well enough to figure out it's the authority on the API so what chance does a person have of understanding it. OTOH I can type an API for Java like StringBuilder and it usually comes up with the Official documentation first. As bad as java can be javadocs do cover most of what needs to be documented without being too hard to read. It would be nice if things like C,C++ and all the other languages had a standardized way of documenting, but they don't. Developers choose not to document properly even when they have good example to follow, and that leave only the crowd of the web as the best alternative to looking up the programmers in the basement until they come out with readable docs.

    1. Re:MSDN Documentation just Sucks by Bill,+Shooter+of+Bul · · Score: 1

      Blah, I despise javadoc. For most projects, you just end up with the automatically generated doc with pointless comments. Plus, with deep object hierarchy it ends up being a lot of clicking to finally find the definition of the method you really need to know about.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
  37. Re:What does StackOverflow run on? by ByOhTek · · Score: 1

    To an extent... but there's only so much you can do if the tool is pretty screwed up.
    Fortunately, I don't think there's any major tool out now that is that bad. Though the headaches to get past a bad language/framework are *not fun*

    --
    Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
  38. I'd go further... by KingSkippus · · Score: 1

    I'd go even further, and say that most of even the best documentation doesn't provide use cases and best practices. Picking on MSDN as an example, there are some really good articles out there about various topics, but there aren't a lot of articles on addressing a specific question or need. If you need to know how to use, for example, a treeview control, MSDN is probably the best place to go. But it doesn't answer the question, should I be using a treeview control to begin with, or are there other solutions that might be better? Or, I'm having a specific problem with a treeview control, such as getting it to work right in a multithreaded application. How do I fix this? For those kinds of issues, you don't particularly need documentation, you need a community that is ready and willing to help you.

    Having said that, one problem with StackOverflow is that it's not maintained that well. I've frequently found answers there that were just plain wrong, and answers that might have been applicable in 2005 when the software I'm working with was six versions behind what I'm using now. It would be nice if they had some sort of cleanup mechanism to maintain a bit of freshness to the answers and encourage people to re-answer questions when underlying technologies or software changes.

    1. Re:I'd go further... by T-Ranger · · Score: 1

      They do have cleanup mechanisms - comments and downvoting.

    2. Re:I'd go further... by aztracker1 · · Score: 1

      I will often go back and re-answer questions... There's nothing stopping you (or anyone else) from doing so. It's called a community... If you have a problem, participate.

      --
      Michael J. Ryan - tracker1.info
    3. Re:I'd go further... by Anonymous Coward · · Score: 0

      As a contributor to the Stack Exchange network quite frequently, I can say that some effort is put into keeping questions updated and relevant where possible, however due to the high influx of new questions these days, not a lot of thought goes into maintaining older questions.

      However the problem I have with your example is that, even though the question and answer are addressing a piece of software 6 versions out of date, they are still relevant to people working with that version.

      If you have a problem with a new version, propose a new question, stating what version you are working with. In your question, link to the old question, stating that the answers do not fix/are not relevant to the current version, however the problem still persists.

      When I'm looking for a solution, if I come across an answer that is blatantly wrong, I propose an edit to fix it, or I flag it for removal if it is unsalvageable

  39. Re:What does StackOverflow run on? by The+Raven · · Score: 0

    Sorry, but PHP is a better example of a bad language than VB6. Not that VB6 was good... but PHP is far worse.

    --
    "I will trust Google to 'do no evil' until the founders no longer run it." Hello Alphabet.
  40. Perhaps it's Give Me The Codez? by tlhIngan · · Score: 4, Insightful

    A lot of Stack overflow questions I see are along the form of "I need to do X, how do i do it?".

    Basically they want a HOWTO of which APIs to string together in order to accomplish their task, if not someone else to completely code it for them. This is often referred to as "task based" documentaiton - to do X, you do A, B, C, and D. This often fails if you need more details on individual API calls.

    Official documentation like MSDN exist to document all the APIs, but often lack what's known as "task-based" documentation.

    They're both required pieces - task based is often used to learn how to do things (e.g., how to create a window on Windows), while the API documentation serves to comprehensively adjust various settings (do you want a scroll bar? A resize box? etc). Unfortunately, putting in extensive examples inside such documentation often serves to confuse (you won't believe how many people assume you can copy and paste it into a program and have it run).

    Unfortunately, Stack overflow also suffers from developers merely copying and pasting code and expecting others to do their work for them (see thedailywtf), as well as many "give me the codez" stuff posted by students wanting others to do their homework.

    But when used properly, the two complement each other. Its like man pages versus HOWTOs on Linux - one documents the commands and APIs, while the other tells you how to properly string them together to accomplish things.

    1. Re:Perhaps it's Give Me The Codez? by jafac · · Score: 1

      I hate to say this; but Adobe's documentation DOES serve both of these functions. In some cases. They do provide some good boilerplate examples in their API documentation.

      (The big problem is: they often have examples that Adobe's tech writers dreamed-up as probable use-cases, not customer-driven typical use-cases. So that's a place where Adobe's documentation falls far short; and another HUGE issue, is that, at least in actionscript/flash, there are multiple different syntaxes for implementing the same API - depending on the code context, and so you may be doing it "way A" and the example is "way B", and you have no idea how to translate it. Microsoft's Visual Basic does the same damn thing. There are tons of VBScript calls that work in some contexts with parameters enclosed in (), and in other contexts, just hanging out, comma-delimited. You - as the coder, have to just guess.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    2. Re:Perhaps it's Give Me The Codez? by Anonymous Coward · · Score: 0

      Its like man pages versus HOWTOs on Linux - one documents the commands and APIs, while the other tells you how to properly string them together to accomplish things.

      NB the lack of reference to info documentation. Dear Gnu. Kill info NOW.

  41. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 0

    Someone downmod this $hill linfaggot

  42. No surprise there by Anonymous Coward · · Score: 0

    When searching for a given API name these sites tend to show up higher in the search result then MSDN.

  43. What would I do without the web? by SecretSquirrel33 · · Score: 1

    As a younger developer (~5 years) I often wonder what it was like to be in the industry 25 years ago, before the web is what it is today. Documentation is ALL online. I only read software books for academics or to learn something new. In order to get the job done, there is no substitute to google and/or sites like stack overflow.

    1. Re:What would I do without the web? by gr7 · · Score: 1

      Before the web, microsoft would let you click on any keyword or function and hit the F1 key and it had great documentation hyperlinked to similar functions and with examples and it told you what .h files to include and so on. It was great. It still is somewhat decent.

      Before GUI's, everything was paper doc and the languages were simpler and there were fewer of them to learn and you had to "ask someone" when you ran into problems that you normally see on stack overflow. I was one of the people that had stream of people asking questions.

    2. Re:What would I do without the web? by fritsd · · Score: 5, Funny

      [This page intentionally left blank.]

      --
      To be, or not to be: isn't that quite logical, Slashdot Beta?
    3. Re:What would I do without the web? by Anonymous Coward · · Score: 0

      Turbo Pascal documentation was the best with an example code for each usage of each command/function/operator. Why go elswere when you have all the information and example explaining how to use it?

  44. Obvious result... by Bill,+Shooter+of+Bul · · Score: 1

    Not surprised. This is one of the things that separates really bad developers form okay ones. The ability to research a problem. There are many cases of stack overflow answers not being comprehensive. Often I've found developers arguing that there is a bug in another section of the code, due to a stack overflow answer. Consulting the original documentation would have revealed the subtle edge case that explains the behavior.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
    1. Re:Obvious result... by Anonymous Coward · · Score: 0

      Exactly. When documentation is light, people complain about missing things. Once your documentation gets really comprehensive, they don't bother to read it. The success of StackOverflow is not because of the fault of documentation, but because of the huge amount of mediocre programmers.

  45. Do you use a dictionary to write an essay? by Overzeetop · · Score: 4, Insightful

    When you write, do you form and choose your prose based on the dictionary on your desk (or online)? Of course not. A dictionary is the ultimate reference for words in your language, though. If you have a word, you can look up its part of speech, spelling, definition, pronunciation, even sample usage in some cases. But if you're writing an essay, or a book, or a brief, or a memo, a dictionary is very close to unusable. If you want to describe the action of a bipedal animal moving swiftly over land by means of propulsive contact with the ground, you're not going to find what word to use in a dictionary. If you don't know what the word run means, or how to use it, a dictionary is ideal.

    Sometimes - no, often - the official documentation is exactly the *wrong* reference to use when creating from scratch. I'm not a programmer, but anyone who has ever even used software to do anything - from Autocad to Wordperfect - knows that the official documentation is almost never going to give you a useful answer to a problem you are having. You have to know the command to use before you can look it up. I still have programs whose documentation is a list of definitions, in order, of every menu and submenu command. And when I get stuck, I know that the answer I'm looking for is never going to be in that "help" file.

    --
    Is it just my observation, or are there way too many stupid people in the world?
  46. That's why I like(d) PHP docs by kompiluj · · Score: 5, Interesting

    In PHP docs with every item there comes the section for for "user contributed notes" which are sometimes pretty insightful (like there php strings intro or there implode string function ). Long time ago in a galaxy far away when I used to code in PHP those useful comments not only usually saved my day, but somehow compensated for the unorthogonality (well, an understatement) of the PHP standard library and the language itself. So - yes - I definitely prefer using worse language with better docs than the other way round (think Haskell vs PHP).

    --
    You can defy gravity... for a short time
    1. Re:That's why I like(d) PHP docs by Anonymous Coward · · Score: 0

      Your observation is so true, I remember at least 5+ years ago MSDN had this feature. But honestly 99% of the comments were either complaining that the scientific abstraction of the function definition wasn't useful and as many have already stated the documentation provided no examples. That or 80% were ALL CAPS comments stating that the documentation was flat out wrong and it should be updated.

      Nevermind that no one was paid to actually moderate the user comments. Eventually I came to the conclusion that Microsoft just had a two week routine that deleted all comments from everything.

      Yeah that's so useful.

    2. Re:That's why I like(d) PHP docs by Anonymous Coward · · Score: 0

      If you're going to use words such as "orthogonality", there is no excuse to misuse words like "their". So please do us all a favour and look up the difference between "their" and "there".

    3. Re:That's why I like(d) PHP docs by laffer1 · · Score: 1

      I just wish the PHP guys would actually put some of those useful comments in the documentation at the top. How many times have I had to look at the comments below to find out how something really works or that it's broken in 5.1.6 but magically works in 5.2, etc.

    4. Re:That's why I like(d) PHP docs by shutdown+-p+now · · Score: 2

      MSDN also has user-contributed notes for most doc pages (e.g. open this and scroll to the bottom). They do get used occasionally, but not all that often.

  47. This isn't new by ArhcAngel · · Score: 1

    Wasn't this one of the primary uses of IRC/Gopher/Telnet/eMail/listserv back in "the day"? I know that's the only way I would have ever gotten NT 3.51 installed on a few of my systems. I had 4 identical machines but the memory timing was off on 3 of them just enough to give the NT installer fits. Ended up turning off caching to get it to install. It took 8.5 hours but it worked. Once installed re-enabled caching with no problem.

    --
    "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
  48. Re:What does StackOverflow run on? by Bigby · · Score: 4, Insightful

    It depends on what you are using it for. PHP is great for sites with a very small number of pages. There are no bad languages, just languages being misused.

    Morse Code is a great language for certain purposes. But you don't use it when speaking to someone in person. Baby talk is a great language for certain purposes. But you don't use it in a meeting with your bosses.

  49. That's because the vendors do a lousy job by dpbsmith · · Score: 1

    I loved the VAX/VMS documentation. It was complete and it was accurate. I loved the original Inside Macintosh documentation; it interesting because it was complete, accurate, and _knowledgeable_. It took helpfully opinionated stances, like "Usually, you will set this argument to nil," or "Returns an integer value of 0 or 1. Only the Shadow knows why it is an integer rather than a boolean."

    A couple of years ago I needed greyscale images, nothing fancy but using color was just silly, and wasted over a day trying to get Microsoft .NET PixelFormat.Format16bppGrayScale to work. It kept throwing exceptions and I was just going nuts, unable to figure out what I was doing wrong. Eventually I Googled, and found three-year-old forum postings explaining that Microsoft had never implemented that functionality. But in three years, they couldn't be bothered to remove it from their symbol tables or to update their documentation to at least indicate that it was "reserved for future implementation" or something.

    Look for yourself: the online documentation still shows it as available. "The pixel format is 16 bits per pixel. The color information specifies 65536 shades of gray."

    Mac OS X is just as bad. The so-called documentation looks and feels as if it were automatically built from header files.

    Forum postings and crowd-sourced chatter is great--it's where I learned what I needed to know about PixelFormat.Format16bppGrayScale--but it's not a substitute for documentation. And, by the way, neither is sample code--it is valuable in show what works--or worked at the time it was written--but it does not show you the limitations or the boundaries, and nobody takes any responsibility for its future accuracy.

  50. PHP Manual, online version by Fencepost · · Score: 1

    Offhand I can't think of a better example of doing it right than the online version of the PHP manual. The user contributed notes make a huge difference in dealing with real-world usage.

    --
    fencepost
    just a little off
    1. Re:PHP Manual, online version by krovisser · · Score: 1

      Well, at least PHP has one thing going for it then.

    2. Re:PHP Manual, online version by DrGamez · · Score: 1

      While some might be less egregious than others, relying on the comments from PHP's documentation is nearly the textbook definition of the blind leading the blind.

    3. Re:PHP Manual, online version by Fencepost · · Score: 1

      The only verified way to get useful information on a tech community site (or Usenet) is to post something wrong or at least incomplete. The geek drive to correct someone wrong on the internet is much stronger than the drive to just share information.

      Hacker News had a great example of that the other day when someone posted "[things I do in my first 5 minutes on a server]". 300+ posts later and that's a pretty informative discussion.

      --
      fencepost
      just a little off
  51. Examples is key by Anonymous Coward · · Score: 0

    For any language, API or framework ... the strength of the documentation is only as strong as the examples provided. Most places have a very small examples that often to not lend themselves to real world problems people face using the technology.

  52. Narrow vs broad by Anonymous Coward · · Score: 0

    MSDN and the like are excellent resources of very narrowly-focused technical documentation. You want to find out exactly how to use a function? It'll be there, in great detail, giving you all the information you require. Sometimes this is all you actually require, such as when you want to ensure you're sending the correct parameters, understand the error codes, etc etc etc.

    However, what that kind of documentation generally doesn't tell you is how to combine the different language features/API/etc to achieve your goal. Sometimes the issue isn't understanding the in-depth details of a function, but rather not knowing what function(s) to call to do what you want. This is where Stack Overflow, various coding forums, etc come into play. Ask a question (after spending some time with the search tool of course!), get the answer. With these problems, the big issue is know *what* functions/features are available rather than how to use them.

    Once the explanation is given, the original poster will (I'm assuming) have learnt something new. "What's this new function? That looks useful. I'll look into that later." And thus they can delve into MSDN and the like to read up on this wonderful thing they just discovered, and follow appropriate topics to expand their knowledge.

    Technical documentation supports community support sites, and vice-versa. IMO bad programmers learning something new will use one, good programmers will use both (search to see if the topic has arisen before, see the suggested solutions, and then look into them in far more depth to see which ones are appropriate and understand WHY they are appropriate).

    Stack Overflow's website is also very efficient in terms of run speed and displaying the relevant answers. For the latter, the self-moderating community can take all of the credit for that, as the post voting system doesn't seem to be abused at all.

  53. php does documentation best by gr7 · · Score: 1

    Don't flame me because you think php is a bad language. I'm just saying it has the best documentation out there. It's on the web and each piece has good examples and then - most importantly - anyone can comment below for each function and feature - issues they've run into. The kind of stuff normally found on stackoverflow. I've been programming since everything was paper (the computers printed on paper only, and the documents were all on paper). I love paper docs, but online, editable, wiki like documents are the best.

    Trust the crowd.

    1. Re:php does documentation best by NeedMyFix · · Score: 1

      I agree with the wiki statement. I think MS should put all documentation on a wiki so that people that actually use the stuff can add actual useful examples and fix ambiguities, etc. This would make the documentation much better over time.

  54. Google is my man by stanlyb · · Score: 1

    Really, why the frack should i spend 1day of reading all the library's API, understand how it works, read the examples, and do some by myself, and then writedown 5-6 API calls, and....forget about it, if all this unnecessary work is already done by some one else, and GOOGLE has him framed, i mean indexed :D. So, why not just use the existing knowledge, do my job in 10min, and move on!

  55. How... by Ghostworks · · Score: 3, Funny

    How should official documentation be better redesigned?

    It should exist.

  56. My Microsoft Interview by Anonymous Coward · · Score: 1

    I once went to Microsoft in Dublin around 2005 for an interview as a web developer. It was a consultant position for an agency, and they had a guy meet me 10 mins before to coach me on what answers they wanted to hear from me. The agency guy was actually in the interview room beside the guy asking me the questions. I had a good knowledge of the technology and answered all the questions as well as anyone could... except for one apparently...

    "if you are programming something, and you get lost or stuck, how would you go about overcoming the difficulty and finding out the correct way forward."

    I answered:
    -I keep extensive notes/code from my training and previous work for reference
    -I contribute to many online forums and communities and am well respected, people quickly offer insightful answers to any questions i raise.
    -I refer to e-books and online documentation specifications
    -I have many friends in the tech industry that specialise in various areas and languages, I have a go-to guy for almost any area I could be stuck on.
    -I refer to available colleagues and co-workers if I have exhausted several avenues and time is a factor.

    The guy looked at me like I had 2 heads! and the guy who coached me looked at me like I was nuts...
    "any others?"

    I elaborated a little more on my answers above, but they looked disappointed with my answer and quickly brought the interview to an end.
    The manager asked the other guy (who coached me) to show me out. It was as if I had pulled my dick out in the middle of the interview.

    We quietly walked to the lift, got in and he pressed the button for the ground floor. as the lift moved the guy broke the awkward silence:
    "The answer was books!" he said. I stood there stunned for a second before the doors opened, he didn't even get out of the lift "door's over there"

    And that was that. It's the only job I'm glad I didn't get. The interview was for me a first-hand look at the rigid minded, controlling, tick-box nature entrenched the organisation from Steve Ballmer downwards. Perhaps they are different now for their senior developer hiring practices since they face competition from the likes of Apple, Google, Facebook and a hundred other high tier tech companies, but from my observations and reports from friends who work there since, I doubt it.

  57. Re:What does StackOverflow run on? by stanlyb · · Score: 2

    There are even some very good games written on .NET, and, surprise surprise, and they are very decent. Of course, if you dont expect a first person shooter with UT3 engine behind the scene...

  58. I am a terrible programmer. by Anonymous Coward · · Score: 0

    When I look at documentation, I usually see a longlist of gibberish that I can't cram into the misshapen jigsaw puzzle that is my ne'er standing of any given language. I see a long list of obtuse methods and properties that are generally more related to language structure itself than they are to the intended usage of the class question. I've loaded a page hoping to find out if the Arrau class has a built-in method for removing an object from and arbitrary index, but instead I'm learning that the Array class has a method that sets a flag that tells the Array to treat all Ints as Uints to maintain compatibility with something that people stopped using when I was busy playing with HyperCard.

    As a slow-poke, I like examples. When I read an example, I like it to tell me if I'm going to need to include so e other random header to make it work, even of it's extremely obvious to someone who knows what they are doing. Because I don't.

    I don't need to know that yes, this class can duplicate itself in a seldom-used way, just like like twenty other objects above it in th chain of inheritance. I need to reada short story about some other idiot who fucked it all up in the same way I did, and fixed it by doing x, y, and z.

    So, my two recommendations are, More Examples, and instead o flisting everything alphabetically, sort the methods and properties into categories, like "Functionality the Class was Esigned to Accomplish" (add an item to an array), "Shit you may have to fiddle with if you're doing anything worthwhile" (return an array's contents as some other list-type object), and "what the fuck is this even for?" (If I could come up with a coherent example of this, I wouldn't be complaining about documentation on the Internet, but it's like, 90% of all Microsoft documentation, 30% of all Appledocumentation, and 100% of all Java documentation.)

  59. official documentation by roc97007 · · Score: 1

    In my experience, official documentation tends to fall in two categories:

    Category A, the features manual. You can do this, you can do that. You can manage things like this and this. You can setup this to do that automatically. But no word on how to accomplish any of these things, or even what specific named feature to use.

    Category B, the reference manual. This feature has these options. This other feature has these other options. This third feature has these options. Each entry is usually accompanied by a description a third grader could have written: "The blerbfrobinator command is used to frobinate blerbs." Oh, thanks. That made things so much clearer.

    It's not just a lack of examples, although examples do help. It's (a) the missing connection between capabilities and individual named features, and (b) some holistic idea of how the product is intended to be used. Best Practices helps in this area, if they are well enough written.

    Interpretation of error messages are often completely unhelpful. Explanations are usually just a rephrase of the error message that add no insight. This is where forums come in. Whatever problem you've run into, some group of people have probably had the same problem, and some subset of that user base has written about it somewhere. The trick is to find it.

    Parenthetically, Fudd help you if you try to get help from official sources and your problem is not officially recognized as a problem by the vendor. In that case, even when a fix exists, the official techs may be forbidden to give it to you. There again, forums can provide help that you can't get anywhere else.

    And finally, the search engines on vendor support sites so often SUCK. When I worked for a very large company, I was responsible for best practices documentation, and I couldn't find a damned thing with the company's own search engine. I had better luck putting the same entry in Google and looking for hits from my company's website.

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  60. I use it a lot by DrXym · · Score: 1

    The official android documentation can be really dire, and so is the documentation for OpenGL ES (in general and android specifically). I usually find myself googling the answer and usually Stack Overflow or one of its sister sites is at the top of the results pile.

  61. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 0

    Perl is the best example of a usable language with bad syntax.

    ($l=join("",))=~s/.*\n/index($`,$&)>=$[||print$&/ge;

    Need I say more?

  62. Exceptions and error codes by Dishwasha · · Score: 1

    The main reason why StackOverflow keeps coming up for me over and over again is because when I Google for my exception or error code, I get real anecdotal evidence of other people seeing the same exception and then other people helping resolve those exceptions. Microsoft's technet is pretty decent at searching for exceptions/error codes, but typically only show up for older products (i.e. newer products are too recent and not as adopted so less errors are discovered by the community at large) and many times for only their flagship products. When I do get a search result that links to the vendor's documentation, it's typically just a page that lists all the possible exceptions/error codes and gives no information about what they mean or how they are encountered.

    So bottom-line, if documentation writers included good documentation of exceptions and error codes, fewer people would have to submit questions to StackOverflow.

  63. Documentation vs Information by GodfatherofSoul · · Score: 1

    Microsoft is great at churning out tons of information on their libraries and tools. But, so much of it is incohesive. I've had several projects working with their tools and it's like slogging through a swamp. Lots of content, but there's often no clear path through it; not a clear beginning or course to follow. Just page after page, sublink after sublink. It makes their bigger tools look like a handful of granules. Microsoft makes some amazing products like Visual Studio, I just wish they'd make them easier to work with for developers and extenders.

    --
    I swear to God...I swear to God! That is NOT how you treat your human!
  64. Re:What does StackOverflow run on? by Mordok-DestroyerOfWo · · Score: 1

    You joke about RPG, but at my first gig out of school I worked in RPG/AS400 at a series of local casinos (Reno/Las Vegas). I was in one the other night, popped in and lo and behold the system had not changed. Legacy code does not go quietly.

    --
    "Never let your sense of morals prevent you from doing what is right" - Salvor Hardin
  65. Well, if you ever tried using msdn... by YoungManKlaus · · Score: 1

    ... you'd know it suck badly (as in: does not explain how things actually work). Point is, if you read for instance javadocs it is quite usable in explaining what the class does / how it should be used. If you ask MSDN in 99% of the interesting (that is: non-trivial) cases it does not say anything about the specifics or how to actually use/interpret stuff (eg. what does cryptic error message xyz actually mean / what can I do to fix it, and thousands of other such cases).

  66. Explain your leaky abstractions by Ziggitz · · Score: 1

    Leaky abstractions lead developers to consult resources that deal directly with their specific problem with specific solutions that have already been shown to work in practice. Most developers write documentation explaining what their APIs do, which is usually pretty obvious based on service calls, method names etc. When a developer consults documentation it is to find out why something is not working as the original author intended it to.

    What documentation needs to be doing and frequently does not is explain its abstractions so that a developer can better identify the underlying problems assumptions based on those abstractions are causing. Maybe your implementation of a LinkList using an array under the cover is horribly optimized for the use I intended for it, if you documentation does not explain how it is working then that leaves 3 ways to find this out:

    1. 1. Find you and talk to you (definitely not feasible for widely used code)
    2. 2. Look at the source(needs to be open source or my company's code)
    3. 3. Find other people who have figured this out by trial and error or have experience from 1 and 2 (oh hey, that sounds a lot like what stack overflow does).

    Most of development is very straight forward. Overall, the bulk of work done for something like XQuery or SQL is very simple stuff. The majority of problems that require an expert to solve have to do with those leaky abstractions, where the problem the class or api writer wanted to make disappear with their magical function is not airtight and the complexities seep through. This is where your expert needs to look under the cover and see what's really going on in order to rectify a problem. If documentation doesn't cover this then frequently the quickest way to find the information needed is to look for someone who has come across this problem before and see what worked for them.

    --
    There is no memory shortage. yes I have heard of XFCE. Go away.
  67. Re:What does StackOverflow run on? by ByOhTek · · Score: 1

    For those too lazy to look, but strongly curious. It looks like a lot of python with shell scripts.
    Didn't notice anything else in my cursory glances.

    --
    Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
  68. Lacking Examples by superflippy · · Score: 1

    Stack Overflow can't always solve all problems. Many times I have looked for an example of how some piece of Sencha's poorly-documented ExtJs framework works, only to be directed to a Stack Overflow page where someone posted a question looking for the same thing.

    I know it can be dull and time-consuming to create examples and documentation, but, really, just linking to the source code does not really explain what a particular class or config option does. If you want programmers to get the most out of your framework, you have to show what can be done with it. If you don't have time to document a feature, why did you bother including it in the first place?

    --
    Your fantasies contain the seeds of important concepts.
  69. PHP Docs by Anonymous Coward · · Score: 0

    I really like PHP's doc pages just for this reason. There is the official documentation at the top, with user-sourced additions below it. This way, you get both the theoretical and the practical together.

    I really wish other language sites would do a similar thing!

    1. Re:PHP Docs by ChronoFish · · Score: 1

      IMHO, PHP.net is THE reason why PHP is as successful as it is.

      Very clear, excellent, thorough, concise documentation WITH user notes.

      -CF

  70. Re:What does StackOverflow run on? by geminidomino · · Score: 1

    Why is it that whenever someone wants to piss on perl, they come up with examples like that. It's like saying C has bad syntax because the OCCC exists.

  71. Of course by Guru80 · · Score: 1

    Unless I need to figure something out that is so unique I need to dig through the (God awful) crap that passes as official api documentation to figure it out, not only will sites such as Stack Overflow offer examples in abundance by some very knowledgeable people, the theory and reasoning's are of spelled out better than any official documentation you will run across most times. Now, I'm sure at least bunch of people will point out that Stack Overflow leads to a lot of copy-paste code. That very well may true for students and entry level quality programmers. There comes a point where copy-pasting an ArrayList example is no longer gonna cut it in your profession but the advice given definitely applies.

  72. software created from unruly mashups? by Anonymous Coward · · Score: 0

    is there some other kind?

  73. Re:What does StackOverflow run on? by hesaigo999ca · · Score: 1

    LMAO!!!

  74. Re:What does StackOverflow run on? by hesaigo999ca · · Score: 2

    Why change it if it still does what the company needs it to.
    This brainwashing we are experiencing that we need to update everything all the time...is hogwash!
    A bike is still a bike...so if you can get from point a to point b, why trade in your old bike for a newer and 2000$ prettier bike???

  75. Not the documentation... by trboyden · · Score: 1

    TechNet and MSDN documentation and associated sites like msdn.microsoft.com/vstudio and asp.net are actually really good and I use them a lot. The problem is that they are not searchable from traditional public search engines or the content scores really low on the the search engine rankings. Most developers first reaction to a problem is to Google it, and 9 out of 10 times the first results are all links to Stack Overflow. That's better than it used to be which was pay gates to Experts Exchange. I won't say that is Google's or Microsoft's problem directly, but I would think it would be in both parties' interest to get better quality documentation to the top of the search results. Microsoft definitely needs to improve the search ability of TechNet and MSDN as well.

  76. Official doc doesn't tell how to do something by Anonymous Coward · · Score: 0

    The API doc from Microsoft, Google, Apple etc tells you that something can possibly be done. My choice is to either spend hours/days/weeks struggling to figure out how to write the code that uses the APIs, or google it and see how someone else did it. This is resuable code in a way I don't think anyone ever envisioned.

    Also, official doc doesn't have error messages. I imagine most of this googling and hitting Stack Overflow is from people trying to figure out some obscure error message. You run something that uses a framework that imports ten other frameworks, and crashes with an error message like: "XML parse error on line 213209: Bean definition is not sufficiently ambiguous for bean com.company.project.group.product.release.version.whatever.DoSomethingGreat (is your constructor big enough?)" And you just copy and paste into Google. Much faster than looking it up. And Google will find actual answers, not just API doc on the class.

    I've gotten to where I'm fed up with examples and doc not having the import statements for a Java class. I google "import" "BrainException" and I'll usually hit code that says "import com.company.project.group.product.release.version.whatever.BrainException;" on the page. That is so much faster than trying to find and wade through JavaDoc.

  77. What ever happened to man pages? by Anonymous Coward · · Score: 0

    Is it just me, or are man pages for newer program less complete and/or non-existent? For example, Bash has a huge exhaustive complete man page. The only issue is finding information there since the file is so huge. It has examples, describe what all the parameters do, etc.

    Report lab, a PDF generator library for Python, on the other hand, has no man page. It does have a PDF document, but that's a lot harder to search or use while at a terminal.

    1. Re:What ever happened to man pages? by Richy_T · · Score: 1

      Let's not forget Gnu's predilection for "Here is a near-useless man page, please use info if you want to actually know how this command works" at which point I usually just jump to Google as info is pretty unintuitive and I want my answer right-now as I have something to do and I'm not interested in a little learning session which will be totally forgotten by the next time I need it (Space bar is easy to remember. 'b' is handy and cursor key navigation is just gravy).

  78. and DevHelp is less help than hinder too... by Mister+Liberty · · Score: 1

    For years now DevHelp (various Linux distributuons) been lacking such a fundamental
    as ButtonRight-menu where you can copy/paste.

    Reading/browsing documentation I always find myself doing so with mouse-in-hand, so
    that kind of popup menu is almost second nature, and it should be just standard in any
    GUI. Yet DevHelp developers don't seem to know this. Or simply dont' care, what with
    the issue being reported maybe two years ago already by yours truly.

  79. Google search and its effect on documentation by DigitalPenguinDude · · Score: 1

    Documentation and origional sourced documentation do not fare well in Google SEO as it remains static and changes little. Google hates this and punishes content which does not change even though it may be the official and often correct documentation. Google favors content which is refreshed often like crowd sourced content. The problem is that it may take the gathering of a dozen or so crowd sourced pages to get the understanding and content I need while the official documentation would give me the full explanation and nuances. I would reather read the official documentation first and then go to the crowd sourced documentation to find a solution to a particualr hicup I'm experiencing. Google amy be marginalizing and ultimately killing official documentation as it will become useless if not ranked. Too often Google will show an entire page of top SERPs all from the same domain and crowd out everyone else. Google should stop playing these SEO tricks and games and really examine the content for how much unique information is presented. Its a tough job but ultimately its what people are looking for.

  80. Stackoverflow has documentation??? by Anonymous Coward · · Score: 0

    Funny, I thought stackoverflow was just a bunch of asked / answered questions with snippets of code going back and forth. Very useful ones, and at times very relevant when one is having the same problem or exploring the same concepts as others. (Me I like ozgrid and cpearson.com for Excel issues...)

    But you think that is what passes for documentation?

    See, there really isn't anything that should be redesigned in official documentation, instead you should learn the difference between documentation that describes x, instead of a list of problems/solutuions/examples about x. There, FTFY.

    1. Re:Stackoverflow has documentation??? by ChronoFish · · Score: 1

      Here is how you ask questions about Stackoverflow - not about the content in stackoverflow. So yes. This is the documentation for Stackoverflow:

      http://meta.stackoverflow.com/

      -CF

  81. Re:What does StackOverflow run on? by crutchy · · Score: 1

    you poor asp slave

  82. Re:What does StackOverflow run on? by Isaac+Remuant · · Score: 1

    First written in Lisp, then ported to python for maintainability, if I recall correctly.

    --
    "Science can amuse and fascinate us all, but it is engineering that changes the world. " - Asimov.
  83. Re:What does StackOverflow run on? by MightyYar · · Score: 4, Insightful

    A bike is still a bike...so if you can get from point a to point b, why trade in your old bike for a newer and 2000$ prettier bike???

    You wouldn't. But when the frame finally goes, you might consider replacing all of the other components and not just the frame. And if technology has moved far enough, it can get harder and harder to find an affordable frame that fits and works with your ancient components.

    I'm not being obtuse... this is a real problem. There are whole factories that run on commodity DOS hardware from the early 90s. It starts to get very hard to replace that old hardware... at the point where you find yourself hitting eBay, you should probably accept that you are on borrowed time and plan a transition to newer stuff.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  84. Scourge of Search Results by Luthair · · Score: 1

    Perhaps I'm alone, but I find the clutter of StackOverflow posts in any programming related search incredibly annoying. Many of the results aren't relevant and usually the rest contain incorrect, out of date or incomplete information. Give me the docs and the project's bug tracker.

  85. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 3, Interesting

    There are no bad languages, just languages being misused.

    Oh so very wrong.

    There are even some accidentally bad languages, but of the commonly known languages, yes, they tend to be good for some purposes.

  86. Examples by Anonymous Coward · · Score: 0

    The problem with a lot of documentation (including, but certainly not limited to Microsoft's) is the lack of examples. I notice this with Linux man pages too, rarely do functions come with examples, even when the calling and return values may be complex. Defaults, special cases, typical usage... all of these should be documented with examples. That's why I really like the PHP project's style of documenting function calls. The documentation usually includes a few examples and then people can provide comments and their own examples underneath. It makes for a really clear picture of how a function is meant to be used.

  87. Re:What does StackOverflow run on? by MightyYar · · Score: 2

    I'll agree if you specify PHP4. PHP5 can be used responsibly.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  88. Decent API docs with usage would go a long way by clay_buster · · Score: 1

    A lot of the Microsoft API documents contain no actual information. You end up relying on code samples or stack overflow. Sometimes you get lucky and there is community documentation at the bottom it seems ridiculous to have to rely on that. I'm assuming that the API docs are generated from the Class / Method documentation which makes me think they have millions of undocumented lines of code. You see this in Visual Studio when using intellisense. You see some method with 10 overrides and no documentation on how they should be used. It would be great if class docs showed usage. Then that would be auto-generated into the public docs. I worked in the Java space and used to complain that some companies didn't generate decent class/method documentation because their developers don't think it is important. The microsoft space is even worse :-( Beauty is in the eye of the creator. Your baby (API) is ugly!

  89. Formulaic by Capt.Albatross · · Score: 1

    When Java first came out, I thought the documentation was extremely good, and a model use of hypertext (I cannot comment on its current state because I no longer use it.) In comparison, Microsoft's documentation leaves a lot to be desired. The pages in the API reference section are very formulaic, oriented towards describing syntax rather than explaining semantics. There is a lot of hyperlinking, but it doesn't necessarily help: you can follow long chains of links from one uninformative place to another - there's no "there" there.

    There is some excellent tutorial material to be found on Microsoft's site, by people who clearly both know their stuff and how to communicate it, but it's hit and miss as to whether your current concern has been well covered. These would seem to be good places for the API references to link to, but that does not seem to have been done nearly as often as it should (perhaps the links in the API references are largely machine-generated?)

    I get the impression that the overall management of documentation production is driven by objective but superficial metrics, such as the number of pages and links, without regard to qualitative but important considerations such as quality and usefulness. I also imagine that much of the grunt-work is farmed out to masses of asses.

    It doesn't help that Microsoft has multiple, overlapping products and APIs, and there does not seem to be an easy way to constrain a search of their sites to your specific domain of interest (unless you are searching for a specific language element and you know its namespace).

    I am not an anti-Microsoft partisan, and I am well aware that the documentation in the FOSS word also varies from excellent to execrable. Creating good documentation of complex issues is a hard problem.

  90. good by Anonymous Coward · · Score: 0

    this is how it should be. why should i check documentation written by a single entity when i can use a crowd-sourced, peer-reviewed site?

    don't get me wrong: documentation is great for questions like "what arguments does x function take?" in that case i'll always go immediately to, say, mdn or php.net.

    but for human-oriented questions like "why doesn't x work here?", in general, documentation sucks. it's much better to find or ask your question on stack overflow so you can learn from others' experience.

  91. Because curent doc is badly organized by Anonymous Coward · · Score: 0

    It used to be that doc was great and good. Thinking borland Delphi 7 and before, Visual studio 2005? and before...

    Now days, it's a web interface stuff on MSDN (or other) and it's so loaded for crap that you can not find any documentation that you are looking for.

    I actually still have the .hlp files for the win32 API that came with Borland Delphi 7 and that is what I am using rather than the current stuff that comes with Visual studio.

    I do simple C/C++, Win32 and the current help is so overloaded with stuff that you simply can not find what you are looking for!

    Same for Office, with office 2003, it was easy to find and get help on some obscure Excel function. Nowdays, even if you know the name of the function, good luck.

    Cyrille

  92. Dead, Dying and Living by kiehlster · · Score: 1

    The problem isn't always the fact that ad-hoc support sites are used in place of documentation, but that ad-hoc support sites change while most documentation never does. There are two factors against documentation: First, these forum websites are updated regularly and so are indexed more readily; Second, software/programming documentation sites are filled with dying documents. Even MSDN is a dying resource. As soon as the next iteration of .NET is released, all documentation for previous iterations of .NET become deceased soon after. In addition to documentation being dead documents, the information in them is rarely improved upon before they do become deceased. Sometimes, the documentation is DOA with a new product because somebody didn't care to update the documentation to support the very similar, new product.

    If people cared about their product a little more, maybe they'd make an effort to keep their documentation alive and in shape so sites like stackoverflow would become obsolete, at least to real programmers who don't just use documentation like it were Play-Doh.

  93. Insert free advert for Microsoft .. by dgharmon · · Score: 1

    What was the point of mentioning MICROS~

    --
    AccountKiller
  94. Not just the crappy docs by dsvick · · Score: 1

    As several dozen other people have mentioned crappy docs account for a lot of it, the fact that Stack Overflow comes up first in most searches is a lot more of it, but another factor is that, in most cases, devs aren't looking for a technical definition of some API method. They are looking for a solution to a problem and the way technical docs are written they don't lend themselves to those sorts of questions unless you know the method that you need and can go right in there and find it.
    And then hope that it has some sort of readable description and possibly an example. Otherwise, it's off to what ever site actually has a post by some who has used that method and can tell me how to use to solve my problem.

  95. It's because of this I didn't help Wine by Anonymous Coward · · Score: 0

    A while ago, I was looking for something to fill my time with. I thought, hey, I enjoy using Wine to use certain Windows programs on Linux, and I'm not terrible at coding, I'll pick a bug or two and see what I can help with. I downloaded the source code, and quickly got lost, as the source ode is essentially undocumented, with no comments anywhere. When I looked for help, I found out that the people who write Wine code expect you to go to use Microsoft's official online documentation as your main, if not only, source of help. So they want you to depend on Microsoft to have perfect documentation, but there are practically no comments for why a programmer did something somewhere for what reason in their implementation of Microsoft's API. I found the whole mess too thick for me to bother with and found something else to work on. So congratulations Wine, you drove off a not-that-terrible coder.

  96. Gaps in info, out of date, bad searches... by bennomatic · · Score: 1
    Here are the things I've found.
    1. Documentation which assumes knowledge of information which is not well documented. Great for the folks who started with a technology on day one, but terrible for the newbie. Reminds me of RPM hell when I was a Linux admin. You need X to get Y. Now you need Q to get X. Now you need G to get Q. Anyway, a quick question to Stack Overflow often fills the gaps.
    2. Beautiful, simple, clear examples which show how to implement something with steps 1, 2, 3, 4, 6. What the fuck is step 5? Stack Overflow knows.
    3. Beautiful, simple, clear examples which show how to implement something in a deprecated environment. My most recent experience with this was implementing in-app purchases. Apple's own example would have worked great in pre-ARC days, but with ARC, the transaction queue was purged before the transaction in the queue had been fully cycled. The fix was simple, but with my relative lack of experience, finding the exact cause to determine that fix was frustrating. In this case, it was Apple's DEV forums, not SO, that came to the rescue.
    4. I find that search tools built into many documentation systems either yield nothing or way too much information. It seems like years of research on finding relevant results by Internet search firms could be leveraged much better than they are.

    That being said, the combination of sucky documentation and a great community of experienced, helpful people seems to work. It'd be great not to rely on the kindness of strangers, but, well, I'd like a pony, too. If there's a magic solution which reduces the prodigious amount of work required to address the issues I pointed out, then I welcome it. But I don't have such a solution handy; if I were a betting man, I'd suggest that the current hybrid solution will continue for some time to come.

    --
    The CB App. What's your 20?
  97. Re:What does StackOverflow run on? by Krojack · · Score: 1

    My gut tells me that Reddit gets far more traffic then Stack Overflow.

  98. mystikk.strawman wrote :) by Anonymous Coward · · Score: 0

    > Interesting Stackoverflow runs on the .NET platform and is very fast despite the extreme load. So much for Slashdot's wisdom that .NET sucks. Meanwhile Reddit on PHP or Python is superslow and is overloaded.

    Look, no one has criticised your precious .NET, now go away ...

  99. Re:What does StackOverflow run on? by Hentes · · Score: 1, Insightful

    Define good and bad. Novice programmers generally fare better in more restrictive languages like C or Java. On the other hand, an experienced hacker can do amazing stuff in a powerful language such as C++.

  100. Re:What does StackOverflow run on? by bennomatic · · Score: 1

    Maybe the new bike is lighter and faster, more comfortable, and has more reliable components. Perhaps it's even more sturdy so that I don't have to true my rims every time I hit a pot hole.

    No software is perfect; there are always things that can improve. The GP poster doesn't say what the time frame was between coding and seeing it still there, but I wouldn't be surprised to hear that 20 year old code was still sitting there, and that any issues with the code were being dealt with via band-aid pre- and post-processing systems tacked on. Why would they tack things on like that? Because nobody wants to work on legacy code.

    --
    The CB App. What's your 20?
  101. Documenting Reality by SuperKendall · · Score: 4, Insightful

    Documentation should be the absolute authority on every detail of a system's operation.

    The Documentation has a huge problem. It lays out how the thing in question was MEANT to work.

    What StackOverflow offers is understanding of how it ACTUALLY works (or doesn't).

    Furthermore Documentation is written almost always with either very generic examples or examples imagined by the documentors or framework builders. StackOverflow offers examples from people who are trying to build something real that works.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  102. Afterparty by SuperKendall · · Score: 2

    Google the name, with MSDN as one of the search terms, land exactly on the appropriate MSDN page, read the format, check that I have the required headers, code the call and... ...then you look on StackOverflow to figure out why the call didn't work like you thought it would.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Afterparty by icebike · · Score: 1

      Google the name, with MSDN as one of the search terms, land exactly on the appropriate MSDN page, read the format, check that I have the required headers, code the call and... ...then you look on StackOverflow to figure out why the call didn't work like you thought it would.

      Um, Isn't that pretty much EXACTLY what I wrote above?

      The thing is, at least 90% of the time the MSDN reference is sufficient, and when that is the case it is FAR faster than wading thru the duff on SO.

      --
      Sig Battery depleted. Reverting to safe mode.
  103. How to redesign official API docs by Anonymous Coward · · Score: 0

    How should official documentation be better redesigned? What are the implications of software created from unruly mashups?"

    * if there is something in the documentation that I don't understand, I should be able to ask questions about it
    * somebody should answer basic questions within 1 or 2 minutes
    * complicated questions should get an answer within a day or two
    * really complicated questions should spark a discussion that is eventually answered
    * my question and the answers should be attached to the documentation
    * if I see a mistake in the documentation, let me fix it. don't ask me to email someone about the issue, just let me fix it
    * if a quick search doesn't reveal the documentation or past question I'm looking for, I should be able to ask about that too and someone will tell me where it is within a minute or so. This exchange is also public, so that my wording of what I'm looking for can easily be found by others who are trying to find the same thing
    * there should be some system in place to eradicate spam and crap questions/answers

    Alternatively, they could just continue what they're doing and read stack overflow. Perhaps some of their documentation budget should go to hiring people to browse stack overflow and answer questions/generally improve things.

    1. Re:How to redesign official API docs by neminem · · Score: 1

      One library we use (itextsharp) actually does that: they have a free mailing list, which will get your questions answered if they aren't dumb or repeats, but one of the guys most responsible for answering questions there, also answers basically any questions on stackoverflow that are tagged "itextsharp" within a couple hours (also of course assuming they aren't dumb or repeats.) It's pretty cool.

  104. Re:What does StackOverflow run on? by Bigby · · Score: 1

    It is a great language for the purpose of which it was created. And it wasn't created for productivity.

  105. Stack Exchange / Area51 by ChronoFish · · Score: 1

    I use StackOverflow pretty much daily. For the developers in my company it has become the go-to-source for us. Now (for quite a while actually) StackExchange (the parent site for StackOverflow) has opened up Area51, a place where you can propose your own "stackoverflow" for your favorite topic.

    For instance, I work in the Healthcare IT world, so I started this:

    http://area51.stackexchange.com/proposals/51758

    It's a proposal for a site that focus on things like HL7, EMR integrations, Laboratory Information Systems, Mirth, Cloverleaf, etc... I think it will be a great resource.

  106. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 1

    ($l=join("",))=~s/.*\n/index($`,$&)>=$[||print$&/ge;

    Take an arbitrary list, and output a sorted liste with no duplicate entries. You could (still quite tersely) do the same thing with a much more readable:

    my @outputarray = sort grep( ( ($h{$_}++ == 1) || 0 ), @inputarray );

    Or, you could iterate through using a foreach or while loop, assuming you also understand the memory implications of doing so, and are okay with the possible high memory usage.

    But I'm confused - are you suggesting that this would be considered "good" (i.e., maintainable) Perl? Or are you suggesting that it's impossible to write similarly obtuse code in another language?

  107. StackOverflow is that option by SuperKendall · · Score: 1

    A decompiler is sometimes the only or best documentation.

    That's the thing, on StackOverflow you may well find someone who has decompiled and reconstructed something hard to understand. StackOverflow is like the mechanical turk of API documentation repair.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  108. True by jamessnell · · Score: 1

    I use stack exchange often. It's very very helpful.

  109. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 0

    You just called Aaron Swartz a shitty coder.

  110. Because we've had to debug them by Anonymous Coward · · Score: 0

    I am a Perl fan and kernel hacker. I love both Perl and C. Perl makes obscurity easy. Easy makes things commonplace. Thus people like the AC above are handed a tangled skein, and endure enormous pain in unknotting it.

    My Perl looks like C with a few syntax errors. It takes twice as many lines as "cool perl" and won't win any "cleverest line of Perl" contests, but the counter argument to the GP would seem to be: "Why do people still code in obscure, compacted, uncommented styles?"

  111. Exception: Apple by coinreturn · · Score: 1

    Now don't accuse me of being a shill - I'm not. However, I find Apples iOS documentation to be fantastic. Built into Xcode or accessed online, the documentation includes sample code - and not just a snippet. It has full projects that you can load up and run. I almost never resort to stack overflow when I'm writing my iOS apps - the doc is simply that good, including hyperlinks to all data types and constants in the api methods.

  112. Re:What does StackOverflow run on? by Synerg1y · · Score: 1

    You know that SO is crowd-modded as well right? Try posting some crap on there and watch it get modded down and deleted.

  113. hopeless help and low content api documentation by iainmalcolm1 · · Score: 1
    I've recently started programming again after 15 odd years doing consultancy, and I've been using php and SQL to write web servery stuff (initially) and more recently C++ on linux then java for android (and porting some C code as well), with dablings along the way into lua and bash.

    My big issue with nearly all modern documentation is the total lack of information on the architecture behind the API (or whatever interface I'm using). To write effectively you must be in harmony with the software environment you are working with, but 99% of the documentation explains (in brain bending detail) that when you press the 'y' key, you get a 'y', well yes I already had that sussed guys, what I really need to know has to be teased out by reading the documentation, endless posts on stack overflow and many other places. It's all very well explaining how to make my model rotate in opengl with some guys favorite series of calls, but I want to know WHY you do it that way, 'cos without this knowledge every minor change becomes a trip into the unknown.

    "how to do it" Documentation is provided as a set of incantations where a very specific recipe gives a very specific effect, but if you change the eye of frog on line 42 for eye of toad - well the results are dramtically different (assuming you live to tell the tale). I want the same sort of information I was taught in school countless years ago in science lessons about electron orbits, valency etc. which brough the periodic table to life, and meant you could predict what Molybdenum would be like because of the number of protons.

    I'm on my 3rd total rewrite of an android app, 'cos I've slowly been learning how to go with the android flow because of this lack of meta information. Some time you find a few gems - in the case of android, quite often this is videos from the android team at various big events.

    This is exacly the same problem I had many years ago trying to write for Windows, the API information was like most microsoft help - totally helpless. Interfaces are explained in great detail, but with almost zero information contents. I need to know WHY I would choose to use the value, and what it's effect is (particularly when combined with other values provided to other related API calls.

    I can think of only a few situations where I've come across information that actually made me feel I understood what was really going on from the start, for example in the XSLT Programmer's Reference by Michael Kay (5 out of 5 for that one). The OpenGL Superbible (several authors) was also pretty good (I'll give that 4/5 - good but still resorts to incantations in many places. Oh yes "PostGIS in action" Regina O.Obe and Leo S. Hsu is pretty good too but still in the thick of that one so not sure on the final score yet.

    Looks like books can still hit the right spot - unfortunately just not the ones that are supposed to document the product in question.

    Of course the real problem with many API's is that the various interface calls are full of side effects and the underlying code is riddled with 'optimisations' to try and improve performance, with the result that a slight change in the use and the whole thing falls apart. Android, Windows and the various linux gui platforms all fall into this bear trap, and I suspect that it's the lack of a properly documented architecure as a guiding light for everything that happens below which is the real cause of the poor documentation.

  114. Re:What does StackOverflow run on? by larry+bagina · · Score: 1

    There are times that PHP (mod_php, more specifically) is the best tool for the job. But the argument is that it's a bad language -- poorly designed, inconsistent, etc etc.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  115. SO vs. MSDN by Synerg1y · · Score: 1

    I remember back in the .NET 1.1 days, googling most .NET things returned an MSDN link, and sometimes going directly to msdn gave even better results. Fast forward a few years to .NET 4.0 and MSDN is fragmented beyond belief and cross versions solutions don't always work. So you might find the solution in 4.0, try to apply it to 2.0 and find that there's no 2.0 version of the doc and the 4.0 doesn't work.

    SO works more on the crowd principal, where more relevant posts are updated the most and happen to be timeframe relevant. Also, you can always ask a question yourself.

    MSDN is set in stone, and the social site MS has and other dev networking sites, just don't have as much interesting stuff as SO, don't rank as high in the search, and have much slower response times. SO is good at what it does, MSDN has fragmented, I'd say that is the main reason SO is in the title of the article today.

    My post is primarily about .NET, but there's everything on SO, including stuff like REST, php, all versions of SQL, etc...

  116. "...unruly mashups"? by Anonymous Coward · · Score: 0

    Mashups?

    You MUST be less than thirty years old. Christ, that's such an ugly term.

  117. Re:What does StackOverflow run on? by brantondaveperson · · Score: 1

    Assuming your interpretation of that code is correct, how about:

    std::set<Foo> foos(vec.begin(), vec.end());

    *Much* clearer than either example.

    Better examples exist in other languages too I'm sure.

    ps, the above code is from Stack Overflow.

  118. Re:What does StackOverflow run on? by dcollins117 · · Score: 2

    Baby talk is a great language for certain purposes. But you don't use it in a meeting with your bosses.

    You haven't met my boss. Baby talk is by far the most efficient means of communication. I've been known to reward him with lollipops occasionally if and when he behaves himself.

  119. Re:What does StackOverflow run on? by amicusNYCL · · Score: 1

    Since people are pissing on PHP, might as well add their version:

    $output = array_unique($input);
    sort($output);

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  120. Sometimes crowd-sourced is the only option by ConceptJunkie · · Score: 1

    I had the unfortunate job of re-writing an Excel VBA app last year and I can say based on my experience that the Microsoft documentation for VBA (much like that for the rest of Office) range between useless and non-existent.

    For the vast majority of my searches for "Excel VBA topic", a Microsoft site wouldn't even be on the first page, and perhaps not even the second.

    Without forums like Stack Overflow, I would not have been able to finish the task... or it would have taken much longer. As it was, I still had to fall back to trial-and-error because VBA is, easily the buggiest, most fragile and most poorly documented development platform I've ever used in 25+ years.

    --
    You are in a maze of twisty little passages, all alike.
  121. Its the order of things by StillNeedMoreCoffee · · Score: 1

    Most of what I see of the articles at Stack overflow are about syntax and symantics of how to problems in a specific language. Most of the company sponored documentation is organized differently, by feature and what its parameters are, not generally how to use it in conjunction with other language parts or even what the intent of the use is.

    I see the same thing at work with a new task / hours data entry which is a spreadsheet with 100 rows of projects. I had to comment to my boss that this document was tuned for executive use not for data entry. Different needs need different views.

    Also there is the sub-dialect problem. If you are comming from Java and having to do the same thing in c# they call the same thing by different terms, and the frameworks are maybe equivalent but stuctured differently, so the Stack overflow query on more common terms and problem specific language gets you a solution much quicker than trying to navagate the traditional document hierarcy. That is not to say you don't need both views, you do. But usually software only gets the one view. The other is built from the deficiencies and idiosincracies of the software.

  122. Re:What does StackOverflow run on? by Austerity+Empowers · · Score: 1

    You don't HAVE to do it that way. You chose to do it that way. Why should the language prevent you from doing what you want?

  123. Re:What does StackOverflow run on? by rduke15 · · Score: 1

    Nonsense!

    # create a list containing
    # the result of joining "undefined" with nothing
      (
        $l=join("",)
      )

    # in other words, a single-element list, the element being an empty string :

      ( "" )

      =~ # regex
      s/  # substitute
      .*\n  # anything followed by a new line
      /
      # gibbersih we don't care about, because that ("") doesn't have a newline, so it won't match

    No need to decipher more. Just fire whoever wrote this, and get a Real Perl Programmer.

  124. I guess that explains ... by Anonymous Coward · · Score: 0

    ... why stackoverflow is always in the first few hits google presents. Given that almost all the answers there are obviously totally wrong and the only answer not totally wrong is usually moderated down to the end, I always thought they were using some sophisticated search engine optimisation. But if people are actually reading the site, that might explain why google still presents it in the search result.

    I'm really frightened considering how software developed from people using stackoverflow answers might look like, though.

  125. Really? by menot · · Score: 1

    Developers May Be Getting 90% of Their Documentation From Google, and 50% of the time the first result is from Stack Overflow and it contains the correct information.

  126. When I read the headline... by Beorytis · · Score: 1

    ...I thought it meant that developers were showing a preference for documentation generated as a result of an actual stack overflow. Stupid ambiguous capitalization...

  127. I tend to test every API ... by i · · Score: 1

    ..before I use them for real. That means I test many different inputs and contexts so I have decent knowledge of their behaviour before construction of the application.

    This means that I know in time of its (unexpected) idiosyncracies and also possibilites that is not immediately recognized.

     

    --
    Mundus Vult Decipi
  128. I hate stack overflow by Anonymous Coward · · Score: 0

    I hate stack overflow and always filter the site out when googling. It's a spam site where every single easy problem gets an overflow of overly complex, stupid solution suggestions from amateurs. It's truly a bad place to look for documentation. Bad practices all the way.

  129. Manpages by PianoMan8 · · Score: 1

    Just for the record, I find the linux manpages to be extremely helpful and well put together. And that's good, because I can never seem to remember the order of the damned arguments to memcpy(), even after 19+ years of unix programming.

    --
    - --
    "I Hate Quotes" -- Samuel L. Clemens
  130. Docs first by Anonymous Coward · · Score: 0

    I always check the docs first and try to figure things out myself before looking elsewhere.

    Crowdsourcing is great and all but even stackoverflow the best of the best crowdsourced resources is full of people who treat it as a game and try and rack up as many points as possible and don't really always know what they are talking about. This is especially a problem in some thin areas where the global pool of knowledge is shallow.

  131. Different formats, not a fair comparison. by Pino+Grigio · · Score: 1

    The point of the "documentation" is to provide a kind-of library where one can search an interface to find an explanation of what it does (and sometimes how it works). The point of Stack Overflow is to provide answers to questions, which might nuance the interaction of various parts of an interface in specific contexts. So the comparison isn't really fair. They're both useful in different ways.

  132. SO decent resource by spstrong · · Score: 1

    SO does have some good insight into Oracle and Microsoft (What I code in) problem/solutions. There are also some really good questions asked that don't get answered though.
    If MS could just add some relevant examples to their documentation or have good answers on their forums, I would start with their sites.
    Also, has anyone checked to see if Bing really is better for MS specific searches?

    ss

    I can't complain, but sometimes I still do. - JW

  133. Different purpose for different sources of info. by JoeSchmoe007 · · Score: 1

    I think one should consider that there are 3 distinctive source of help/information serving somewhat different but overlapping goals:

    1) Comprehensive books on the subject - especially useful when learning new technology from scratch to get a general overview of the whole environment/functionality/language/tools and how all pieces work together to create real life application. They often contain fairly comprehensive API description overlapping with:

    2) Official online documentation (MSDN and alike) - complete API/technology reference with some of how-tos

    3) Crowd sources - MSDN forum, Stack Overflow and other forums. Mostly geared towards giving answers to specific real-world question that cannot be answered by 1) and 2). Extremely useful because nobody can predict all possible real life scenarios and this is where the strength of the crowd knowledge really shines through because more often then not - whatever you problem is there is a good chance someone already experienced it and possibly found solution.

  134. Re:Different purpose for different sources of info by JoeSchmoe007 · · Score: 1

    Goals mentioned above include learning, applying what you learned to real-word problems and solving issues that one comes across along the way.

  135. Only 50%? by kwiqsilver · · Score: 1

    I was there four times today alone.
    Although I use cplusplus.com or docs.python.org for specific API questions, for how or why questions, stackoverflow is the best.

  136. SO future by hcs_$reboot · · Score: 1

    I wonder what will become SO after it has been sold to Microsoft.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
  137. That is why the documentation should be done FIRST by Anonymous Coward · · Score: 0

    That way you know ahead of time what should be done.

    You also get a better grasp of what the problem being solved.

  138. Fuzzy searching by sabt-pestnu · · Score: 2

    Microsoft (et al) are good for answers to questions like:
      how does (x) work (what are the details of (x) )

    Stack Overflow is good for answers to questions like:
    how do I do (x).

    Really, really, really different types of questions.

    1. Re:Fuzzy searching by allo · · Score: 1

      The other main difference:
      An API documentation is long and everthing seems as if it were of equal importance. Now read it, try to get started ...
      At stackoverflow (and other online communites, why this advertisment here?), the documentation is weighted by importance. You will get a lot more answers to the questions, which are propably the right questions, which keeps you on track doing it the right way.

  139. bad documentation is not the only problem... by mschaffer · · Score: 1

    Bad documentation is not the only problem. I keep noticing LAZY developers and developers that could not write a "hello world" example without the aid of Experts Exchange.

  140. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 0

    PHP is a bad language. Any language that can return null from strcmp and have it be coerced to a 0 (the equal value return code) instead of throwing some kind of error is a bad language.

  141. Documentation Vs. Specific Examples by NeveRBorN · · Score: 1

    In my experience, the answers on Stack Overflow are examples of a particular usage, instead of documentation of the usage of a particular function or class. The MSDN documentation serves it's purpose when you specifically need to know how something works, but Stack Overflow functions much better when you need to know what to use to accomplish a specific task.

    What would you expect Microsoft do? Preconceive every possible use of the .Net framework, and create examples for everything? Of course not, and this is why the crowd sourced approach works so well for this instead. It must be far more efficient to pool mental power when it is needed, and answer specific questions with example.

  142. Re:What does StackOverflow run on? by Gr8Apes · · Score: 1

    PHP is good for one thing - the trash can.

    --
    The cesspool just got a check and balance.
  143. Re:What does StackOverflow run on? by Anonymous Coward · · Score: 0

    PHP is shit. I use it and make a living with it, but it's shit.

  144. The difference between Tutorial and Reference by Beeftopia · · Score: 1

    A tutorial walks you through how to do something. If you want to figure out how to do something, you go to a tutorial.

    A reference describes the tools you use to do something. If you know have a very good idea of what you want to do, you go to a reference to get the detailed view of the tools you plan to use.

    StackOverflow is an interactive tutorial. A lot of documentation is just a reference (and imperfect/incomplete ones at that).

  145. Even SO can be shitty but that raises traffic by Anonymous Coward · · Score: 0

    Fact is that often when you search for info about a question on SO you find several entries that maddenly skirt around the question and provide no real answers other than parroting the common knowledge.

    That explains why there is so much traffic there. Probably one out of four hits from a developer actually lead to useful info. That's more than enough to be useful which is why developers keep going to SO, but there is also an awful lot of useful info in the blogosphere that cannot be found on SO.

  146. 50%? by Anonymous Coward · · Score: 0

    Let's just say that's a bit conservative

  147. Depends who we're talking about by Anon8---) · · Score: 1

    Freedesktop, ubuntu, microsoft, C++ and most likely many more, just have an incredibly shitty and incomplete documentation. Operating system components in general have bloody aweful documentation! Gnome and the free desktop project have me constantly shouting at the screen for despicable lack of documentation.

    Java with their javadoc, python with whatever it is they use and ruby with their RDoc have made useable documentation and made tutorials available on their homepage. I barely have to use stackoverflow except when I run into something pretty out of the ordinary. And if you don't find the answer, you can look at their code, because that's commented as well. Obviously these guys are doing something right...

  148. Re:What does StackOverflow run on? by PintoPiman · · Score: 1

    You think that the language choice is what makes or breaks performance at the internet mega-site level? I'm starting to get a suspicion that you might not know what you're talking about.

  149. SO Source Code by Tenebrousedge · · Score: 1

    The only authoritative reference to how a system functions is the source code. If you don't have the source, at some point you will encounter the problem that is unsolvable without it. Unless of course the original programmer wrote about everything that could ever be done with his software.

    With source code, all things are possible. Not necessarily pleasant or easy, but possible.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  150. Official documentations often just suck by Anonymous Coward · · Score: 0

    Usually the official documentations are just horrible. It's a pain to read them and they lack of easy-to-understand examples and explanations. No wonder people rather use stackoverflow, at least there they get useable help and working code examples.

  151. Re:What does StackOverflow run on? by msoftsucks · · Score: 1

    Actually, MicroShit has all but abandoned .net and win32 in a big time sacrifice to the tablet alter. This just further signals the demise of the crap called windows

    --
    Quit playing Monopoly with Bill.
    Linux - of the people, by the people, and for the people.
  152. Re:What does StackOverflow run on? by shutdown+-p+now · · Score: 1

    PHP is not a good language, period.

    It may be a reasonable choice for some cases, but solely because 1) you can find very cheap hosting for it, and 2) you can hire very cheap devs for it. There's literally nothing that it does better or faster than other languages in the same niche (dynamically typed - Python, Ruby, Perl etc), and it's objectively worse in many aspects (how's that Unicode support going?).

  153. Re:What does StackOverflow run on? by shutdown+-p+now · · Score: 1

    Any language can be used responsibly. But some force you to do it, others make it easy if you know how, yet others make it harder than creating a mess. PHP is firmly in the latter category. It encourages bad programmers to be bad, and punishes good programmers for trying to do the right thing.

  154. Re:What does StackOverflow run on? by shutdown+-p+now · · Score: 1

    The first question that comes to mind after seeing this is, why array_unique has the array_ prefix, but sort does not?

  155. Re:What does StackOverflow run on? by MightyYar · · Score: 1

    I mostly agree, though I think that PHP 5 no longer punishes you. PHP 4 definitely dissuaded you from doing things "right".

    I still can't get over it's total lack of threading. To stay on-topic, I will say that the documentation web site is pretty darned good.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  156. Re:What does StackOverflow run on? by flargleblarg · · Score: 1

    Your code has a terrible, horrific bug. You're throwing away the array values.

    Here is what you want:

    my @outputarray = sort keys %{{ map {$_=>1} @inputarray }};

  157. Re:What does StackOverflow run on? by hesaigo999ca · · Score: 1

    I still stick behind my original post though, and I will reiterate
    >so if you can get from point a to point b, why trade in your old bike

    I f it still does what you need it to and do not need to change it, then why change it for the sake of saying you changed it for newer technology...just another way to make you spend your money.

  158. Re:What does StackOverflow run on? by hesaigo999ca · · Score: 1

    I understand your analogy and it does make sense, but that was not the comment i originally made, I said if it ISN'T broken...why change it for the sake of changing it? If the frame will hold for the next 100years, there is no reason to change it then

  159. Is there a problem here? by VeryVito · · Score: 1

    Not sure why should be considered a problem. StackOverflow offers reviewed, edited documentation from people who actually use/enjoy to technologies they're describing.

    By providing documentation filtered through the real world, you get useful information that describes how features DO work, and not how they WOULD work if they were implemented the way some unknown documentation writer described them.

    To me, the SO solution is MUCH better than written documentation, and I've quickly picked up a working knowledge of entire new platforms, languages, etc. just by getting the answers to questions I needed, rather then sifting through tomes of irrelevant information and "Hello World" examples. SO is good documentation; perhaps companies should have their doc writers participate in discussions there, rather than formatting new whitepapers and PDFs.

  160. Re:What does StackOverflow run on? by amicusNYCL · · Score: 1

    I would have thought someone would have asked why array_unique takes a parameter by value, and sort by reference.

    Regardless, it's obvious what that code is doing. I would argue those 2 lines are even clearer than the other examples, even though they aren't consistent.

    (the likely answer to your question though is that sort was part of the language before they added the array_ functions)

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  161. Control by justthinkit · · Score: 1
    With Microsoft, everything is about control, not quality or utility.
    .

    If they lost control, someone else would become the leader and their income would be one-tenth as much.

    So, to maintain control they increase complexity. The Word .doc file size used to be my metric. Used to be you could create a 1KB "hello world". Then it became 20K -- arounnd that time they were referring to the DOC as a file system in itself. Probably up to 100K now.

    Another unstated goal is minimal documentation. Or, equivalently, voluminous documentation. Anything but exactly the right amount of documentation. This way you force people to dedicate their career to your products -- blink and you get behind, grovel at the trough of Microsoft and you keep your teat.

    Another goal is to cover functionality in the most minimal way possible. Introduce a few new bugs/limitations if you want a Christmas bonus. Oh, and fix a couple of bugs from before. This could be called the Wonder bread approach. Fortified so that it keeps you alive, just barely. Anything to string people along like beggars getting their hand-outs.

    Still, all that said, I prefer Windows to other operating systems. The devil I know best, I suppose. Biggest issue I have with Linux/Unix is gnarly syntax -- I love tiny one-purpose programs, piping, etc. -- but crap syntax produces write-once code, crap productivity, and undocumented systems.

    --
    I come here for the love
  162. Is it the documenation - or the delivey? by Anonymous Coward · · Score: 0

    Perhaps it's not the documentation itself, but the way it's being delivered. Traditional tech pubs are often difficult to search and woefully outdated. We're trying to do something about that here at TerraXML.

  163. Re:What does StackOverflow run on? by shutdown+-p+now · · Score: 1

    Unicode support? Standard library still being an incoherent mess (well-documented one, though, I'll give you that).

  164. Re:What does StackOverflow run on? by maharvey · · Score: 1

    Take an arbitrary list, and output a sorted liste with no duplicate entries

    In that case, sh wins this readability pissing contest:

    cat list | sort | uniq

  165. Re:What does StackOverflow run on? by MightyYar · · Score: 1

    Yeah, well I'm all done defending PHP now :) If I am scripting, I currently like Python. It has some warts, and the speed isn't always fantastic, but it's my favorite right now.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  166. my take on MS documentation by Anonymous Coward · · Score: 0

    @gameweld

    Based on your post my 1st thought after briefly remembering the hell you have to ENDURE when a BSOD error hits you havent seen before or its been so long ago you forgot what the ultimate fix turned out to be-is this--> do YOU find MS documentation even readable let alone useful?!?!

    its written based on my experience as a guy who just builds his own box and learns thru the school of hard knocks the MS doc is worse than useless-it only hints at this being the cause and offers if at all any fix(s) such vague techno/lawyer speak to be functionally useless. I taught myself BASIC on a trash-80 using Tandy manuals as my teaching aids as a kid, and can converse well enough with a COBOL programmer to fool them I'm one too. I also taught my self SPSS on my college's mainframe. SO I'm used to reading and applying less than ideal reference material into getting a computing device to function.

    Big probs with MS doc to my view is its not cataloged/organized/indexed/searchable so you can find info on your specific problem. Part of it stems from MS making its products be all things to all users -you can make something do everything well for every conceivable use. Part of it is MS unwillingness to render actual aid-if if advises you wrong-in today's world someone is going to be suing you-just ask Wal-Mart the most litigated corp in the world. Also how MS labels or names the issue/prob isnt what anyone who isnt IT technician, ie a profession who fixes and troubleshoots computer systems for a living which makes the finding the one doc out of probably billions so difficult to locate. (no offense intended to those who are much more than a tech who fix/troubleshoot for a living as part of your job)

    In MD defense unless they have access to your computers complete build and software installed plus drivers used many problems can come from many different sources and are pretty difficult to pinpoint.

  167. How Documentation Really Happens by scribble73 · · Score: 1

    Technical documentation is bad because very few software projects identify documentation as a task they need to accomplish, in their Project Plan. Marketing does very little in their PRD. Engineering does next-to-nothing in their FS. When it finally does occur to the Project Manager that customers will need something, the engineers on the team think that it's a piece of cake. They already have an Engineering Specification; surely customer documentation can be easily extracted from the Project Spec -- the technical team can just 'wing' it the last month of the project, and everything will be fine. ... so the project deadline approaches. The spec has become grossly incomplete and out of date. The Engineering team has no idea who the buyers will be. Engineers generally lack the writing skills they need, to prepare long, detailed documents. They haven't defined anything; outlined anything; identified questions that users would ask. The Marketing team (involved by this time) doesn't really know how to write, either -- but they think they do; and they also think that usual Marketing bluster will get them by. So things go wrong. Engineering and Marketing get in a fight, which wastes time. Sensing doom, the first few Marketing people leave the project. As a compromise, the Project Manager forces the Lead Engineer to assign someone on his team to document the product. The Lead Engineer assigns the most junior Engineers on the team. They fail to produce anything usable, because the Lead Engineer has also placed documentation last on their list of project priorities. By this time, the Project Manager realizes he/she has a serious problem. To calm everybody down, he/she hires a technical writer at the last minute. He treats the writer pretty much as a secretary: No technical briefing. Not integrated onto the team. The Engineering Lead has placed the doc files under Engineering version control, where every misplaced semicolon in a doc file unnecessarily breaks the nightly build. The Project Manager still expects the documentation to be finished on the same minute of the same hour of the same day that the product is released as an alpha/beta/PR -- sometimes a few weeks early, so it can theoretically go through QA first. Through all this, no one (except the writer) has thought to ask what the customers (including the technical customers) actually need to know. It always ends badly for everybody -- because the Project Manager and his initial team ignored their documentation requirement because it didn't look like it would cost enough to require their management time. While Microsoft deserves some criticism; other large companies are worse (and more cynical about it). ... just make a list of the largest companies in Silicon Valley. None of them have instituted business processes that have a prayer of producing the tech documentation anyone can easily use. When they finally produce usable docs for a product, it's on the third or fourth version, several YEARS after the original deadline. Open Source projects generally handle Documentation worse than this.

    1. Re:How Documentation Really Happens by scribble73 · · Score: 1

      NOTE: I have no friggin' idea why; but the /. editor stripped all my paragraph tags out of my original post. Here it is again, but in a much more readable form. I apologize.

      Technical documentation is bad because very few software projects identify documentation as a task they need to accomplish, in their Project Plan. Marketing does very little in their PRD. Engineering does next-to-nothing in their FS.

      When it finally does occur to the Project Manager that customers will need something, the engineers on the team think that it's a piece of cake. They already have an Engineering Specification; surely customer documentation can be easily extracted from the Project Spec -- the technical team can just 'wing' it the last month of the project, and everything will be fine.

      ... so the project deadline approaches. The spec has become grossly incomplete and out of date. The Engineering team has no idea who the buyers will be. Engineers generally lack the writing skills they need, to prepare long, detailed documents. They haven't defined anything; outlined anything; identified questions that users would ask. The Marketing team (involved by this time) doesn't really know how to write, either -- but they think they do; and they also think that usual Marketing bluster will get them by.

      So things go wrong. Engineering and Marketing get in a fight, which wastes time. Sensing doom, the first few Marketing people leave the project. As a compromise, the Project Manager forces the Lead Engineer to assign someone on his team to document the product. The Lead Engineer assigns the most junior Engineers on the team. They fail to produce anything usable, because the Lead Engineer has also placed documentation last on their list of project priorities.

      By this time, the Project Manager realizes he/she has a serious problem. To calm everybody down, he/she hires a technical writer at the last minute. He treats the writer pretty much as a secretary: No technical briefing. Not integrated onto the team. The Engineering Lead has placed the doc files under Engineering version control, where every misplaced semicolon in a doc file unnecessarily breaks the nightly build.

      The Project Manager still expects the documentation to be finished on the same minute of the same hour of the same day that the product is released as an alpha/beta/PR -- sometimes a few weeks early, so it can theoretically go through QA first.

      Through all this, no one (except the writer) has thought to ask what the customers (including the technical customers) actually need to know.

      It always ends badly for everybody -- because the Project Manager and his initial team ignored their documentation requirement because it didn't look like it would cost enough to require their management time.

      While Microsoft deserves some criticism; other large companies are worse (and more cynical about it). ... just make a list of the largest companies in Silicon Valley. None of them have instituted business processes that have a prayer of producing the tech documentation anyone can easily use. When they finally produce usable docs for a product, it's on the third or fourth version, several YEARS after the original deadline.

      Open Source projects generally handle Documentation worse than this.

  168. Re:What does StackOverflow run on? by shutdown+-p+now · · Score: 1

    Yup, my point exactly. I'd understand PHP advocacy if it was the only dynamically typed language, but when you have Python and Ruby that are just that much saner designed, and can do all the same things at least as well, and usually better, PHP just has no excuses going for it.

  169. Re:What does StackOverflow run on? by bennomatic · · Score: 1

    I guess the point of my point was not to out-and-out deny yours, but rather to suggest that it's rarely so black-and-white. My faster, lighter, sturdier bike response to your old bike that works fine was to hint at the possibility that with the new one, the point was not just bragging rights, but being able to get from point A to point B faster, in less of a sweat, and with less likelihood of requiring some sort of maintenance.

    It's a matter of degrees. I absolutely agree that old things shouldn't be thrown out just because they're old, but with a 25-year-old piece of code, just like that bike, there are probably worthwhile reasons to consider changes, and if those changes are major enough, there are probably worthwhile reasons to consider changing the underlying technology.

    Sometimes, inertia is a good enough reason not to change because the reasons to change are not compelling. Sometimes, inertia is a terrible reason not to change.

    --
    The CB App. What's your 20?
  170. Ordered to write bad documentation by minstrelmike · · Score: 1

    I was ordered to write bad documentation. I told them there is no need to print a page showing what was on the screen and writing instructions down as to w hat was supposed to be entered in the Name and Address fields. imo, if you don't already know, you probably aren't going to read what I wrote anyway. I wanted to write answers to normal questions and the bugs that had already been found by testers but that got the kibosh.

  171. MSDN is awful compared to? by Shred303 · · Score: 1

    MSDN is awful compared to what? I'm a .Net developer and IMO .Net is one of the most vast and well documented APIs created. A stack overflow entry supplies a very specific answer to a very specific question, so of course I can get a great answer to a very specific problem very quickly. The API documentation on MSDN is a tool you apply to answer your questions and understand the API and architecture. I use MSDN a lot, I use stackoverflow constantly. To suggest their documentation was a waste of time is ludicrous. Where do you think the stackoverflow experts obtained the knowledge to apply it to the problem in question? Case and point, stackoverflow entries constantly refer to the MSDN and KB entries.

  172. MS Search doesn't work by Anonymous Coward · · Score: 0

    First and foremost, MS search products do not work. I am convinced they could not find their own brown holes if monkey boy's nose was stuck in them as a overstuffed flag indicator. If you are lucky to have a relevant hit using said search, the url is probably broken. On that rare 0.1% you actually find a relevant url, the data is either too concise or 40 pages long. Do that for 10 times a day when you are already time crunched and your mind is numb from over work and you begin to curse MS with extreme noxious venom. I used to use the built in context menus until MS dumped its entire encyclopedia of world knowledge into the product: topped only by the inclusion of another useless MS search product to search through the docs with.

    When seeking .net help, few tools beat Google. Even if stackoverflow was not the on top of the Google results, I would hunt several pages for their urls to include in my research. Stackoverflow via Google contains some of the most relevant hits for quickly getting past your ms visual studio quirks and ms tech idiocy.

    PS: VisualStudio97 docs were the best and vs6 were the last useful docs MS put out. Once they got rid of the old KB web site in the mid/late 90s, their website went to and remains in a useless state. In the old days, you could quickly find extremely helpful info, searching from one page (which was always there). Since that time, seems a psycho url switching policy took its place returning little more than broken links and useless dribble from "intellectual tech" posers.

  173. Re:What does StackOverflow run on? by mystikkman · · Score: 1

    Sorry, but .NET is alive and powers the new tablet apps.

  174. Re:What does StackOverflow run on? by RockDoctor · · Score: 1

    There are no bad languages, just languages being misused.

    Oh so very wrong.

    This "Malbolge" sounds interestingly difficult to use. But what about Intercal?

    --
    Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
  175. Re:What does StackOverflow run on? by RockDoctor · · Score: 1
    OK. Now I'm sure that I'm going mad. Or sane. Or somewhere in between.

    I've discovered LOLCODE, which is mad, but in a sane sort of way.

    And then I've discovered "esoteric" programming languages. Actually, I've known of them for some time. "Whitespace", for example, is a language which I met several years ago from a different direction (it's the ultimate in steganographic programming ; the hard copy printouts consist only of ... errrr ... white space).

    But I see a trend towards programming languages which have very small numbers of commands and operators. And this is where I think that I really should check what goes into the coffee machine, because it's getting weird.

    I conceive ... (of) ... a programming language with a small vocabulary (commands, operators), which, with a "modified" keyboard, could produce valid code by a cat could walking across the keyboard. "I have a dream, LOLCATz and LOLKITTEHz ..."

    Better (?), but probably harder to achieve, would be a programming language where correct code could only be written by a cat walking across the keyboard.

    I'm not sure which is scarier - that I can think of such things ; that other people might just possibly agree with me that it's a worthwhile project ; or the terrible, terrible implications of Rule 34.

    --
    Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
  176. But much stackoverflow content is derived by Baki · · Score: 1

    From other sources, directly and mostly indirectly. Most experts answering questions sooner or later had to go in depth and "resort" to full and complete vendor documentation. Using this, they are able to post on stackoverflow.

    Without the documentation source, noone would ever be able to obtain the knowledge in the first place. Except for some simple and self documenting systems/API's.

    Surely it is not to be hoped that software providers are going to rely on "user generated content" and neglect reference documentation.
    (No, I'm not a technical writer myself).

  177. Re:What does StackOverflow run on? by hesaigo999ca · · Score: 1

    >there are probably worthwhile reasons to consider changes
    I agree with you here, but the fact is that most companies do not want to invest money on recoding stuff that still works....which is why you can still walk into some companies running old dos systems

  178. Re:What does StackOverflow run on? by bennomatic · · Score: 1

    which is why you can still walk into some companies running old dos systems

    DOS? My father used to build and deploy small nuclear reactors (cyclotrons) for use in medical/research facilities (specifically for creating radioactive tracers required for PET/CAT scans), and now acts as an independent consultant for the clients who've gotten those machines over the last 40 years or so.

    He told me a few years back about going into a client facility with one of the older models, which had originally been run using a control system written on a PDP-11. At some point, the PDP-11 crapped out, and what the client did was get a beige box PC with appropriate ports added on in a slot, and with a PDP-11 emulator built in. They then hollowed out the rack cabinet where the PDP-11 had been housed and put the PC in it, along with some other equipment. With the cabinet door closed, it looked like it did the day it shipped.

    I'd be a little worried about running a PDP-11 emulator on top of Windows 3.1 (IIRC, that was what the set-up was) for controlling a small nuclear device, but I guess it worked for them.

    --
    The CB App. What's your 20?