516 comments

[ 310 ms ] story [ 8391 ms ] thread
the site jumped the shark when they removed the question "new programming jargon you coined" which was easily the best one they ever had
For the curious, the top 30 responses were reblogged by Jeff Atwood: https://blog.codinghorror.com/new-programming-jargon/

Archive.org link to the original question here: https://web.archive.org/web/20120210110752/https://stackover...

I refuse to look at this. Basically the guy stole the work of many people for himself.
He credits all contributions to their respective user
The Creative Commons license disagrees with your characterization. Plus Jeff founded Stack Overflow, so it's odd to single him out if republishing works legally is stealing.
Exactly. Atwood's post says "Unfortunately, we don't have a good designated place for deleted "too fun" questions to live, but all Stack Exchange content is licensed under Creative Commons in perpetuity. Which means, with proper attribution, we can give it a permanent home on our own blogs.

And he does link each term to the StackOverflow user who posted it.

> all Stack Exchange content is licensed under Creative Commons in perpetuity. Which means, with proper attribution, we can give it a permanent home on our own blogs.

But can we, in practice? Where can I find all the answers to that question, including the comments?

By "stealing" I refer to the removal of the original content from the main site, not to the copy itself.
> Can people truly not comprehend how downvoting a post to -20 (or more) is perceived by the author of that post?

No, Stack Overflow high-rank users certainly do not. (A current community moderator literally said "Voting is not a friendly or unfriendly activity.") I've too suggested that the UI should be changed to be less abrasive and that high-rank people should be more accountable for their actions and been downvoted for that.

It's worth noting that this phenomenon of lack of empathy exists mostly in Stack Overflow, much less so in smaller communities where people don't generally have that much rank. At least that's what I saw with my personal empirical observation of Arduino SE. Not to mention the high-rank users loathe the welcoming initiative SO made, because god forbid they can't be snarky asses without getting flagged any more.

The SO guidelines are that voting is about the question, not about the author. Everyone who has a rant about SO shows that is not universally agreed on, to say the least. But for you to say "people should be kinder and more empathic", for downvoting within the rules of the site, while you go on a rant calling people unwelcoming snarky abrasive asses, is amusingly hatey.
> for downvoting within the rules of the site

Doesn't make it good for the site or it's users. It's a very poor excuse.

> rant calling people unwelcoming snarky abrasive asses, is amusingly hatey.

Are you a high-rank SO user? Also, what I stated is not a "rant" it's an empirical observation.

> Doesn't make it good for the site or it's users. It's a very poor excuse.

Excuse for what? SO has the UI instruction that you /should/, as a user who agreed to follow the rules, downvote low effort questions which show no research. Agreeing to follow the site rules, then not following the site rules and deciding it should be run the way you want it to be run instead, isn't good for the site either.

> Are you a high-rank SO user?

I've never thought so, but looking at the data[1] everyone with >500 rep is in the top 5%, so by that standard, yes.

> Also, what I stated is not a "rant" it's an empirical observation.

No, it's not. Saying that people "should be held accountable" for their downvotes on an internet site is not "provable by means of experiment", it's "people I disagree with should be punished". Calling people "snarky asses" is not experimental, it's subjective interpretation. Describing downvoting as lacking empathy, on a site where downvotes are intended to describe the question not the author, is subjective interpretation.

[1] https://stackexchange.com/leagues/1/alltime/stackoverflow/20... tables on the right hand side

> Excuse for what? SO has the UI instruction that you /should/, as a user who agreed to follow the rules, downvote low effort questions which show no research. Agreeing to follow the site rules, then not following the site rules and deciding it should be run the way you want it to be run instead, isn't good for the site either.

How many questions that get downvoted actually haven't done any research? I've seen a ton of those that have done their research and have gotten downvoted. In addition to those I have personal experience where I list what I've tried and found, and still get downvoted. I have to say, not listing any research has ended up better for me.

It's an excuse for just downvoting without really a good, constructive reason. It's absolutely fallacious to keep iterating over the same "it's a feature, not a bug" argument, the existence of a guideline is not a good reason for the guideline to exist, same applies to the Stack Overflow Meta as well.

> Saying that people "should be held accountable" for their downvotes on an internet site is not "provable by means of experiment", it's "people I disagree with should be punished".

How is "explain why you are downvoting" a punishment if what you're doing is actually reasonable? If you feel you are punished when you have to explain why then you shouldn't downvote.

> Calling people "snarky asses" is not experimental, it's subjective interpretation.

It's your interpretation of "snarky ass" you can't detect by observation of comments. I myself can verify by observation that such comments exist.

> Describing downvoting as lacking empathy, on a site where downvotes are intended to describe the question not the author, is subjective interpretation.

You're definitely lacking empathy right now if you don not see that downvotes will never have the "intention" you said, at least for most people.

Oh, and let's not forget, it's not a subjective interpretation that people get negative emotions towards random downvotes being thrown at them, it's very visibly observable one, might even say it's empirical.

> random downvotes being thrown at them

True. And I would say "random unjustified" down-votes. Because if they are not required to explain their down-vote the simplest Occam's Razor explanation for such down-votes is that they just wanted to be a jerk.

This is a system-problem with Stack Overflow. They could easily require that every down-vote is given a verbal justification AND also that down-votes can be down-voted (with a similar verbal justification).

Down-vote without explanation is like a punch in the face in the dark you can not counter-punch, and you know they know you can not, and therefore you know that is one factor on why they are doing it. That is the reason why it feels hostile. Now of course somebody who punches you can SAY they don't mean it as a hostile action, but do you believe them?

> How many questions that get downvoted actually haven't done any research?

The guidelines say "shows research" - hover over the downvote arrow on StackOverflow and read the tooltip - so who knows how many? That said, you're discussing it for you writing a well researched question, but the META arguments are usually for the thousands of "give me the codez pls" homework dumps which get filtered out before most people see them, because the downvotes put them into the review queues and effectively cause them to be filtered.

> the existence of a guideline is not a good reason for the guideline to exist

SO have not changed this policy, despite lots of feedback, for years and years. Shouldn't we assume they have good reasons even if we don't know what they are?

"we're working together to build a library of detailed answers to every question about programming."

The users of a library are not the book authors. The feeling of the book authors about the reviews on their books doesn't come into the design of a library, for one example. So maybe we do know what their reasons are - their actions say they bring in a 'welcoming' policy before they change the downvotes.

> How is "explain why you are downvoting" a punishment if what you're doing is actually reasonable?

You said "high-rank users will be more accountable for their behaviour [which is] being snarky asses", that is very different from "every downvote should be explained".

> You're definitely lacking empathy right now if you don not see that downvotes will never have the "intention" you said, at least for most people.

I have argued the same thing on HN before, downvotes is a terrible UI design for SO. But they are the design, and here I'm arguing that should be respected.

> lack of empathy

I think this interpretation is colored by your own bias. Downvotes only show a lack of empathy if downvotes are a social mechanism to comment on the asker, not the question. Particularly given that the SO guidelines explicitly say that downvotes are for the question, not the asker...

I'm reminded of every stop sign I've ever stopped at in my life. Some asshole is always waving me ahead of them, even though the rules of the road say it is their turn. They probably think they are being considerate. But I don't think they are being considerate - I think they are making traffic flow less well, an inconsiderate act.

Interpreting downvotes as a lack of empathy is the same sort of wrong reasoning as thinking that letting somebody go in front of you at a stop sign is considerate. It disregards the well documented and publicly posted rules for something you made up.

> Interpreting downvotes as a lack of empathy is the same sort of wrong reasoning as thinking that letting somebody go in front of you at a stop sign is considerate. It disregards the well documented and publicly posted rules for something you made up.

Interpreting downvotes as a considerate act is like stabbing tires on someone's car who just had a light go out. Saying nothing because downvotes don't give any useful signal at all, they don't even know you stabbed because a light doesn't work. And seeing stabbed tires doesn't really give people seeing the car an useful signal either, only maybe a sense of being in danger.

The signals aren't for the person who asked the question. Downvoting signals to other stack overflow users that this question probably doesn't contain the information they are looking for. When done correctly, this is considerate because it reduces the amount of time users spend searching for an answer. The goal of SO isn't to answer your question, it's to build up a massive high quality FAQ, and you should interpret the social cues in this context.
> When done correctly, this is considerate because it reduces the amount of time users spend searching for an answer.

But it isn't done correctly. It's done rather arbitrarily, because who could have predicted that accurate rating of questions is hard and that in the end what matters is having a quality knowledge base on various subjects not only the ones some specific people think are useful.

I'd also not ignore that pretty much noone except the asker care about questions' votes when primary traffic to questions is from search engines.

Oh, and I almost forgot, your claims of how downvotes are not meant as a signal for the asker, then why are they displayed the votes? Why should they lose rep if it's not meant as a signal to them?

Do you believe that downvoters have no empathy or that they have empathy, they are just bad at downvoting well because the problem is hard? Your comments seem to contradict on this point.
Neither answer to your question is not entirely what I mean. Yes, the problem is hard, but the lack of understanding of the askers' side is a problem of people arguing against any changes to the system.
Downvotes are a useful signal - they let you tell the difference between no-one looking at your question and you asking a bad question, which is huge. 99.9% of the time the alternative to a downvote isn't a thorough and considered explanation, it's no response at all.
There is a "times viewed" counter at the top for questions.
This high-rank user does comprehend the impact of downvotes, and I cringe when I see people advocating for their use. The lack of empathy is truly incomprehensible.
One thing that always bothered me about SO was that it shows who answered and their score. It should display answers without the user until an answer is accepted.

There’s been many cases where a high score user answers, gets a lot of upvotes cos people are like “oh his score is 30k so he must be right” yet the answer is not good or incorrect. And there is a better more correct answer by someone with a Low score who get few votes.

Voting should be unbiased and be based on the answer. Not the person who answered.

Maybe for Stack Overflow, but for more scientific Stack Exchange sites with smaller communities I find the username to be really useful.
I’m not saying remove it for ever. Just for a period of time or until an answer is selected.
Even reddit made the switch to a similar system. unknown points until later.
The parenting comment suggest something different than what Reddit does. Reddit hides the comment's score, the comment suggest hiding the commenter's profile altogether so you can't see the commenter's reputation on the site.
True, but the principle is the same. Avoid apriori votes based on reflexes.
It just doesn't seem possible to hide the answerer's profile though. It's possible they commented on the question asking for clarification or on another answer. In which case you need to be able to respond to them so who do you "@"? If they get some fake username during this anonymous period I supposes maybe that could work but then what if they question is discussed in chat or meta or the anonymous answerer posts a link to another question they answered where their username is no longer anonymized? Then they are exposed for who they are.

