5 ms·
SO is another area where I feel "out of sync" with the rest of the "programming world", in that I've... * ...never posted a question to SO (because I've never
by ubertaco 10y ago
SO is another area where I feel "out of sync" with the rest of the "programming world", in that I've...
* ...never posted a question to SO (because I've never found it either necessary or helpful to do so),
* ...only ever "copy-pasted" from SO once (it was a CSS polyfill for iOS having broken "support" for vh/vw)
* ...only attempted to answer questions on SO twice, exclusively out of a feeling of "am I missing something?"
I've been programming for 16 years, and doing so professionally for 7 of those. I've always seen StackOverflow as like a worse version of MDN or something: obscure API-specific stuff that should be in documentation for libXYZ or XYZService but for some reason isn't, with answers supplied by random internet people and "graded" by other, less-knowledgeable random internet people.
For more advanced stuff (like "what are higher-kinded types" or "how do monads help simplify concurrency"), online articles, tutorials, or IRC channels have always been a sufficient supplement to just trying stuff myself.
I must be missing something, given the "reverence" SO seems to get.
- 4ad 10y agoI don't think you are missing anything. I also have never asked anything on SO, and never used SO as a reference. SO only seems to work for factual simple answers that are found in the documentation or manual pages. For higher level discussion SO is not appropriate; mailing lists and IRC work best for that. I suspect most people don't like reading reference material so asking random stuff on SO works for them
- debaserab2 10y agoI think there is definitely something to what you're saying. Reading API documentation is in itself a skill - when you're starting out, a lot of times you don't even know the right question to ask that would be covered in API documentation. Instead, you ask the wrong question on SO and end up getting the right answer because you have other humans that are able to interpret it. As you get better, you begin to understand what the right question is and how to use the actual reference material provided to you.
- ci5er 10y ago> I suspect most people don't like reading reference material so asking random stuff on SO works for them This is probably true. I'm not a Windows developer and on a recent project I had to use their IDE (which turns out to quite nice, if you are an IDE person) and a set of their APIs. I read, but did not understand, some pretty fundamental/basic MS-authored documentation. I found a few answers to questions related to other people not understanding it either, and was on my way again. To be fair to MS, it was documented, completely and accurately. I just wasn't accustomed to some of their calling conventions and was getting yelled at by the linker. EDIT: Outside of embedded systems, where there are a lot fewer moving parts than on your typical MS OS box, it's been a while (20 years?) since I was thrown at an environment where everything changed from what I am accustomed to. OS. Language. CPU architecture target. IDE. IDE configuration for project build. Build process. SDKs. Calling convention. Oh, and the 2M line code-base that I had just been introduced to (and where none of the MS Visual Studio project files had been checked into version control - so I'm fumbling in the dark there). Googling for the error message and landing on SO at least gets you to the point that you know you have a configuration problem vs a calling convention problem. That tells you where you need to start looking in the documentation.
- pjc50 10y agoOne of the weird things about MS documentation is how slow MSDN is. It's often faster to find the answer through Google->Stackoverflow than it is starting at the top and drilling down MSDN.
- ci5er 10y agoNow that you mention it, I've noticed that. The pages seem to load quickly enough, but take a while to appear. I might be some funky client-side JS rendering "stuff". It reminds me of how a lot of material design web-component/apps take forever to change after you "load" or "click" (for example).
- ryanbrunner 10y ago> I suspect most people don't like reading reference material so asking random stuff on SO works for them That's a dismissive way of framing it. There's nothing anti-intellectual or lazy about using the tool that will most efficiently retrieve the information you're looking for. If I'm faced with a non-esoteric problem that I don't immediately know the solution for, I'd much rather spend 5 seconds Googling it and being brought to a highly relevant Stack Overflow answer that addresses my specific problem than having to find my way through a poorly-searchable manual.
- acjohnson55 10y agoIt probably depends on the type of coding your doing, and your style of problem solving. I've experienced a massive boost in productivity using StackOverflow to help resolve the sorts of issues that are too big to appear in the docs and too small to have a whole blog post. But perhaps it has something to do with the sort of software I work on that I happen to run into a lot of problems in that sweet spot.
- Gracana 10y agoI have the same feeling. The official docs, experts' websites, code from relevant projects, and books are always better than getting a quick answer from SO. Sometimes when I've exhausted my available resources (often the case is that I don't have the necessary book), I'll click on an SO link... only to find that the question is closed because it's not a bite-sized chunk that fits the SO format.
- Bartweiss 10y agoI think this depends a lot on how good the "official" docs are. For some topics (like a depressing amount of Android stuff), the official resources are unclear, out of date, or fundamentally wrong. If the official API is just a list of functions and parameters, Stack Overflow is a great place to find out about hidden side effects and other issues. For me, Stack Overflow helps to bridge the gap between crummy official documentation and how tools actually work.
- Gracana 10y agoI was thinking about that when I wrote my comment, but decided to only include my own experiences. I think you're right / what you say makes sense, though. Particularly for popular and fast moving projects (like everything web related), a lot of people are going to run into the same problems, and either the documentation is poor/doesn't exist, or they don't have the time to learn X the hard way.
- onewaystreet 10y agoYour two advanced questions are answered on SO: http://stackoverflow.com/questions/6246719/what-is-a-higher-kinded-type-in-scala http://stackoverflow.com/questions/6246719/what-is-a-higher-... http://stackoverflow.com/questions/27190934/implementation-for-poor-mans-concurrency-monad http://stackoverflow.com/questions/27190934/implementation-f... These are only two questions of many on these topics.
- Bartweiss 10y agoOne thing I love about SO: that second question has only seen ~20 votes, but it still has a detailed and thoughtful response to a subtle question. I'm constantly impressed by how niche a topic can be and still get a really solid answer.
- forgottenpass 10y agoI must be missing something, given the "reverence" SO seems to get. You have bit of experience, Stack Overflow's usefulness applies mostly for novices. See the people who said they learned to program with SO in this thread, or otherwise find the material there useful. They're the target userbase, not you. I suspect the audience is not limited on purpose. The work required to answer questions, and incentive system seems to select for questions that are already google-able but the person asking just doesn't have enough domain knowledge to productively google for that answer. The only time I get a useful stack overflow google result is when I've jumped headfirst into an area outside my skillset and need to do a common operation but the toolset doesn't make obvious. The kind of questions where I'd be desperate enough to ask SO are either complicated and - at best - get "don't do it like that" answers. Or I'm looking to better understand the technical considerations going into a design decision, which is too opinion-based (or whatever SO calls it) to be asked.
- coryfklein 10y ago> Stack Overflow's usefulness applies mostly for novices I can understand this belief in that the most prominent content on the site is that which gets the most upvotes, and by statistical necessity the number of novices voting must be greater than the number of experts voting. But when you get into the niche topics or tags, that's when the expertise really comes through. Try browsing the [scala] or [haskell] tags, they may not have a giant community, but the general level of both questions and answers hardly fits your generalization of "novice". If we were just talking about the "hot questions" of the month (http://stackoverflow.com/?tab=month http://stackoverflow.com/?tab=month) I could understand why it would seem the site is mostly useful for novices, but there is definitely a place for expertise in the community as well.
- Silhouette 10y agoI must be missing something, given the "reverence" SO seems to get. I don't think you are. Stack Overflow was an interesting idea, but I find it has a terrible signal/noise ratio today and one of the most unpleasant and unconstructive cultures of any tech discussion site, for basically the same reasons that many other comments here have already given. The way they chose to co-opt search engines was also a brilliant move by the founders, but has also now become annoying to the point where I'd have the entire SO network removed from my search results pages by default if I could.
- pjc50 10y agoWhat would you prefer be returned instead? Places like Expertsexchange or Quora?
- Silhouette 10y agoNo, they are usually even worse. What I would prefer to see is whichever search results organically rise to the top excluding the huge but more-hype-than-substance sites by default. I often find there is real expert commentary via official docs, blog posts, archived mailing lists, presentations at conferences, and so on, sitting just underneath all those SO links that clog up the first results page.
- Shog9 10y agoThis has pretty much always been true in my experience; if you're really determined to learn something in depth, you gotta go past page 1 of the search results and look for the folks who've spent years writing about some obscure topic and only get links from other people who are similarly dedicated. And then hope their blog doesn't disappear from the 'Net before you finish digesting or need to refer back to that information. Buy their book if they have one. The founding goal of Stack Overflow was literally "programmers seem to have stopped reading books"[1]. NOT "programmers shouldn't read books", or "book learnin' is inferior to superficial familiarity", but simply... "they appear to have stopped". There are probably a lot of reasons for the tendency folks seem to have of not investing effort into building a deep understanding of the things they're working with... But ultimately, it doesn't really matter: either you provide information in bit-sized chunks, or someone else will and you lose the ability to influence the quality of that information. Not the choice we'd like, but the choice we have. Disclaimer: SO user since '08, employee since '11. [1] http://www.joelonsoftware.com/items/2008/04/16.html http://www.joelonsoftware.com/items/2008/04/16.html
- ceres 10y agoWhat is wrong with getting answers from "random internet people". I've actually looked into some StackOverflow users and some of them are pretty accomplished software engineers in their own right.
- coryfklein 10y ago> I must be missing something, given the "reverence" SO seems to get. I suspect that the part that you are "missing" has to do with the following belief: > answers supplied by random internet people and "graded" by other, less-knowledgeable random internet people You've inherently discounted the quality of content on the site, so it's no wonder you find nothing valuable there. The fact is that "crowd sourcing" actually can work, and "random internet people" are able to curate and raise visibility of quality content. I think Stack Overflow is one of the best examples of this. Despite being inundated with terrible content, the system is able to consistently identify quality and float it to the top while mostly keeping the trash out of sight.