How long would you keep it anonymized? most questions don't get almost any traffic at all when they are first asked. They only get exposure over time.

It just seems like a posing proposition because it's so easily circumvented in which case it's not worth the effort at all.

This is a feature. The person who answered is specifically indicated with their reputation to help sort among answers.

It's like if you have a health-related question and get answers from two people: A trained surgeon and your mate from the pub (Edit: who's obviously not trained or knowledgeable on the topic, jeez). A priori whose answer is the more insightful?

If you're not knowledgeable and get a number of anonymous answers it may be difficult to get an idea of their relative 'values'.

If you’re using a public forum for health questions then you have bigger problems to worry about.

But put it this way. Trained surgeon A who has 5 years experience and has been on the site for 3 years has 4000 reputation. Answers a question.

A trained surgeon with 26 years experience who joined the site last week and has a reputation of 200 supplies a far better answer with added explanation of why and how etc.

You look at it and say oh wow 4000 reputation he must know more than the other guy. I’ll take his advice over the 200 reputation guy.

> If you're using a public form

If you don't understand how comparisons work, you have a bigger problem to worry about.

> put it this way

The question then becomes... the 26 year veteran surgeon does boob jobs and tummy tucks. The 5 year veteran does emergency room and brain surgery.

Given how complicated something as simple as "surgery" is... how do you plan on registering and ranking something with multiple levels of "experience" for "easy" viewing by users who want to ask questions?

New to site, surgeon, decades of experience, plastic surgery

Been on site, surgeon, years of experience, "real" surgeon

lol what neurologist is taking shifts in the ER. last hospital visit I had I was extremely grateful to get a consult from a plastic surgeon (who was not a cosmetic surgeon)
Stackoverflow's answer evaluation is not based on expertise, but rather on the opinion of those interested in the subject. Answer scores are targeted _public opinion polls_, nothing else.
To continue your analogy. Your mate from the pub can also be a trained surgeon. Just because they are in a pub, drinking cheap beer, and don’t have a surgeon badge/uniform with them doesn’t mean that their answer is less valid.
It's a feature up to a point, but it also introduces the problem of "compound reputation", where comments by those who have previously been heavily upvoted tend to attract upvotes regardless of merit. In particular, they tend to attract upvotes more than other comments by people who haven't yet established the same level of reputation on that forum, even if the latter comments are actually more helpful in that particular discussion.

I'm not aware of any discussion forum that has yet come up with an effective way to balance those competing effects. I suspect it would need a more complicated moderation/voting system that grades a comment on multiple scales independently, with credibility/correctness being one of them. But then you have a new problem of how to keep the system manageable so that users can still operate it with negligible effort and without the scoring system becoming confusing and more trouble than it's worth.

Except if you have a similar question (and you're better trained to select an answer) your question is marked as a dupe. Which is in conflict with the system as described by you and GP.
Marked as answered is a fundamentally horrible idea and that feature should be removed. The problem is that the person asking the question isn't capable of determining a correct answer. Far, far to often they pick something that appears to solve their problem but actually is a terrible idea.
Well, the accepted answer means that the solution proposed worked for the asker, then there are the votes and comments to evaluate whether or not this is a good answer.
That's the theory, but it's amazing how often I click on a search result leading to SO and find an accepted answer that's either wrong or doesn't even answer the question.
A lot of the times, "right" and "wrong" depends on context. An answer that works for me may be the wrong answer for you. But the "accepted answer" mechanic is useful as a way for the asker to communicate to the site as a whole that the question is no longer in pending status, and that others who are browsing around to see what needs to be answered can move on to other questions.
> question is no longer in pending status

But practically forcing users to select an answer as "good" should probably not be the only way to do this.

> the accepted answer means that the solution proposed worked for the asker

That's a fundamental tension in the purpose of the site. If the particular problem of the asker is the end goal, then duplicates would not be closed. All other site criteria institute a strong demand for general interest of questions.

Part of its success may be deftly balancing those two conflicting interests. On one hand is the role of helping people, and the other hand is a non-repeating and immediately useful knowledge base. Both of these demands bring human attention, and satisfying either requires real work by a human. The challenge is to keep the relevant human around just long enough to do enough work so that you have plausibly usable content.

Accepted answers are a site design tailored for one use, but it is fantasy to pretend that it harmoniously exists along side the other use. They are not separated. Design elements oriented toward one way of use degrades the other use.

And right below it is the answer that goes on far too long. So long that it requires headings, an introduction, an abstract, a recommendation, caveats for the recommendation, a discussion of alternatives, some performance comparisons, critiques of a few other answers (including the accepted one), a conclusion, and a table of references.

I know because I write those kinds of answers.

I wish they would unpin those answers from the top - leave the green checkmark, just let me sort by whatever has the most votes recently - say in the past year. Then we'd get more up-to-date answers more attention, and more readers would find them.

Even worse is when the accepted solution is either deprecated or no longer works in future versions of the language/framework used. This is where Stack Overflow's "archival" nature seems to stop working, and where answers based on upvotes would work better.
Marked-as-answered shows their original vision of the site (with a homogeneous work queue), and that they didn't want "What are the best ways to organize state in your app?" But I think the lack of sites providing for more open-ended questions means people wanted Stack Overflow to do both.
Fully agree. There are lots of instances where highest voted answer aren't the best answer or even wrong. Usually I look for the comments to a given answer to assess the quality of answer.
I think they should support both the "accepted" and "best" answer use cases. Have separate indicators in the UI for them.

In the common case, the accepted and best answers will probably be the same, so keep the classic green checkmark there.

When the accepted and best answers don't match, have two checkmarks (or whatever) - one that explicitly says "user XXX accepted this answer" and the other that says "this is the best answer".

They have this in the form of upvotes. If the community disagrees with the selected answer, they can use upvotes and downvotes to reflect their opinion. Then, a user who is reading the question can sort answers by vote count.
I get the desire for answers to be evaluated on their own merits, but here is an argument for the system staying the same as it currently is:

1. If you're asking for help on a topic, then--by definition-- you are in an information asymmetric situation. You don't know what the right answer is. There's a decent chance that you, as the asker of the question, are not in a position to evaluate the answer on its merits.

2. Therefore you have to choose the answer based on other factors. On SO you can do something like see if the proposed answer makes sense to you, and check if the answer produces the results you want. Those are pretty okay metrics. But, obviously, they aren't perfect. Whether it makes sense to you doesn't fully track the truth of the situation, and whether it works or not doesn't address whether it's a good idea for other reasons, like being grossly inefficient, or deprecated, or unmaintainable, or whatever. So there's a decent chance that you can't evaluate the answer on its own merits, AND that sensible heuristics will fail you because you don't know what you don't know about the full context of the question, and might choose a wrong answer as a result.

3. Therefore, an additional useful signal you can track is the reputation and apparent expertise of the person who is answering. Of course, exactly as you say, it's not a perfect metric. But I think it's a meaningful signal that is generally useful to consider. Eg. If Jon Skeet answers my C# question, I just have a strong prior that it's correct in a robust way.

It's an empirical question whether removing that signal would somehow improve the overall outcome (eg. removing that signal forces people use only use the heuristics that are based on the question itself instead of short circuiting that process in favor of an easier social signal).

But I would bet that the empirical test would show that including the reputation signal improves outcomes, on the general prior that more information is better than less information.

Edit: One thing that would change my bet: one feature of really high quality answers is that they are often long and made of parts, like they explain what to do, and what to avoid, and have details about why that is. You could track the length and detail of an answer as one of your heuristics for choosing a correct answer. If it turned out that people who have the correct answer were more likely to write answers with that sort of detail if their identity was hidden, AND it turned out that people use that sort of detail to decide if an answer were correct or not, then I could imagine better answers existing on the site overall, and those answers being more consistently upvoted.

Really Good points. Maybe show reputation to the question asker then. But not to the people voting. I would like to think that when you vote an answer it’s because you agree with the answer and not just the person who answered.
I often find the third or lower rank answers more insightful.

SO seems to reward "technically correct" fast on the submit / answers compared to more thoughtful answers.

This also is reflected in what gets answered and what does't. If it requires nuance or thought it doesn't get answered.

I asked something like "How would you render a bazillion things in react under X conditions and manage performance?"

The responses were all "show me your code" or "here is how you render them" Like guies no, I know how to just render them... I'm asking about keeping the DOM from going bonkers.

But their responses "work" and so that's all I got.

Anecdotal: Searching github issues has long since surpassed the usefulness of stackoverflow for me.

Possibly the types of questions I need answered has changed, but I think it's more that everything on stackoverflow is out of date or off topic. Or the people who could answer are also the people who are too busy and/or don't care enough to play the karma game.

This has been my experience recently as well, specially with fast-moving JS frameworks and libraries.
Yep, the time dimension is seriously overlooked by people flagging questions closed. IMO the duplicate close reason shouldn't accept questions older than a year.
It depends on the tag, for some languages/framework that aren't moving that fast, you'd find a lot of older answer that are still valid
Too hard to determine which questions expire or not. Most do.
I’m the same and it’s a lot better since they added reactions to messages.

If there are a lot of messages, I scroll straight to the bottom of the page, then slowly scroll up until I find a message with lots of thumb up or checkmark emoji reactions.

So it’s like a slightly less efficient StackOverflow!

I wonder if it has anything to do with people using the account and site combination that they use in their jobs and don’t want to be seen for being toxic.

Nonetheless I absolutely agree, lately I remove the open/close filter and just type a keyword and there’s almost always a perfectly healthy discussion from others experiencing the same thing, sometimes you can even just skim read for the post with tons of thumbs up emoji’s on it

> Possibly the types of questions I need answered has changed, but I think it's more that everything on stackoverflow is out of date or off topic.

No, I think it's the former. I use SO to find out how to do equivalent tasks in new languages. For example, I use Python a lot; JavaScript, not so much. So when I do use JavaScript, I'm always searching for things like "js iterate over object" or "js string slicing", etc. SO is great for that. GitHub issues would be completely useless for that. I think you underestimate how many students/novices are reliant on SO for this type of searching.

GitHub issues are more for if you are having a specific problem with a specific library.

Very possible. In js land at least, I usually just look up syntax question in the mdn docs now, but I guess that presumes you know what to look for.
Oddly I realize that I rarely find a reason to end up on Stack Overflow these days.
Yes, yes, and more YES.

Some of my best SO experiences have been answering questions that got ridiculous downvotes (more -1 and -3 than -75, but still). If SO has already answered this particular question, then great—do a better job of leading questioners to it. If not, get out of the way and let's answer the question here.

I'm tired with their fragmenting their site into airtight topic specific QA sites, now with many questions one isn't sure where to post it to get max eyeballs. I feel that is something that could have avoided by design. Topics could have been managed through tags, instead of walling them off into separate sites.

And the obsolescence, things are moving so fast in JavaScript, Android, even in QT, Clojure etc, many answers including accepted ones are obsolete, and misleading.

Blazor is a thing that's coming up if you're interested in using C# for websites (along with .NET).
>And the obsolescence, things are moving so fast in JavaScript, Android, even in QT, Clojure etc, many answers including accepted ones are obsolete, and misleading.

This is the absolute worst aspect of the site to me. Some answers are version specific, some stop working overnight one day, some used to be good practice in 2011 and still work but really aren't any more and there is no sane mechanism for stack overflow to handle any of these things.

This is quite apart from the multitude of answers which are voted to the top which are wrong, only partially right or bad answers.

Runnable code snippets are helpful in this regard, but even better would be runnable test cases.

Example: How to check for Invalid Date in JS?

```js

function invalidDate (date){return isNaN(date.valueOf())}

console.assert(invalidDate(new Date("foo")) === true)

console.assert(invalidDate(new Date()) === false)

```

But I'd expect if someone noticed an out-of-date answer they'd just comment and it'd get fixed that way.

My biggest pain point with that is needing to register to each one. There's many times I've seen questions I'd love to answer, but then realize I'm no longer on stack overflow and I'm on some sys admin stack exchange that I can't comment on unless I sign up, in which case I just close the tab.
It's an extra step, but you don't really need to "sign up", you just activate your main account on that specific site and you're ready to go.
And you can even get a reputation bonus on that specific site, so you already start with some privileges.
I've been programming for 20-ish years, working for 13, and I google first, so when I have questions, they tend to be at boundaries of things where they don't fit neatly into one of their sites or near-duplicate questions with a subtle, but meaningful difference (that still gets tagged as a duplicate).

Then I see someone asking a homework question who clearly has tried anything themselves, or a question that should have been googled first.

From a user perspective, I agree with you.

But I think from a performance perspective it is impossible not to want to have several different databases each one with better performance than a single big one.

And they have the traffic to have to worry about such things.

I really think it's better to just have an up vote arrow and no down vote option, for questions at least. The only reason on a site like that to really vote something down should be if something is off topic or against the rules, in which case you have a report button. If a question just straight up doesn't interest you or you don't want to answer it, then ignoring it rather than voting it down seems like the reasonable response. I also know that since visibility is based on how your score matches up to others, some people will just go and vote down every other recent question so theirs stands out more (unless stack overflow has protection against such things, I know it happens on similar sites)

I can maybe see an argument for answers to questions being down vote-able, since people may sometimes give answers that are wrong/misleading but maybe not to such a degree that they deserve to be expunged by moderators.

On StackOverflow, a decent amount of site reputation is required before one can down-vote.
You also lose 1 reputation for down-voting which helps prevent people from getting too trigger happy
1 rep doesn't matter at all for high-rank people, the rep loss should be based on total rep.
It should be something like 1% of your reputation. That’s significant enough to make even high-rank users have to think.
High ranking users do not like your proposal! (parent comment is gray at this time)

Edit: wow I’m tired. I read this whole thread thinking of HN instead of SO. Time to go home and rest..

As for now at least, all operations on reputation are addition-based and therefore commutative: their order doesn't matter, and undoing an operation returns your reputation to the previous state.

With this 1% rule, however, it breaks down. For example, if you downvote someone when you have 1000 reputation points, and then undo the downvote and downvote him again when you have 10,000, it means that you'll lose 9 points for nothing.

This also makes sense as high-rank users usually have a constant stream of rep coming from their answers/questions.

So, not only do high-rank users have lots of rep, they also gain rep at an accelerated pace (on average).

"The rich keep getting richer." Same phenomenon happens everywhere.
If you punish moderation, you end up with an unmoderated site. You don't want a million "help. please write this code for me. thanks" posts, as any legitimate question will be lost in the noise and nobody will waste time "answering" (aka working for free) those questions. SO works because it discourages super-low-effort questions and has a lot of moderation (both by official moderators and high-rep users).
Forums require lots of downvotes to keep out the riff raff making them that precious would be a mistake.
One wonders about the utility of a forum made of riff raff.
Interesting, I had no idea of this
Only on answers. You can downvote questions without any damage to your rep. And even then the damage is trivial.
(comment deleted)
(comment deleted)
It's 125 points, which can be acquired with, for example, 63 edits, which have to be validated by other users.
Here is my proposal for removing downvotes but people do not like it: https://meta.stackoverflow.com/questions/252338/downvote-sys...
That's ironic
In case of post on meta, the downvotes means "I disagree with this proposal", not that the question isn't good.
Disagreement doesn't mean they're right about the proposal though.
Which is kind of a perfect example of how downvotes are a bad interface - what they mean is context-sensitive, and needs to be explained. If meta had an explicit "disagree" flag, instead of an obtuse "downvote" that users have to intuit the meaning of, it wouldn't have to be explained in a HN comment.
The responses are the reason I stopped using the site in 2013. The ego on these schnooks lol
I found the first answer insightful: https://meta.stackoverflow.com/a/252340/1862046

Roughly, it seems downvotes are used by people to indicate not enough effort has gone into the question (easily researched, duplicate question, confusing/poor english, etc).

So either all unflagged questions is valid and should be nurtured into clear, well-written queries or pointed to existing questions, or questions are to be judged* "good-faith" or "lazy" by users and the latter receive downvotes.

*This judgement is fixed in time; the question is not necessarily re-judged if improvements are made.

What's the problem with being lazy? If you are even lazier, just don't answer. If it's a duplicate, just link it to the delicate question. Having useless questions shouldn't be a problem while searching for answers.
The problem is that just looking through the queue of unanswered questions takes effort.

If I have a list of good, honestly-asked questions, I'm willing to look for a few that I know how to answer and answer them. If I have a vast pile of "plz do this homework for me [transcribed question with errors or link to a private PDF]" then I just won't use Stack Overflow.

That's what flagging is for. Why don't people flag more?
All SO tags I've ever followed the number of people answering is greater than the people asking, so that's not really an issue, I think. Although, maybe, it felt that way due to down voting.

The case you described is easy to identify and you can just leave a comment, which will be useful to both: other people answering questions and the person asking. Different from the down vote.

Yes, the truly lazy questions clutter up the site and I guess we need a way to cull them.

But on the other hand, I resent having to couch every question with 5x the verbiage as a disclaimer to chronicle every little thing I did to investigate the problem before asking the question.

I also enjoy being whined at by moderators if you call out someone who's being a dick. Don't bitch at the person doing YOUR job; bitch at the person who made it necessary.

Why don't people like it? Because SO is full of people who just love to down-vote. Your proposal would take power away from them
Lets build a toxic community!
https://lobste.rs has downvote explanations[1]: when you want to vote a post/comment down, you're required to state why (pick from a list). Since the user can see why they're downvoted, misuse hardly an issue.

I think such a system could work for stackoverflow too: provide reasons like [off-topic, hostile, spam, ...], but don't provide others ([stupid-question, too-easy, ...]).

[1]: https://lobste.rs/about#downvotes

Wish HN had a similar thing. Downvotes can mean a bunch of things, including:

1. "This isn't welcome here." Should be flagged instead, and often is.

2. "This is factually incorrect but I won't comment as to why." I view this as lazy at best, and giving cover to #3 at worst.

3. "I disagree with this." Frankly this is the worst use of the downvote. If you disagree, say why (respectfully)!

Tags in Stack Overflow are pretty common (while they're not here) so I'd expect this approach to work better over there (first).

>3. "I disagree with this." Frankly this is the worst use of the downvote. //

Downvoting to show disagreement is endorsed by the primary directing mind of HN (pg).

I agree that I'd like to see disagreement and quality indicators separated. Personally I like the Slashdot voting system: multiple dimensions with meta-moderation, and ability to boost certain types of material so you see more of it (so for example if you're really anti-humour then you can hide it all by giving comments ranked as humorous a large negative "bonus" in your personal scheme).

This issue you raise is one I, and others, raised several times and basically got told "the owners like it that way, put up and shut up".

Instead of not providing reasons you don't agree with, it would be better UI to provide them but if selected deny the action with an explanation.

I think I saw this done on TripleByte's website during the sign-up process where they filter applications outside of the US (and a few other criteria) with an explanation and a promise that they were trying to fix this.

That form of UI is unusual but very friendly.

I haven't used SO in a while, and one of the reasons I abandoned it was because all it took was for one malfeasant to tick the downvote button on my questions without providing a reason why and nobody would take my question seriously. It seems like everyone just assumed that a question with a -1 vote wasn't worth addressing.
(comment deleted)
I sometimes come across badly formatted or unclear questions when reviewing new posts. I usually flag those, but not all flags are accepted possibly because they aren't bad enough. That's why I use the down vote button as well. Note that I never down vote because some question is not interesting or not up my league. So, in some sense I find this button useful.

Maybe a reason could be attached to the down vote button, such as [Unclear, Off-topic, Spam, Whatever, ...] as some form of lightweight flagging system. Lobste.rs uses this on comments. Users that can't select a 'Not interesting' option are probably less likely to vote down.

It happens here too. I imagine some people only downvote stuff that's against the site guidelines and simply doesn't upvote stuff they disagree with. Then, there are others that do downvote those with opinions different from theirs.

On StackOverflow, I've wondered if I should upvote answers on topics where I can't really verify if the answer is correct, even if it looks really informative, well formatted, has pictures, is to the point, etc. I mean, what if it's wrong? and there I am upvoting it because it looks credible. I have seen highly upvoted answers with information I know to be wrong, too.

Part of the issue is that there are no guidelines on how to upvote or downvote in neither StackExchange or HN. The platforms just leave it to the users to determine their own criteria.

People wouldn't follow such criteria anyway.
What if downvotes led to a popdown, with a series of radio buttons:

( ) I don't agree with this comment

( ) This comment is factually incorrect

( ) This comment is offtopic

( ) This comment is rude or inappropriate

(Add and replace verbiage to taste, of course)

Then people's downvotes would be imbued with some semblance of nuance.

And get rid of the score, and make downvote categories have hidden negative values (so people are truthful in their answer).

> Then people's downvotes would be imbued with some semblance of nuance.

Downvotes or not for nuance or dialog, that's what comments are for.

Downvotes are solely to demote content that is viewed, in the subjective opinion of the voter, as not contributing to productive discussion. If it deserves a nuanced response then it doesn't deserve a downvote.

> Downvotes are solely to demote content that is viewed, in the subjective opinion of the voter, as not contributing to productive discussion.

Says who? It's not in the guidelines, so really when to use the feature is determined by its effects. Downvoting obscures comments and hurts a user's karma. So in reality, downvoting is to demote content you don't want yourself or others to see for whatever reason and/or to "hurt" (for lack of a better word) other users.

Your criteria of doing it based on whether it contributes to productive discussion fits in that, but it's not the only possible criteria users may determine for themselves.

mceachen's suggestion is to modify the effects to make the possible criteria space more narrow and more similar to the criteria you shared. When they see such a popdown, they'd have a better idea of what the downvote is meant to be used for. It would provide some guidance on the "proper" use of the feature.

So the person asking the question is supposed to understand what each individual was thinking based on a single click? I don't see how this is possible.
I can see the appeal of the idea but I don't think it would be a source of good information in practice. Most people won't say "I don't agree" when they can say a comment is wrong or bad instead. My instinct is that it would just lead to even more bickering about downvoting, the exact opposite of what we want.
Then we (and in extreme cases, you) could at least review it and point out if the reasons where nuts (i.e. if an answer has 5 downvotes for wrong then we can factcheck it and point it out)

I'm mentioning lobste.rs for the second time in this discussion, but lobste.rs has this and it works kind of well IMO, both to think twice when I downvote and also to try to figure out why someone was downvoted.

Then again, lobste.rs is a different community and there is a reason or maybe several why I hang both here and there :-)

The counterargument is that, just as with downvote-reason-giving, downvote-reason-reviewing would be dominated by the same forces as downvoting in the first place. You wouldn't get more signal, just more complexity, plus a lot more work—both because of the reviewing itself, and because of meta-quarrels about reasons and reason-reviews.

HN's approach is to stick with something simple, accept that it has downsides as well as upsides, and resist the temptation to fiddle with the downsides by sacrificing simplicity. It's a strong temptation for a technical person to want to do that, of course, but there's a strong story why the downsides of downvoting are mostly intrinsic: disapproval stings. Most of what people say when they complain about the downvote system seems to boil down to that. That's not a technical problem. If there's something we can do to mitigate it, it would more likely come from helping the culture to evolve. I do think that's happened, and is happening, a little; it's just very slow.

You can't draw conclusions from how downvoting works on smaller sites to what HN should do. With online communities, size is the dominant variable. When there are order-of-magnitude size differences between communities, that is what explains why things work differently there—not subtle software design choices. Similarly, one can't draw conclusions from how HN works to larger sites like Reddit. One of the nice things about HN not having to try to grow ambitiously (it has grown linearly at more or less the same slope for many years) is that we can focus on being the best HN-sized-thing we can be. That leads to subtler, more qualitative kinds of growth.

A couple more points that bang around in my head when issues like this come up...

One form of complexity that's particularly important to resist is adding metadata and creating metasystems in order to compensate for things in the core system. The magical charm of all things meta gives that step a perennial allure. But it's often a mistake. If you go meta to handle something that isn't truly orthogonal to the core system, you end up with more of a mess. I think we have a case of this here. For example, when a comment is wrong, the way to address that is to reply with correct information. Why do we need a popup with a "wrong" selection? The core system—discussion threads—can already accommodate this function; we don't need a metasystem for it. Of course it doesn't accommodate it perfectly, but the imperfection is not for technical reasons, it's because people don't always agree about what's right vs. wrong, and so on. A metasystem doesn't fix those things, it just recreates them on another level. And now, as they say, you have two problems, plus the problem of how the two interfere with each other.

It gets worse. With any system, there are only so many complexity cards you get to play. Each time you play one, you lose the chance to use that card for something else. In the software world, often people don't know this and because they're under pressure, a system blows through its complexity budget—plays all its cards—near the beginning of its lifecycle, depriving it forever of the chance to be coherent or tractable as it grows. This is the root of the fatalistic complaints about software bloat that commonly come up in HN discussions, as well as the constant yearning to create new systems rather than be stuck, as most of us are, fiddling with a couple screws in some rusty component of a massive machine that nobody understands. It happens that, from a technical point of view, HN is a rare exception to this pattern. For a bunch of reasons, two of which were pg's minimalism and Lisp sensibility, and another of which was perhaps that the project has always been resource-constrained, HN escaped the fate of becoming more complex than it needed to be. Preserving that quality is a priority, because it allows us to work with the system in rich ways that...

Selfishly, I would appreciate it if HN would adopt downvote reasons because Lobsters has to acculturate people used to how HN does things. Occasionally they're outraged that we do not have downvote-to-disagree when a mod contacts them to ask that they stop picking random reasons to do so. If HN would be so kind as to train several million programmers in the UI and norms I'd appreciate it.

Less tongue-in-cheek, I do think flag/downvote reasons are worth the added complexity for us, but as there's a cultural component to these design issues it's probably a non-starter for HN to adopt. A change in such a fundamental interaction on the site would be an upheaval that's not justified by probability and size of an expected benefit.

+1 on basically your entire message, especially recognizing the limits of mods and size as dominant variable on roughly everything to do with communities. Best of luck.

Slashdot worked a bit like that. So does Lobste.rs. IMO that ends up worse - users are better at figuring out what kind of comments are bad for the site than a mod having to define it all up front.
Agreed on no downvotes for questions.

For answers, I would also do away with the downvote button, and offer multiple options instead, like: "does not answer the question", "misleading information", "off topic", "outdated", "i don't like the solution", ... .

That would still give SO the capability to sort answers based on some quality ranking algorithm and hopefully reduce the unwarranted downvoting.

PS, this line from the article perfectly captures how I perceive much of Stackoverflow over the past few years:

> “look how stupid that guy is, and look how clever I am pointing that out with my downvote!”

Or downvote until the score is zero. I.e. don’t allow negative scores. Then take reputation away from people who actively attempt to downvote beyond zero. In addition, you use reputation to downvote.
(comment deleted)
Downvoting already has a small reputation cost: https://stackoverflow.com/help/privileges/vote-down
Not on questions, though.
(to this subthread)

Let’s remember that score is not money, and many people actually do not care if reputation is reduced by automated means (as opposed to someone’s view on their acting). Score is just a raw signal to a participant on whether they did good or not. It never was a “win all the score non-decreasingly” game. If you spend 30% of your 10k on downvotes, it is still credible 7k. And if you gain 10k and see 3k problems, then these are community problems indeed.

My guess is that downvoting costs score only to weed out low-score inexperienced accounts from emotional voting or manipulation. No effort no score. No score no downvotes. –> no effortless misbehavior. That’s it.

(comment deleted)
The problem. Stack Overflows commenting system is like a lawyers idea of fact finding. Everyone gives an answer and votes like a jury would with the mods acting as harsh judges. This is why SO just gets more and more toxic over time.

What you want is a communal Socratic method. Where everyone goes round and round till the community produces a good solid answer.

The (now read-only) WikiWikiWeb [0] [1] did something like this.

The site appears to be down right now, but here's an example page on Archive.org [2]

[0] http://wiki.c2.com/

[1] https://en.wikipedia.org/wiki/WikiWikiWeb

[2] https://web.archive.org/web/20190828124025/https://wiki.c2.c...

That site is so good for finding in-depth discussion of topics. Just a lot of people throwing ideas around, way more useful for finding leads and inspiration compared to the fairly bland Wikipedia articles many of the topics have.
+10 for "outdated".

The Accepted Answer from 2009 is stuck to the top and you have to scroll while simultaneously scanning comments and weighing the Submit Date and Up votes.

>If a question just straight up doesn't interest you or you don't want to answer it, then ignoring it rather than voting it down seems like the reasonable response.

Just remember that if you don't give users a built-in and formal downvote button, they will rebel against that UI and invent an informal downvote mechanism to express their disapproval. E.g. a bunch of stackoverflow users would type "-1 downvote" in the comments. If you think a downvote button is bad, a UI that encourages a pollution of "-1" meta comments may be even worse.

(Similar examples of users bypassing web UI limitations would be Github users typing "+1" into issues threads because there's no upvote button.)

Let's say you have 3 rough categories when judging a question such as :

(1) agree / approve --> upvote

(2) apathy / don't know answer --> no vote, do nothing

(3) disagree / disapprove of low-effort question --> downvote

If you architect the web UI to collapse categories (2) and (3) into "no vote" to minimize "hurt feelings" and thus give voters no outlet to express a "downvote", don't be surprised if users rebel and invent adhoc ways to do it anyway.

If you read through the meta thread mentioned in the sibling comment by vasili111, you'll see the well-respected high-karma SO users like John Skeet, etc use the downvote button as a feedback mechanism for bad questions.

### EDIT reply to those (galaxyLogic, randcraw, etc) suggesting forcing downvotes into the comments area:

On the surface, it sounds logical and reasonable to force explanation of downvotes but that doesn't work for high-traffic sites like StackOverflow. (In 2011, Jeff Atwood tried to explain this.[1][2][3][4])

The issue is the asymmetry of work between bad questions and good questions. It's easy to ask bad questions. It's harder to ask well-researched and high-effort questions. This asymmetry inevitably results in the SO site being flooded with bad questions.

Therefore, forcing a "downvote explanation" just adds friction to the goal of filtering out the massive volume of bad questions. This was the rationale why downvotes on questions don't cost any karma. I.e. forcing downvote-commentary works better for low-traffic sites and small communities but not for high-traffic sites.

[1] https://stackoverflow.blog/2011/06/13/optimizing-for-pearls-...

[2] https://meta.stackexchange.com/questions/56817/can-we-preven...

[3] https://meta.stackexchange.com/questions/135/encouraging-peo...

[4] https://meta.stackoverflow.com/questions/250177/require-a-co...

There are still flags, which are also hurtful but more informative.
Simple alternative: show a downvote button, but make it so that the score must be >= 0.
I use this approach on a service of mine that is built around a community. It works, I recommend it. When you hit 0 and someone tries to downvote further, it informs you that that action is impossible (no user supplied content can be voted into negative territory). I regard negative point voting to be an unnecessary form of community punishment. If something is spam, abusive, or otherwise breaks the rules, then it needs removed. If a user persists in posting that type of content, they get removed.

In a decent community you don't get punched in the face for asking an ignorant or lazy question. Instead, you do not get any reward or positive feedback for it (upvotes, attention to the question). The default of decency is a neutral, respectful treatment to others; a floor of dignity. People can learn how to better contribute without being either subtly or overtly attacked or bullied.

I also give downvotes an expense, they cost points (they subtract from your account score), and I increase the cost as it makes sense. So a user must earn the ability to downvote through contribution. If the system has too much downvoting, you can gently alter that behavior by ramping the cost overall and individually (if a given user is prone to downvoting heavily, you increase their cost beyond the base system cost).

(comment deleted)
When you hit 0 and someone tries to downvote further, it informs you that that action is impossible

If the system knows the item is rated zero, then why even give the option of downvoting at all? Conditionally remove the control and you remove the need to display an error message.

Good point and here is some nueance from a book I read right now regarding parenting and their main point is to neither punish or rate performance (good nor bad). What you should aim for albeit hard, is to relate to the childrens feelings instead. This translates well into adults. Rather than saying, "this report was super good, well done!" say "What a great feeling I get when I read the report" or "Feels good with the report being complete?"

Thought experiment: You say that reaching below 0 is punishing and getting more than 0 shows that your question is good. You get feedback that you've done great work writing the question. How would it look like when the site relates to your feeling when writing and contributing to the site? Would it work even if you remove score all together?

Giving rewards result in people seeking awards. Which may seem like a wise thing but aiming for self confidence is way better. Which is obvious but may be good to point out anyhow.

An alternative form of downvote is to reply with a negative comment. This makes a lot of sense since upvotes imply that you agree with all or most of the post while a downvote reveals nothing about what part of the post you dislike or why.
I've now for a couple years suggested that tweak to Hacker News, with the modification that either a refutation or an upvote on a refutation would qualify you to downvote.
It would be much better if users added their down-votes in the comments because then they would feel some need to explain why they down-vote something. In fact I think IT SHOULD BE REQUIRED to give a reason for your down-vote (if down-votes are allowed in general)

An SO down-vote is not simply an "opinion", it affects your karma-score, perhaps even your chances of getting hired.

FWIW, I've done this before ("I downvoted you because...") and the question asker, instead of trying to improve their question, got combative/defensive which is not necessarily desirable either.

It's lose/lose. Don't tell them why and they get frustrated, tell them why and they get defensive. It takes a rare user to take the feedback and use it to improve their question.

It's easier than you think. And I've thought that I was doing the right thing for a long time except I wasn't. Any time you explain something you first need to establish that you are on the same level as the submitter, then you can give advice. Like, "I see that you really tried with this question and you almost made it, if we rephrase it a bit it would improve even further!" It's true that most people have a problem with listening on feedback, but maybe it's a chicken and egg problem and you may be the solution to just that individual. We need to have a major postitive uplift on the forums of the Internet and you may be just that :)
> most people have a problem with listening on feedback

That is so true, even people giving negative feedback have trouble when they get negative feedback from someone else. Therefore I think the system, the site, should make it easier to give positive feedback, than negative.

To you know bring about a positive community feeling. The purpose of the site should be to help its users not to make oneself the over-arbiter of what is correct what is not.

Facebook has its share of problems but excessive unexplained down-votes is not one of them.

Make it possible to only be positive and you will reach a better goal. Rather than moderate the users, moderate the mods such every response they give is purely positive.

This will spread and people will cling on. Soon you will reach self moderation due to the positive nature of the community.

Learning to accept feedback is much about learning that you may actually receive positive feedback and that your self worth is enough.

So I was listening to l to this guy Jim Thuresson which is a mental coach. His life is basically breathing positiviness, and his take on it is, it works, you shoukd do it too. If you fill your head space with 100% positive thoughts there's no room for anything negative. Maybe going on strong here, but it's such an important message. I just winder how we bring that thought onto the Internet.

Why do you think that their obligation derives from how you imagine their downvote will effect your life instead of the rules of the site?

Neither stack overflow nor your fellow users are obliged to you beyond the standards set by the site and general human decency.

It takes 1 second to downvote a low value comment. It might take 5-20 minutes of conversing with a stranger who is likely to respond rudely to criticism. Less voting means less curation means wading through more lower quality materials. I don't want to use worse websites so you can have more imaginary internet points.

Don't like it use a different website.

> It takes 1 second to downvote a low value comment.

Agreed, except I think that is the problem.

It takes ZERO seconds to not give points at all to a low-quality comment. And the site should take care readers see the comments with more points before those with fewer points.

> Don't like it use a different website.

I think you are saying nobody can or should criticize Stack Overflow and its cadre of super-super-users because nobody is forced to use it.

It's a bit like saying hey you asylum seeker we put you in a cell with standing-room only for weeks and separated you from your children and put your baby in a cage without anybody changing their diapers ever, but if you don't like that, seek asylum in a different country. You can't criticize us because it is you who came here.

I think allowing users to subtract points leads to a larger delta between good and bad content leading to a better differentiation and ranking of content insofar as voters are good judges. I think this is mathematically unassailable.

All that's left to discuss is strategies for maximizing the quality of votes and voters. Ex minimizing the impact of low quality voters by requiring rep to vote.

I think highly paid professionals whose wages mostly put them in the top 10% of the world have an easier time changing tech support forums, perhaps by opening a new tab, than the refugees fleeing murder and mayhem with nothing but the clothes on their backs have of picking a different country to land in.

Perhaps pick a less disgusting comparison.

> top 10% of the world have an easier time changing tech support forums

Surely. I was just saying it is a "little bit like" that. The principle seems to be the same: You can't criticize because ... you chose to use Stack Overflow for help. Go elsewhere if you don't like it.

Surely that is what people who don't like it do. But that doesn't mean they shouldn't express their opinions about it.

> high-karma SO users like John Skeet, etc use the downvote button as a feedback mechanism for bad questions

And it's very effective to provide "feedback" in the form of a drive-by downvote, isn't it?

I think downvoting in most places is partially a service to others who can sort by score and thus avoid reading crap.

A large portion of the people posting stupid low effort crap on internet forums are impossible to educate. If you spent your time trying you wouldn't do anything productive.

The internet being what it is someone will surely tell them what is wrong with their posts. If they get 17 downvotes and one person tells them why is that not sufficient?

>And it's very effective to provide "feedback" in the form of a drive-by downvote, isn't it?

I understand your confusion and frustration but folks like Jon Skeet are also providing feedback to their fellow answerers who don't want to see bad questions.

For some people, this signaling mechanism to reduce wasted effort for peers is even higher priority than feedback to the person asking the question.

Nobody's forced to read SO questions. Optimizing the site to maximize the probability that users feel stupid is not IMO the best choice. It doesn't take much time to add a comment. You could even let the downvoter select a reason from a menu.
>Nobody's forced to read SO questions.

Yes, you're absolutely correct. However, you're not realizing that the truth you stated (free-will volunteer vs conscript/slave) is actually the reason why users are not getting mandatory comments from downvoters.

Because StackOverflow can't force desirable expert answerers like Jon Skeet to look at SO questions, they have to keep some social mechanisms in place to keep the site attractive and tolerable for him and his peers. (E.g. Jon Skeet doesn't want to leave mandatory comments for every downvote and many of his expert peers agree with him. So far, StackOverflow & Jeff Atwood also agrees with them: make downvotes easier not harder.)

>Optimizing the site to maximize the probability that users feel stupid is not IMO the best choice.

It's certainly possible to believe SO's philosophy is fundamentally flawed and the rules need to be changed to favor the question asker over the answerers and if Jon Skeet doesn't like it he can fuck off. Well, I don't think SO has determined that the "brain drain" is worth it.

Look at the Skeet's profile[1]. He's probably the top C# and Java expert on that site. One of his most-upvoted answers is to the question, "Why is subtracting these two times (in 1927) giving a strange result?" The very tiny number of C# programmers with the expert skills to answer that question are outnumbered by the masses of people that ask stupid questions.

It doesn't seem like your suggested changes take into account the asymmetry of the bad overwhelming the good. The resource constraints of Q&A site are the minority of experts capable of answering the questions with quality answers. SO noticed that resource constraint in 2010 and that's why it prioritizes highly valuable contributors like Jon Skeet over random people who can ask any bad question.

[1] https://stackoverflow.com/users/22656/jon-skeet

What if one of those menu options were like?

This question does not show any research effort This question is unclear This question is not useful

that is (almost) literally the title text of the downvote button. I think people just don't like the shape of the button and the idea of negative numbers.

I believe that rebellious '-1 downvote' comments will be far fewer than the actual downvote so original idea seems better. In fact such rebellious comments should be deleted/flagged in case they don't provide any additional reasoning behind downvotes similar to what happens on HN.
> It's easy to ask bad questions. It's harder to ask well-researched and high-effort questions. This asymmetry inevitably results in the SO site being flooded with bad questions.

A few ideas to make it harder to ask dumb questions:

https://news.ycombinator.com/item?id=20861911

In short: when accounts are free, activate instantly and can ask questions immediately, don't be surprised that people ask stupid questions.

Yes I think "report" -button would be a much better solution.

But, it seems the company that owns Stack Overflow SAVES MONEY by not hiring people to filter out improper questions. Rather they rely on the free "help" of the community.

Which also means they can hide behind the community. It is not Stack Overflow that is rude to you, it is some users, some bad apples. SO takes no responsibility. And saves money.

Make downvotes require a comment. Let other users vote on the reasoning. If it's a BS reason like "Duplicate! Duplicate!" that's wrong, let others erase that vandalism from the site. One of the stupidest things on the internet is when someone comments that it's a duplicate question and then posts something that makes it obvious they read neither the question nor the supposed duplicate. Most downvotes are never explained. After too much vandalism, suspend the user.
>Make downvotes require a comment.

I cited some meta SE threads about that idea in my other comment but I forgot to add this thread as well:

https://meta.stackoverflow.com/questions/357436/why-isnt-pro...

Forcing comments on downvotes looks reasonable but it doesn't work at the high-traffic scale of StackOverflow.

[To downvoters, (1) are there any other discussion websites with comparable high traffic to StackOverflow that have forced-downvote-explanations so we can see if they work ... and (2) are you aware of the degraded-signal-noise-ratio reason in 2011 that Jeff Atwood made downvotes easier (free) instead of harder?]

Maybe "high traffic scale" is a problem?
>Maybe "high traffic scale" is a problem?

I honestly can't tell if your comment is snark or some type of realistic actionable advice.

If you intended actionable, what exactly do you propose SO to do to not be "high-traffic"? One of the meta threads say they got ~12k questions a day. (Most of them bad.) Should SO set a limit of 500 questions and after that, each person gets an error on the webform saying "Sorry, we've reached our max question limit today. We want to stay a low-traffic site so hope you'll understand!"

To recap some SO history from Atwood's posts...

2008 - StackOverflow is opened

2010 - Atwood and others notice they're getting inundated with too many bad questions. At this time downvoting questions cost karma.

2011 - To counteract the high volume of low-quality questions, they made downvoting questions free to remove friction.[1] Atwood noticed that users were too restrained in downvoting the questions and didn't exercise that power enough to clean up the site. Therefore, forcing the downvotes to have comments (add friction) is the opposite of what they were trying to solve in 2010 which was quickly suppressing the bad questions. SO has more traffic now in 2019 than back in 2011.

Perhaps some that are suggesting the idea of forced downvote explanations (I admit that it sounds like a wonderful feedback mechanism) -- don't know of SO's scale and the problems they had in 2010? I dunno.

[1] Jeff Atwood announced change of policy -- "Downvotes on questions no longer cost the casting user 1 reputation, so they are effectively “free”. [...] So, it’s imperative the question list have a high signal-to-noise ratio, and removing the penalty for those users who do take the time to read a question and later find it to be useless so they can down-vote is conducive to that." -- excerpt from : https://stackoverflow.blog/2011/06/13/optimizing-for-pearls-...

I agree that we should make downvotes only ok with a comment.

But then again there's a fine line that both side seem to constantly walk over. 30% of question consists of "how to do this on my homework, please submit a full solution", while the other 30% that are legitimate question being over zealously patrolled.

> 30% of question consists of "how to do this on my homework, please submit a full solution"

I've suggested a few times already that part of this problem might be that asking questions is the first privilege you get and you get it for free.

If it costs something people would be more careful.

The cost can be anything:

- Classify 5 answers correctly

- Pick answers from a multiple choice

- Pay a dollar

- Wait a few days to activate

- etc

Ideally the user should be able to choose a method that suits them but make the account worth something.

As long as accounts are free, activate instantly and comes with a free right to ask questions, stop being surprised that new accounts pop up to ask silly questions.

It'd be interesting if the cost were something like "vote on these items in the moderation queue", and they'd only get through if they voted in line with existing votes (with a few new items mixed in). The idea being to help cut down on work for mods by getting some prioritization based on new/young user votes. By mixing in topics that have been voted on, the user can be convinced that they have to vote honestly, and by gathering a large number of votes on actual posts mixed in, things can be roughly classified reliably.

By voting I'm referring to things like whether or not a question is a duplicate of another etc.

You could also have a gradual onboarding process, this should help a bit but might be over the top :

- first: multiple choice. You get 5 good questions and 5 good or bad answers. For each of the questions you have to answer if the answer is good or bad.

- Next: 5 known questions, that might be good or bad. You have to answer if it is good or bad.

- Finally: the moderation queue where the answer is only used as an weak signal to the actual moderators.

Success rate of 100% required for stage 1, 60% for stage 2 and just completion for stage 3.

This would leave a new user with a good understanding of what the site is for before they can spam.

It will also make their account seem somewhat valuable.

And if someone wants to pay someone to take their test, fine with me, at least the account isn't free anymore.

+1. Cowards often downvote perfectly legitimate posts and face no consequences.
I think this would make it even worse, because people will leave short abrasive/snappy comments, rather than actually helpful ones.
Then they're breaking the code of conduct, and should have their accounts suspended. That's a lot better than letting them keep their reasoning silent.
It's not so simple, you can post snappy/disrespectful comments that skim the line and create an unfriendly atmosphere for a very long time.

It's a hard problem, because it's about patterns. Everyone has a bad day and posts a badly worded comment every once in a while; I certainly have. That's okay, it's human nature. The problems start when a small group of people do it all the time, and turns out it's rather hard to actually detect those kind of patterns.

If I remember correctly in early Stack Overflow down-voting did cost your own reputation points, so every down-vote reduced your own reputation. I liked this and I claim it socialized me in a way that I rarely down-vote even today and even on other platforms like HN. I like to imagine that every down-vote lowers my own reputation even if that isn't expressed in points and even if no one knows. Every down-vote is a trade-off where I feel the benefit of expressing my own negative opinion outweighs my own reputation loss.

Obviously the system didn't work for Stack Overflow, otherwise they wouldn't have abandoned it, I don't remember why.

EDIT:

Seems the system is still in place. Down-voting an answer costs one reputation point, down-voting a question is free.[1] For reasons for the asymmetry see [2].

[1] https://meta.stackexchange.com/questions/7237/how-does-reput...

[2] https://meta.stackoverflow.com/questions/251610/why-does-dow...

> If I remember correctly in early Stack Overflow down-voting did cost your own reputation points, so every down-vote reduced your own reputation.

Still does.

I'd love a filter to reduce the number of questions with 0 upvotes in the 'interesting' feed. Most stuff in that feed is obviously not interesting (0 upvotes, plenty of views, no answers, older than 30 minutes, reputation < 10). This is easily 70 percent of that feed. The 'hot' feed is even more ridiculous. It's 90% obvious crap. Hot by definition should not have any posts with low numbers of upvotes/views or worse, negative scores.

Better filtering options would be helpful. I'd love to review unanswered recent questions by reputable users. I don't care about seeing questions with 0 upvotes, older than 30 minutes and more than 20 views. There is currently no good way to list these. You either end up with questions from years ago that had lots of upvotes but no answer or an endless list of low quality crap that was recently modified or asked.

I've pretty much disengaged from even looking at the Stackoverflow feed of new questions because the signal to noise ratio just went out of the window in recent years. There's a lot of signal dropping out of these feeds because of all the freshly signed up users wasting people's time.

Stackoverflow has plenty of ways to earn reputation but no good ways to filter on that. IMHO fixing that is the answer. The site needs a more efficient way to get rid of the obviously crappy questions (and the people asking them) because the volume of both is just killing engagement currently.

For answers, I think the existing up/downvote mechanism works fine though the site could maybe do with a bit less passive aggressive style moderation/commenting. The way answer sorting works, the good stuff ends up on top anyway. So there's less of a need to intimidate people that are trying to be helpful but failing for whatever reason because their impact is less high. I tend to bias to being grateful somebody took the time to read and answer my questions even if it ultimately is not that helpful.

Why are things older than 30 minutes uninteresting?
I think the voting system is fine. But why close down a question!! What's the harm in answering more questions even if not quite apropos?

I feel people try to categorize too much for no good reasons. Oh this question shouldn't be asked here? As if it's the 1980s and people browse the web using categories.

I get it for people answering. They follow a tag and answer questions and ideally they don't want to see questions about things they can't answer. So seeing unrelated questions can be seen as spam from that angle. But there has to be a better way.

That might be why I find Quora has more potential. You can just tag whatever. Wrong tag. Just tag it with an appropriate tag done. Maybe we don't need to segregate Q/A sites. That said, I don't like Quoras layout and UXquite as much for code.

There's an additional rarely-noticed feature tied to downvotes, that no one considers when they propose this: If a post gets a huge number in a tiny duration (like, -10 in under a minute after being posted), a bot will close and delete the post.

This is a way for regular users to immediately eliminate inappropriate content, such as porn or advertisements. I've seeing it go off many many times in my years at the SciFi stackexchange.

> and just had to add their own downvote

On the Internet you don't exist unless you act, there are no points just for showing up. Thus the plethora of useless votes and comments (such as my comment here :) ).

This culture is why I've never contributed to Stack Overflow.

I'm a reasonably senior engineer, I've been lucky to experience an extraordinary breadth of technology in my career, and I love helping people learn to program... but I just don't have the time or emotional energy for SO's top posters to pick apart the minutia of every word I say in an answer. The ROI for me is nil.

I feel the same way. I tried a couple times to contribute but found it too demoralizing.
Agreed. Similar experience. Asked a question about architecture and dependency injection in .net. it was immediately removed as irrelavant because .net is better than Java.

Posted a week later with a friend's account and it stayed but my friend panicked at loss of points and inability to do their job without them and removed it themselves (tho gave me answers firtst).

I thought dependency injection in Java was mainly a way to emulate modules (as in Python or JS), so how is .NET different here since it doesn't have modules either?
At this point I just ask a question, get an answer, and if I don't like the commentary, I just delete it. I post there under my real name, which means I either have to address or accept dumb/nit-picking criticism, which is a no-win situation.

If the person who answers actually needs the points, I'll give that some consideration, but it seems like a lot of the time the solution is offered in the comments anyway. I don't know why that is.

Every once in a while I'll swoop in on a basic question and try to answer it before anyone else notices.

You and the reply below have BOTH deleted questions from SO because of social overhead. That's a surprising outcome that's never occurred to me. I can imagine that many interesting questions have disappeared this way.
People deleting questions after they have been answered is one of the reasons I stopped contributing. It's so energy draining to take the time and explain something to somebody and do it in a way that others with the same problem can understand & apply it as well only for them to delete the question for some reason.
I prefer not to delete, especially to an official answer, but it’s hard to let the obnoxious comments stand at the same time.
You can now report comments for being rude/unfriendly/unkind/condescending.
I have noticed answers in comments a lot too. It seems like some aspect of the gamification. One theory is that people don't want to put any straightforward answers in actual answers because they seem anything straightforward to be unworthy of an actual answer.
I have my own standards for what makes a proper answer, and if I'm too confused or rushed to meet those standards I'll just leave a comment instead.

I've been yelled at for doing that on Stack Exchange sites other than SO.

It just turns into a "ACTUALLY!" contest, of who can pee higher. No matter how right you are, some guy will link a blog post detailing why in some obscure scenario that might not be valid, and proceed to downvote your obviously wrong answer.
That's strange, in all the time I've spent on SO sites, I can remember only one instance where that happened. Maybe it's community related and happens with certain topics more than with others?
Happens a lot in questions related to C. Most answers are followed by a discussion why the code provided in the answer is not portable. Oftentimes answers are more concerned with being technically correct than helpful.
In the particular case of C, it's often important to be pretty precise. If an answer is offering a non-portable solution, or worse still, relying on undefined behaviour, it should get called out. It's not like, say, Java, where you're generally unlikely to get bitten by dark corners of the language.
I have a small number of answers, and the most successful / least criticized ones were always on niche languages or topics. C/C++/Java? No chance. I corrected a wrong answer on a question in C++ once, which was immediately reverted with “nope, your answer is too different from the original, make a new answer”. Great, so now there’s an answer that is fundamentally wrong with 26 upvotes that apparently can’t be corrected because the correct version of the algorithm is too different from the original. I just stay away from answers in those languages now, they’re more effort than they are worth
That's apparently the intended design; SO bills itself as "questions and correct answers", but they've made it clear in the Meta site or in blog posts, I don't remember where, that the accepted answer and upvotes are not "this is correct" but "people found this helpful", and people can find "wrong" answers helpful, so they stay.

The intended outcome here is that you post your own answer, and leave a comment on the most upvoted one summarising your concern with it.

And that readers don't just pick the most upvoted one, (even though it's obviously the site's design that they should be able to do that).

So on your last point, I found something sneaky you can do to people:

The answers have a sort order, controllable by tabs below and to the right of the question. These go to the same page with a GET arg to change the order. The trick is that these are sticky - browsing to one saves it as your preference. So if you post a comment to a question and include that arg, it'll switch the whole site for whoever clicks it, without telling them.

One of the options is "newest first".

That kind of behaviour is what's most annoying about their site, their conventions sometimes overrule common sense or intelligent queries/dialogue.

Last I contributed anything on there I was being told by a single poster that my question was 'wrong', and descending into an argument - and started throwing SO convention at me. I just deleted the question. There's a sociopathic nature about those looking for ratings and authority that's totally at odds with simple sharing of knowledge and learning.

> I corrected a wrong answer on a question in C++ once, which was immediately reverted with “nope, your answer is too different from the original, make a new answer”.

This is how Stack Overflow is designed to work. One single user is not supposed to be able to edit a top answer and change it into a different answer.

The Stack Overflow Way™ is to post a new answer that tells the correct answer and why the other answer is wrong. Then the community has two separate answers and they can vote on which one is more correct.

Confusing? Yes. Arcane? Yes. Did the system fail in this specific circumstance? Absolutely yes.

But they can't just let people edit highly voted answers into fundamentally different answers. That's why your edit was not approved.

Same here, I’ve been a reader for 10 years or however long, but their rules were too difficult for me to follow in order to vote. I had to visit every day and do menial, non-useful things just to be able to vote or answer. This didn’t work for me because SO wasn’t something I typically visited every day. So I just couldn’t get into the habit of being enough of a user to browse and vote so it was a vicious cycle of apathy.

I appreciate SO and use it many times a year. I remember the world before SO (experts exchange was very bad), so I’m happy it exists. And it’s obviously getting along without my comments and moderation.

I always wished it would pair well with something like HN so the reputation effect from a daily activity would carry over to an infrequent activity.

I also really respected Joel Spoelsky so didn’t really have a constructive criticism as the site worked pretty well.

I definitely learned a lot of my attitudes about software engineering from "Joel on Software". It's weird to think that those works are "ancient" now.

I don't really have an answer to the problem, SO has some very smart people working for them who, I'm sure, think about this issue. For some reason technical discussions held by competent people on the internet seem to trend towards dumpster fire. I've also noticed this phenomenon on photography discussion groups.

I expect to burn a few karma points on this, and be ignored, but all evidence I have says that this is human nature at work, and that at scale it cannot be prevented.

I've seen moderators of small communities hold off the effect by setting a good example, using a deft touch, and not letting the community get too big.

My suspicion is that once the number of commenters gets much past Dunbar's number [1], the universal fall into "default jerk" happens. Once that's taken place, you're stuck in an Eternal September.

Communities in the real world don't scale well. I'm not sure why programmers expect them to on the Internet, with its well-known capacity for dehumanization.

1: https://en.m.wikipedia.org/wiki/Dunbar's_number

They could start by simply making it just a little more difficult to give negative feedback. For instance: Require that every down-vote is given a written reason for it.

And perhaps make it so that DOWNVOTES CAN BE DOWNVOTED (provided a written reason is given for that as well).

I think there's something to this. Not sure if it's Dunbar's Number specifically, but something. It seems like there's a pattern where a community is nice and small, with people joining at a trickle. Things change when a jerk joins and starts doing jerk stuff. This tends to drive away the nice and helpful people, attract more jerks, and pushes people still there to be more jerk-ish themselves. Sometimes deft management can prevent it with some well-timed bannings, but I think this gets increasingly difficult as the community gets larger, and may be effectively impossible in internet-scale communities.
Yeah, I'm not sure it's Dunbar's number precisely - it was just what came to mind.
> SO has some very smart people working for them

I think they don't have enough (or any?) moderators working for them. They rely too much on making profits with the free help of trolls.

I understand it would be hard for them to change the power of the troll-users by now. Perhaps we simply need a new Stack Overflow, some competition.

> their rules were too difficult for me to follow in order to vote. I had to visit every day and do menial, non-useful things just to be able to vote or answer

Has it changed a few years ago? When I started 3 years ago, I could answer right from the start and I got the ability to vote quickly enough, after a pair of vote on an answer, without having to do menial tasks every day. Reputation can also be gained with edits, is that what you are talking about?

That’s funny, maybe it did change. I haven’t tried in many years as I gave up.
Answering questions doesn't help unless those answers get upvotes. As a newbie, your answers are less likely to get upvotes, especially if you're slower than the old timers.
It's true. For my part, I started (and continued to) answer on a tag with not a lot of questions and answers, so most/some of the time I'd write the only answer. Though I had a professional interest into the tag at the time, I didn't choose it because it was easy to write the single answer on a question.
And that's an example of the system working at its best. You were incented to answer questions nobody else could or would answer. In my experience it doesn't work out that way often.
Experts Exchange, where the paywall could be bypassed if you scrolled down far enough.
You don't even have to have an account to post an answer, nor any points to post a question. You need only 15 points to upvote (2 upvotes on an answer, or three on a question).
Or no upvotes and 1 "accept" on an answer.
Another thing that is a problem is a senior guy like you contributes with much higher level, less specific advice than the kind of thing that gets points.

For instance "how do you concat strings" for various languages is highly upvoted. Senior advice about general code structure and maintainability doesn't really have a title.

On the tags with less question (<5 per days), it has never happened to me, I even managed to be among the top poster for one of them. And the few times I got corrections from more experienced posters, they were pretty cool about it. But then it's really tag-dependent.
likewise I also don't contribute questions either. I always say its a great place to find answers, terrible divisive place to ask questions.
You're thinking about it all wrong. Don't get lost in the gamification. SO is intended to create a repository of useful answers to useful questions. If you provide a useful answer to a question which gets views, people will read your answer. Over time, many people will read your answer - and that is your "return on investment".

(Also, if many people read your answer and approve of it, then eventually you'll get some votes too.)

Having said that - there is some merit to sticking by the (nastily-enforced) standards. It does get people to improve their answers. Not saying that I approve of people's conduct on SO - it can be quite terrible.

This is the same for me, although I contributed for a while almost 10 years ago, and managed to earn just enough reputation points (that still increase a bit here and there) that I can get some ROI by asking questions and adding bounties. Two or three times they have saved me an immense amount of work trying to figure something out that otherwise might have taken weeks or I would have just given up on.
Same with me. I do sometimes answer questions if they fit into a niche I have some particular knowledge about, but on the whole I've found it to be a mostly negative experience contributing on SO.
I tried contributing regularly on Stack Overflow a while back, and it just wasn't fulfilling to me. These days I just post follow-up comments mostly on topics which generally have light coverage anyways.
As per this meta question [0], the one you've linked to doesn't appear worthy of downvotes. However, when I was active on the site, it appeared that (some) users active in a tag tend to downvote questions when they didn't have an answer to it.

That said, the reputation model also encourages low quality answers [1].

Overall, I found the site to be somewhat toxic and stopped visiting it several years back.

[0] https://meta.stackoverflow.com/questions/252677/when-is-it-j...

[1] https://meta.stackexchange.com/questions/9731/fastest-gun-in...

This author should avoid Reddit at all costs. I got time -40 karma for saying I personally didn't care about screen refresh rates this week.

Also as a stack overflow mod my group doesn't have such issues. Nor have I experienced these issues. Worst I've had was a few extremely technical questions require a bounty the get an answer. However my group spends a lot of time helping new users. The ones on the main group might have issues as there are more posts and less mods.

I've quit reddit multiple times over getting to heated in arguments
A student reporter once left a mic with my ma. She posted on Reddit hoping to find them. She still talks about the horrible replies she got. I really cannot fathom what's wrong with those people.
There's "Stack Overflow isn't very welcoming" blog post on stackoverflow.blog from Apr 2018, so they at least did notice.
I understand closing questions as duplicates from a quality POV, but SO doesn't function as a high quality forum of expert users. The plain use case and majority perception of it is as a Q&A site where you can ask questions you're confused about and get the answer; in this case, closing questions as duplicates because they share a premise with another question is purely counter-intuitive.

Let's take for example the Java Infinite Loop question from the article. The asker was an introductory user to Java who made it clear, and asked multiple questions with relation to how to make the program ask the question in an infinite loop. The duplicate marked was purely a "how to do infinite loops in java" question. While for a more comfortable software engineer this suffices since they can use the method for accomplishing the larger concept of an infinite loop in their specific use case, the user was clearly so new that the question should have been approached from a beginner's perspective, i.e. "You'll need to wrap your main question asking code in an infinite while loop like this so that it continues forever." Besides, the secondary question the user asked wasn't answered in the duplicate.

While it makes sense to mark a question that was just "How to do infinite loops in Java" at a high level as a duplicate, this more specific question also requires the answer to identify where the loop should be placed and why it should be placed there. For a site that's supposed to be about helping the community, most of its high reputation users seem to be awfully focused on removing questions, discouraging askers, and the most minor of revisions (i.e. why so many questions I see on SO have been edited by a high rep user to add a line break or the most minor of cosmetic changes).

Moreover, the actual mission they're supposed to accomplish by being a trusted member of the community goes largely unfulfilled. In most SO threads I browse now, the accepted answer is just plainly incorrect or outdated. There's no enforcement at all here, and often times it's been edited in the last couple months as just a cosmetic change instead of actually fixing the glaringly wrong issue. The correct answer usually lies further down below, ironically posted by low rep users who struggle with the incorrect answer, find a better working solution, and then post it with the pure intention of helping others who came across the issue.

An obvious example is in many JS questions nowadays. The OP asks something very simple and direct, and most of the answers either:

- solve the question using jQuery, which is usually unnecessary nowadays and adds bloat to a relatively simple task - use some random library or module, i.e. "simple, just learn the API for this open source lib instead and use it!" - contain a solution that doesn't work or works in a very small number of cases (i.e. with most regex questions where there are 10 competing regex answers and you've got to find the right one) - contain a correct solution but use extremely outdated methods to get there; i.e. using a giant XMLHttpRequest with a callback instead of just using async/await and Fetch, or lacking any sort of ES6 convention (using `var` everywhere) - contain an almost correct solution except for a few typos, but no one who has spotted the typo and has the right answer also has enough reputation to edit the answer, and so the resolution of the mistake is a buried comment

----

In my honest but probably worthless opinion, Stack Overflow is a Q&A forum with the extremely strict and overbearing rules of a high quality expert's forum, and just encourages this sort of behaviour on the platform to the point that it really just fails to serve its core purpose on many occasions.

I feel like HN is turning a bit in this direction too. I feel like I’m seeing more downvoted comments, and they are more often than not perfectly good comments, and no one replies explaining why they don’t like the comment. Of course you can’t talk about it because it’s against the rules.
agree. I sometimes upvote a downvoted comment just because it looks like a reasonable comment, and I cannot see any reason why it was downvoted.
It happens, people are a little trigger happy on the Internet, but HN is a forum utopia compared to StackOverflow or Reddit.

In my experience, on here people downvote when the answer is either off topic/spam or false with regards to the topic. Sometimes some good comments are greyed out because the profile has been (wrongly) shadowbanned, but the "vouch" feature is great for that.

EDIT: is HN so good compared to the rest because of its moderation tools/upvote system, or because it attracts only a specific niche of people? Would a Reddit/SO with HN features work better than the current sites?

I think it's mostly the community and its culture. As another example, lwn.net attracts a somewhat similar crowd, has no moderation tools at all (it's extremely rare for a comment to be removed) and has generally interesting comments.

(just never mention init systems)

People in this thread downvoted comments that express unpopular opinions. Even factually wrong posts should not be suppressed but corrected/challenged in a reply. As the rules state, assume good faith.

Downvotes should be reserved for trolls and low effort posts.

I agree that HN is much nicer than SO or Reddit, but that is largely due to the moderators here.

I don't know if it's a new phenomenon. There has always been a big difference between popularity and merit. That's what voting is, a popularity contest. It's not uncommon for a good idea to be downvoted or ignored just because its coming from a different perspective.
dang's niceness rules make it too hard to explain what's wrong with a comment. A few years ago, when someone was wrong I would've explained why and how. But that's difficult enough to do without having to also make the correction sound kind. Nowadays, if I make a correction in reply, I'll get downvoted myself. So I silently downvote and move on instead.
I've found the only way to maintain a nice, helpful community is to be liberal with the ban hammer. If you are early and consistent with it, you don't have to use it that often. But people in general fear conflict, fear taking a position of authority, and exercising that authority.

I have a weekend Meetup that I have been running for 5 years. I've had to ban three people. The first two were three years ago, after a spat of incidents. The last one was a month ago, and it was an easy and quick decision with little impact on the group. The activity in the group now conveys what sort of behavior is acceptable, so it takes a real, honest to goodness troll before we get any trouble.

Being nice is a component of the quality of a community. If "quality" is so important to defend, being nice is important to defend.

I was a heavy SO user before some years however I have stopped posting questions nowadays (mainly because of the reasons presented in the article) and I find answering too time consuming.

What I've found really helpful when I need to learn a new language / paradigm is to use IRC (freenode). I more or less learned Kotlin and Elixir just by reading some online articles and asking things on the corresponding IRC channels. The people there are helpful and the most important thing is that asking a question will start a discussion about being idiomatic, other ways to solve a problem etc, things that are not possible in a Q/A site like SO.

Also I had asked some very difficult questions about mysql and postgresql in the corresponding channels (that I expected to get no answer) and they were answered almost immediately.

I urge you to try it: No walled gardens, no people selling/advertising through your data, no point system, complete freedom to ask (and answer) whatever you wish.

> What I've found really helpful when I need to learn a new language / paradigm is to use IRC (freenode).

Absolutely, for example my experience with PostgreSQL people there has been amazing.

I like this method. I think there’s something about IRC that’s just hard enough to use that it filters out a lot of people.

If you described IRC to me, I wouldn’t think it would work. But almost 30 years later, I’m still using it. I think it’s another example of how protocols are better than apps for sustainability and true “value,” as opposed to fundraising.

> use IRC (freenode)

The underlying issue I see here, is the geek desire to answer a question once and for all, and have beginners just fuck off and read the damn faq and stop asking. (Everybody is a beginner in a task they don't know how to do, for all it matters, but experienced people will not stay that way as long as inexperienced people).

Whereas beginners want to chat, have someone help/mentor/guide through which bits are relevant, current, idiomatic, easy, hard, tailored to their problem. Beginners don't know what to read, and can't spot it or make sense of it when they see it. (Again, everyone is a beginner, for if the seasoned expert knew what to read to answer their question, they'd be off reading it instead of posting a question on StackOverflow).

People on realtime chat services are the kind of people who don't mind (or people in a state of mind where they don't mind) answering the same kinds of questions, and talking the same things, over and over and over.

StackOverflow mixes people who want "one answer forever" nitpicking question and answers as if they were encyclopaedia editors to make them 'perfect' to be a forever-answer, with people who want "realtime help" asking, who don't care about exactly the right wording and terms and formatting and stuff. NB. that the people who would be asking, but are on the "one and done" side of things, are the people off studying the FAQ and documentation and code, and buying books and courses where they expect to find answers already existing, so they don't so often show up on the questions side of SO.

I think that the fundamental problem with the downvote, pretty much anywhere that has it, is that it's physically structured as being the inverse of an upvote, and then there are some community guidelines saying, "This isn't actually the inverse, it has some additional semantics associated with it."

In SO's specific case, the problem it's ostensibly trying to solve is indicating that the question, as asked, needs work, or should have been asked elsewhere. But there's nothing in the mechanism to ensure that it's solving that problem. So, where what they needed was a constructive feedback mechanism, what they built was a ruler for whacking knuckles.

I think that SO would be greatly improved if they simply took away the downvote, and replaced it with a more structured mechanism for giving the question asker feedback on how to improve their question. It would make the place more friendly, and it would replace a mechanism for brusquely chasing newcomers away with a mechanism for teaching them the community guidelines in a positive way.

Yeah - I mean, there is even a mechanism for giving feedback on how the question can be improved: the comments.

In my view, if you think a question needs work your first option should be to leave a comment, and your second should be to edit it yourself to improve it. If there isn't time in your busy schedule of bludging at work for either of those then maybe consider just ignoring it?

Both downvotes and close votes should open a discussion, not be presented as a verdict. It should always be phrased as a question, e. g. "Have you seen this question over there, does the provided answer help you?" And the default assumption should be that no, the other question is significantly different, and the asker has good reason to post another question.
Minus blog post I came to a similar conclusion; asking on StackOverflow is a waste of time. I asked a question about how to do X - which turned out wasn't possible or I misunderstood how the system worked, and rather get an answer, I was told to reformulate the question or have it closed. Then eventually I was told in the comments of the question that this question doesn't make much sense. It was still a valid question, deserved a simple response, at least to add to the knowledge base.

Whatever, SO is a waste of time.

I don't ask many questions, well almost never any more, partly because very often when I search I find almost exactly the question I want answered only to find closed as off topic yet it has a half a dozen well reasoned answers and three dozen well reasoned comments.

I think SO and Wikipedia have both suffered the same fate: they started with everyone on the same footing but now there is a core of 'professional' or at least habitual editors who enforce their own narrow view of what is right. I gave up editing Wikibooks after one too many deletes of perfectly valid graphics for nit picking reasons.

Stack Overflow started going downhill when they stopped allowing "fun" questions. used to be that I'd go there, ask a question and browse through the questions, seeing which I could answer and also fun ones I could just read for interest and pick up sometimes useful sometimes not bits of information which would lead to other topics and so on. Since then it's just a constant stream of "noob" questions with basically no answers. There's nothing wrong with "noob" questions, the questions I've asked on there are pretty much all "noob" questions as I was first learning about programming. The problem is only having those types of questions and nothing to attract people capable of answering to the site.
Now that I have a few hundred reputation points the site is much more usable, but the privilege system drove me crazy for a while. If you are an expert in something, you cannot even comment (50 pts) to explain why an answer is wrong. And there are editing minimums so fixing bugs in broken code can be tedious sometimes.
I avoid SO too.

However, I didn't understand this:

[...]

There is no pass by reference, so I’m not sure where you got that. You’re simply passing the value, which is a copy and not going to change the original.

...is parading that they’re stupid and wrong, while beating your chest about how much smarter you are.

[...]

It sounds neutrally worded to me. Can somebody here point out what part of it is considered hostile and how it can be improved?

Sometimes 'explaining what you said was wrong' is interpreted as showing you're a smarter/better person, rather than information sharing. I liked this blog post about it. https://status451.com/2016/01/06/splain-it-to-me/

Yes, that comment could just be trying to be helpful / clarifying.

I think it's not much of a stretch to say the upvotes incentivise the "popularity seeking" behaviour over "information sharing" behaviour.

As a non-native speaker, I have to admit I find it very very subtle, the kind of sentence I might speak / write / hear without even realizing something is off. Thank you for the link - the author's done a great job explaining it.
I remember posting an answer to a CGI question with some grody, idiomatic solution, and getting scolded/downvoted by a high-rep dev (who montiored the subject tags) who responded with... a solution that didin't work! When the original asker responded, they directed them to file a bug.

That contempt and disregard for the actual day-to-day tediousness of writing commercial code is an attitude I can do without.

Also: https://imgur.com/C22vPFV

Wow! That screenshot is unbelievable. I’ve never seen his book before, but I went and looked it up so that I can be sure to never buy it and to recommend against it, due to the author, if it comes up in conversation.
(comment deleted)
The way forward isn't a global website like SO, it's niche forums from people you get to know in a weekly basis.

For elixir we have a public forum specific to Elixir.

For crystal, there's a crystal forum as well.

For react, I'm still looking for one that's good.

(comment deleted)