News for hackers. Stuff that matters.
Re:I Downvoted Because by dmitshur on Wednesday January 13, 2021 @10:24AM (#25763091)
My current strategy is to never downvote (not counting the rare accidental misclicks that I don’t know about). Instead, I try to upvote other things that deserve to stand out.

Leaving something at 0 upvotes is still a signal, although it’s less distinguishable from “no one saw this”. This approach makes the decision of voting binary (to upvote or not) rather than one with 3 choices, which reduces mental overhead. It also allows me to focus on positivity and finding comments that provide value, and pay less attention to ones that don’t. In the end, I think there can be value in downvoting, but I personally just don’t feel that the benefits of doing so outweigh the costs.

Re:I Downvoted Because by undecisive on Wednesday January 13, 2021 @10:35AM (#25763255)
I mostly feel the same, but I think there are differences in context - for example:

- HN: Some really repugnant attitudes from time to time need to be downvoted. For example, personal attacks and things that would have been moderated out of existence on other platforms.

- Stack Overflow et al: Answers that are objectively and dangerously wrong. And I don't mean answers that just misread the question - those actually might be useful for someone else who stumbled on the page looking for exactly that thing. I mean answers that are dangerous, vulnerable, misleading, or represent an extreme viewpoint as fact ("buhh object orientation is dangerous, you must write C++ using functional paradigms, it's the only way to make good programs")

I worry that if stuff like this doesn't get downvoted by some, these things will be considered valid - or even acceptable - by others.

Re:I Downvoted Because by leonardteo on Wednesday January 13, 2021 @11:24AM (#25764137)
Re: Stack Overflow, while I agree with you, most of my experience with SO downvoting has purely to do with other members thinking "I feel this is a stupid question so I will downvote you".

Usually SO is a last resort for me once I have done enough research and read through lots of documentation for hours trying to understand why something does not work as expected. I ask a question on SO, and rather than being answered, am downvoted and belittled in the comments. It has made SO a toxic place where honest questions that are researched prior are punished. I do understand why it happens though because for every honest question, there's probably thousands of questions from people who obviously don't do any research.

Then having your "Thank you for answering my question" comment removed by SO moderators because they don't want thank you's on the platform... It's just turned into too much of a toxic place and is an absolute last resort.

IMO. Others experiences may be different :)

The point is that people generally downvote for whatever reason they want. Even with community standards that help to educate people, by empowering people to downvote, they just exercise that right and it has consequences for the community.

Re:I Downvoted Because by fakedang on Wednesday January 13, 2021 @12:53PM (#25765564)
> Re: Stack Overflow, while I agree with you, most of my experience with SO downvoting has purely to do with other members thinking "I feel this is a stupid question so I will downvote you".

This has been my experience too. For someone like me who's a non-professional programming hobbyist, SO has been one of the most toxic and unhelpful communities. My only helpful experiences there are with the people who also happen to have their real names for their user ids.

I've had questions downvoted because I omitted something that "should have been there", downvoted because I included some things that "should not have been there", downvoted because I "asked for a suggestion" (eg: which type of DB is better for this kind of data?), or because I asked for something "that has been asked elsewhere", even though the two questions might have different tech stacks and use cases altogether.

I recommend most beginner programmers to go to reddit instead, where there's a less barrier to entry and visibility for questions. People are happy to answer you in Reddit for some karma, while on SO, the people who answer correctly have to subtly beg the questioner to mark the answer as correct.

Re:I Downvoted Because by js8 on Wednesday January 13, 2021 @11:06AM (#25763841)
"Answers that are objectively and dangerously wrong."

I don't think anybody reading an Internet discussion has so little time not to add to the downvote: "This part of your comment is horribly wrong, I warn others against doing it."

Actually, I think I would be more convinced to be careful with that sentence than just seeing bunch of downvotes.

Re:I Downvoted Because by undecisive on Wednesday January 13, 2021 @11:12AM (#25763940)
Absolutely. Usually there's no problem in doing both (hence, I guess, the OP)

But commenting without downvoting skews the ordering algorithms, and of course if someone else has already made a similar enough comment that you wouldn't be adding materially to the conversation, adding a similar comment just makes the post look busy an therefore, potentially, interesting.

Re:I Downvoted Because by js8 on Wednesday January 13, 2021 @11:19AM (#25764064)
In my other comment here, I suggested a solution to the duplication problem - you can downvote only if you either create a reply or upvote an existing reply (as a sign of agreement).
Re:I Downvoted Because by undecisive on Wednesday January 13, 2021 @11:35AM (#25764319)
That would be a nice feature. Or much like a "report" button on some platforms, if clicking downvote meant you had to say why you had disliked, and it gives you the usual moderation options, all the other comments that it could auto-upvote, or a free-text field that automatically creates a comment... that would probably be the least-friction way of dealing with it.
Re:I Downvoted Because by FalconSensei on Wednesday January 13, 2021 @01:36PM (#25766165)
That would be great! I agree with parent comments that sometimes downvoting without commenting serves no purpose.

You got a downvoted comment with no replies. Now, why was it downvoted? You can reread it and see if you were rude/offensive, but besides that...

Re:I Downvoted Because by loceng on Wednesday January 13, 2021 @11:20AM (#25764073)
There's a report option. If something is dangerously wrong, then put the effort into saying so - perhaps explaining why; the person who posted the content that's "dangerously wrong" won't learn that either if no one shares it with them.
Re:I Downvoted Because by watwut on Wednesday January 13, 2021 @12:14PM (#25765007)
> HN: Some really repugnant attitudes from time to time need to be downvoted. For example, personal attacks and things that would have been moderated out of existence on other platforms.

What are things that are moderated out of existence on other platforms and not on HN?

Re:I Downvoted Because by briefcomment on Wednesday January 13, 2021 @01:01PM (#25765678)
> Some really repugnant attitudes from time to time need to be downvoted.

I disagree. Just call them out. I don't like it when anything is disappeared

Re:I Downvoted Because by mlthoughts2018 on Wednesday January 13, 2021 @11:50AM (#25764601)
Since when is avoidance of OOP an extreme viewpoint? Few pieces of advice have served me as well as that.

It seems fine to disagree - but if that is your standard of “extreme” or “dangerous” it makes you seem like a crank and makes your justifications for downvoting seem very biased and wrong.

Re:I Downvoted Because by undecisive on Wednesday January 13, 2021 @01:08PM (#25765769)
(love the fact that this comment was downvoted! Sorry for the effect that has on your karma though)

The dangerous part is presuming that no good software can come from OO. A comment like "I would prefer to see this in a functional paradigm, with as few side effects as possible" is absolutely fine.

The statement that all OO is bad makes an absolute out of a subjective, rubbishes the work and effort of millions and may cause a relative beginner to ignore learning a paradigm that is fundamental to their growth and learning as a developer.

Now then, that said... if you wanted an argument over avoiding OOP, I would argue any statement that categorically says "Avoid X" is an oversimplification. Everything is a balance of strengths and weaknesses, and there are times when OO is the right tool for the job. You are welcome to disagree, and I wouldn't downvote you for doing so _in this context_, but in a Stack Overflow context, depending on how you say it, I very well might if I considered your words dangerous enough.

(i.e. Silver bullets kill more than just werewolves)

Re:I Downvoted Because by mlthoughts2018 on Wednesday January 13, 2021 @02:36PM (#25766924)
You did not explain how this is dangerous whatsoever. What about all those companies or teams out there using exclusively functional programming and succeeding? Their own experience would be evidence that avoiding OOP is good (as it has been good, demonstrably, for them). If they merely spoke from their own experience and attested to the good things that demonstrably came from avoiding OOP, you would consider that dangerous?

That’s a ridiculous perspective.

Again, it’s totally fine to disagree with them, and make solid counterpoints if you can, but calling them dangerous is completely ludicrous.

This makes you sound like a narrow OOP zealot who gets cranky when people point out the truth that any use case solvable by OOP is also solvable with at least equal quality and equal satisfaction of the constraints using functional programming.

Again, merely disagreeing is one thing, and raising pros vs cons of some specific OOP design. But to call it dangerous to suggest OOP may never be needed is just completely unreasonable. I question your understanding of the concept “dangerous” in that case, and if it were up to me, you’d lose downvote privileges treating people like that and misrepresenting their sincere, evidence based software ideas with a derogatory term like “dangerous.”

Re:I Downvoted Because by undecisive on Thursday January 14, 2021 @04:59AM (#25774440)
> You did not explain how this is dangerous whatsoever. What about all those companies or teams out there using exclusively functional programming and succeeding? Their own experience would be evidence that avoiding OOP is good (as it has been good, demonstrably, for them). If they merely spoke from their own experience and attested to the good things that demonstrably came from avoiding OOP, you would consider that dangerous?

I can't tell whether you're intentionally building a straw-man here. My original example of a downvotable comment had three statements:

"object orientation is dangerous": It clearly isn't. Badly written object oriented software can be dangerous, and you can argue that OO languages could do more to promote safety within themselves, but that doesn't make OO as a theoretical construct a bad thing, or all OO code bad, or all OO developers wrong.

"you must write C++ using functional paradigms": Again, there are separate challenges when writing fully FP-style C++, certainly there is nothing to say you MUST write C++ that way. And many projects would probably not welcome you rewriting their codebase in that way. If someone goes back to their employer / open-source project / teachers and tells them they are doing it wrong because their code contains OO, they may well be laughed out of the door.

"it's the only way to make good programs": This is obviously a lie.

Then, look at the context - I said "answers that are dangerous, vulnerable, misleading, or represent an extreme viewpoint as fact (...)" - I intended the above three statements to be an example of the latter, I figured that people can easily imagine dangerous / vulnerable / misleading SO posts themselves. But yes, while I do consider there to be dangerous effects from stating a subjective viewpoint as an absolute like this, I do think that the above statements take a reasonable yet subjective statement like "Few pieces of advice have served me as well as [avoid OOP]" into a totally unreasonable objective statement "it's the only way to make good programs"

Also, take a look at my later statement "Everything is a balance of strengths and weaknesses, and there are times when OO is the right tool for the job." I thought it would be relatively clear from this that there must always be times where OO is not the right tool for the job. My original statement was not an attempt to bad-mouth FP. But telling beginners to never use X because it's evil for whatever reason does have its dangers, whether that paradigm is FP or OOP.

> any use case solvable by OOP is also solvable with at least equal quality and equal satisfaction of the constraints using functional programming.

I suspect games programmers and kernel devs might disagree with that. But even if not, I would say that the bar you have set is terribly low. To my mind, a good program should also be readable, expressive, and in keeping with the project's coding standards. Generally, that's where I find that even some well-written FP code may fall down. But again, that's not an argument against FP itself, because I would not argue against FP. As I said before...

> A comment like "I would prefer to see this in a functional paradigm, with as few side effects as possible" is absolutely fine.

In fact, I would go as far as to say I might even agree with that statement. I certainly wouldn't downvote it. Sure, I'd like to see better arguments about why the side effects in that case are a problem, and why FP might be able to improve the code. But that is a perfectly valid and true statement. But hopefully now you can see why that statement is materially different to "object orientation is dangerous, you must write C++ using functional paradigms, it's the only way to make good programs".

Re:I Downvoted Because by mlthoughts2018 on Thursday January 14, 2021 @09:52AM (#25776934)
Nope, you are completely trying to misrepresent what your original post said. You said that you downvote other ideas because they (the ideas) are “dangerous”, here is your quote:

> “ I mean answers that are dangerous, vulnerable, misleading, or represent an extreme viewpoint as fact ("buhh object orientation is dangerous, you must write C++ using functional paradigms, it's the only way to make good programs")”

So you are claiming that an idea expressing “OOP is dangerous” is itself dangerous as an idea and that this danger is what merits your downvote.

Yet you’ve done nothing to explain such an extreme and unreasonable point of view.

Re:I Downvoted Because by undecisive on Monday January 18, 2021 @09:32AM (#25822124)
Either I'm completely misunderstanding you, or you are not reading my words. Specifically you've just replied to this whole paragraph that addresses what you are saying completely:

> Then, look at the context - I said "answers that are dangerous, vulnerable, misleading, or represent an extreme viewpoint as fact (...)" - I intended the above three statements to be an example of the latter, I figured that people can easily imagine dangerous / vulnerable / misleading SO posts themselves. But yes, while I do consider there to be dangerous effects from stating a subjective viewpoint as an absolute like this, I do think that the above statements take a reasonable yet subjective statement like "Few pieces of advice have served me as well as [avoid OOP]" into a totally unreasonable objective statement "it's the only way to make good programs"

Please quote me the bit where I say that I "downvote other ideas because they (the ideas) are dangerous” - I said very clearly that I downvote answers that are dangerous.

An answer is a concrete expression of an idea, but an idea can be correct without the answer being correct. (an extreme example: "We should improve the overall health of our nation" might be a completely valid idea, yet "shoot the disabled" is a completely wrong answer that embodies that idea but takes it in absolutely the wrong direction.)

> Yet you’ve done nothing to explain such an extreme and unreasonable point of view.

Alright, let's flip it: "Functional Programming is dangerous". I can use FP to write a program that accidentally wipes a hard disk. Therefore FP is dangerous. Argue against that.

Functional Programming, when used correctly, mitigates some of the dangers of Object Orientation. Arguably, a correctly written Object Oriented module should not be any less safe than a module correctly written in a Functional style.

You can argue (and probably do) that the implementations of Functional Programming that you enjoy using make writing correct code easier. And that is a valid statement.

But saying "OOP is dangerous" is no more valid than saying "FP is dangerous". Saying "Haddock are slimy and disgusting which is why I prefer Cod". No, fish are slimy and disgusting, and these are both fish. Maybe there are degrees by which some fish are slimier than others, but that doesn't justify an out-of-context vilification of Haddock.

So let me tell you some things that are more dangerous to your code and project than OO:

- Using a language or paradigm that your team are not familiar with

- Using tools that force you to distance your variable and method names from the domain-specific words that the specification is written in

- Premature optimisation

- Following every new framework and fad that comes along.

So yes, it is extreme and unreasonable to categorically state that "OOP is dangerous".

As an answer, it deserves to be downvoted.

As an idea, it has merit and deserves to be explored and justified and compared.

In a place of ideas (like Hacker News) that statement is perfectly acceptable (if not entirely helpful)

In a place of answers (like Stack Overflow), it is misleading and dangerous in that it encourages far more dangerous behaviours.

Re:I Downvoted Because by bostonsre on Wednesday January 13, 2021 @02:05PM (#25766554)
It seems lame to downvote due to a debatable disagreement. It stomps out unpopular ideas in a forum where they should be allowed and discussed/debated. I don't agree with the viewpoint that OOP should be avoided, but I would like to hear why some people are opposed to OOP.
Re:I Downvoted Because by undecisive on Thursday January 14, 2021 @06:20AM (#25775032)
Again, I agree, but only in context.

On Hacker News, I totally agree that downvoting debatable views that are expressed poorly is totally unnecessary. If it isn't a statement that is outright dangerous or intentionally hurtful, my bar for downvoting here is very high. I would trust the audience to discern for themselves.

On Stack overflow, you are essentially there to teach people something. "Don't ever do X" is not going to teach something. Unpopular ideas (and even some popular ones) should be backed up with cogent reasoning, and I think downvoting (with an explanation) is the best way to tell future visitors "this is (probably) not the answer you are looking for".

Re:I Downvoted Because by dahart on Wednesday January 13, 2021 @11:25AM (#25764174)
It’s nice to hear that others have this strategy too. I’ve never used the downvote on HN (unless I bumped the teeny tiny arrow accidentally on my iPad while trying to upvote), and the main reason is because receiving downvotes feels so harsh to me, and upvoting good things mostly has the same overall effect on the order of the conversation. It made me see clearly the good reasons why downvoting privileges are withheld from new accounts, that period did help me learn how to be more positive and constructive in my comments.

But - lately I’ve been second guessing myself and wondering whether there’s any virtue in continuing to not use this feature, which is sometimes useful. There are a minority of comments that should be downvoted and I agree with downvotes they receive even if I don’t hand any out.

One reason I’ve been questioning my personal policy is because I’ve recognized that - in the spirit of the article here - that downvotes on HN are given for a wide variety of legitimate reasons that don’t necessarily amount to disagreement. Sometimes comments are very off-topic, sometimes they make assumptions, sometimes they’re polite and nice but factually wrong, sometimes they’re jokes that aren’t funny. I’ve started to view downvotes as being symmetric to upvotes, and I give upvotes liberally and for a huge number of reasons. There’s nothing really wrong with downvotes being seen in the same light... other than negative feelings it might cause and the times it leads to destructive responses rather than constructive responses.

I’d love to hear what others thing, should I start using downvotes now, or continue to abstain?

Re:I Downvoted Because by names_are_hard on Wednesday January 13, 2021 @11:49AM (#25764582)
> other than negative feelings it might cause and the times it leads to destructive responses rather than constructive responses.

Well there are two good reasons, maybe they're good enough?

Re:I Downvoted Because by dahart on Wednesday January 13, 2021 @12:10PM (#25764941)
Agreed, and they’ve been good enough so far for me. Its just that I’ve come to recognize there are cases when downvotes are appropriate, and won’t lead to escalation, as well as cases where downvotes send the right signal and lead to overall constructive behavior. The downvotes I’ve received have helped me introspect and learn. Even if my immediate reaction wasn’t constructive, it has helped me become more constructive in the long run. I think I’ve seen this happen with others here. Without downvotes feeling harsh, I might not have worked as hard to see the positive in other comments and to say the positive in my own.
Re:I Downvoted Because by vannevar on Wednesday January 13, 2021 @10:44AM (#25763393)
Yes, in contrast to the upvote, the downvote button is overloaded: it can signify disagreement, or it can signify a violation of community standards. I think the former is a poor use of the downvote, as it adds little or no value. What good is it to say you disagree with something, if you offer no reasoning? The whole point of a discussion site like HN is to explore ideas and learn. Downvoting to disagree does nothing to further the goals of the site.

I think HN would be improved by simply eliminating the downvote entirely and rely on upvoting alone, as the parent suggests.

Re:I Downvoted Because by johannes1234321 on Wednesday January 13, 2021 @11:51AM (#25764608)
I liked Slashdot's qualified votes ("Interesting", "Insightful", ..) or Facebook's "reactions" for that as it gives an indication on the meaning of the vote. And sometimes I just want to read the trolls for the lolz.
Re:I Downvoted Because by names_are_hard on Wednesday January 13, 2021 @11:47AM (#25764543)
I don't have enough points or whatever they're called to downvote anyway, but I can't think of anything I wanted to downvote. Either update, ignore, or flag it for moderation (I can't do that on HN either but apparently some can).

If it's not egregious enough for flagging just ignore it and it'll sink to the bottom. No need to downvote.

Re:I Downvoted Because by rhn_mk1 on Wednesday January 13, 2021 @12:16PM (#25765046)
Getting rid of downvoting in the sense of violating standards without also getting rid of upvoting in terms of agreement would result in popular opinions being promoted, without regard to their value (as an argument, or truthiness).

As much as HN is far from perfect, I still think there's some healthy disagreement visible and bad faith arguments don't get promoted.

Re:I Downvoted Because by vannevar on Wednesday January 13, 2021 @04:27PM (#25768190)
...would result in popular opinions being promoted, without regard to their value...

I believe that's the case now. The only difference would be that, if you felt the existing top response was incorrect and there was no better post for you to upvote to try to overtake it, you would have to write one. I think that would be a positive development.

Re:I Downvoted Because by hundchenkatze on Wednesday January 13, 2021 @01:25PM (#25766023)
Here's the way I think they should be used:

Up == agreement

Down == disagreement

Flag == violates community standards

I generally try to add a thoughtful response to anything I downvote, but I am guilty of downvoting and moving on a couple of times.

I think requiring a response to downvote would be better than removing downvoting entirely.

Re:I Downvoted Because by vannevar on Wednesday January 13, 2021 @04:31PM (#25768231)
... I am guilty of downvoting and moving on a couple of times.

Guilty, guilty, guilty! :-)

Seriously, I think all of us have done it. But for most it's an occasional thing and we wouldn't miss it if downvoting went away, since most of the time we either write an opposing view or upvote an existing one.

Re:I Downvoted Because by mdiesel on Wednesday January 13, 2021 @10:48AM (#25763470)
The key thing you've said though is "comments that provide value", a metric by which both up and down votes are important.

In the perfect world, I'd come to HN and the top 2 voted comments would be the most succinct and well argued sides to the discussion (assuming there's a traditional for+against), then the top voted comments the tier down would be the best refutations of those points. That way I can read both and get to my own balanced view quicker. If all the voting system tells me is "this is what the average HN reader agrees with" that's far less valuable.

Re:I Downvoted Because by Ajedi32 on Wednesday January 13, 2021 @11:34AM (#25764296)
That gives me an idea. Given enough data, might it be possible to create a system that automatically identify "sides" to a controversial discussion based solely on how people are voting, and adjusts the sorting algorithm appropriately to counteract groupthink?

For example, if a group of people who tend to vote the same way on certain things all downvote a particular comment, but a smaller group of people with a different voting history vote a different way on the same comment, the system could mark that comment as a minority opinion rather than simply a "bad comment" and give less weight to downvotes from users of the opposing position when sorting that comment.

Re:I Downvoted Because by mdiesel on Wednesday January 13, 2021 @12:41PM (#25765393)
I know what you're saying, but for some reason it makes me uneasy. I guess because anything trying to categorise people as either X or Y is fundamentally tribal.

The HN readers are good at moderation overall, not perfect but definitely good. Maybe it would be enough to have an "agree/disagree" button as well as a "good/bad" button.

Re:I Downvoted Because by names_are_hard on Wednesday January 13, 2021 @11:54AM (#25764658)
That's a great idea. Made me think of Amazon, I think, that categorized reviews and highlighted the top positive and top negative views. So combining your idea with your parent's, HN could determine the "sides" and highlight the most upvoted of each as top comments.
Re:I Downvoted Because by bnralt on Wednesday January 13, 2021 @11:03AM (#25763780)
One thing to keep in mind is that people who are judicious in their use of upvotes/downvotes are going to have much less impact than those who haphazardly upvote/downvote. Such is the nature of giving people limitless votes (and comments, for that matter). Platforms like this (and Reddit, and a large portion of social media) are structured in such a way that they give an outsized voice if people behave in a way most would find problematic.

Another issue is that places like HN and Reddit only show the total score, and not the upvote/downvote breakdown. I saw a topic here where all the comments on one side were downvoted and grayed out, but when someone put up a poll asking for the opinions that side got about 40%. It's hard to know if a greyed out comment is because the community as a whole feels the comment is bad, or if it's simply in an emotionally charged discussion where the opposition has a slight majority.

Re:I Downvoted Because by names_are_hard on Wednesday January 13, 2021 @11:56AM (#25764710)
Are there any major platforms that give users a limited number of votes? How does this work? Are votes rationed constantly or by site usage (ie for every twenty comments you read you get one vote credit)?
Re:I Downvoted Because by cgriswald on Wednesday January 13, 2021 @12:46PM (#25765472)
Slashdot did this (maybe still does). I don’t know the exact mechanism for determining how many. They also had meta-moderation where they’d give you a list of posts and votes and ask if you thought the voting was fair. Doing that was supposed to make it more likely you got votes. I got them regularly and then one day never got them again. I suspect it was because I “failed” in the meta-moderation voting, but I had also been critical of the site and there were rumors of a blacklist.
Re:I Downvoted Because by contravariant on Wednesday January 13, 2021 @10:51AM (#25763504)
I reserve downvotes for comments that harm the discussion. Usually this is because of spam or needlessly inflammatory remarks. Though some people have managed to present arguments that are not otherwise objectionably but so utterly wrong I'll downvote them anyway.
Re:I Downvoted Because by Blikkentrekker on Wednesday January 13, 2021 @10:59AM (#25763681)
My strategy is to not vote at all — both because I'm never thinking about it and it's simply wasted energy, and because I dislike the existence of such systems.

I much præfer discussion fora that lack a voting system. The order of comments and submissions can purely be determined by last reply bumping whatever tree had it to the top.

Re:I Downvoted Because by FpUser on Wednesday January 13, 2021 @10:56AM (#25763606)
Same here. Never downvoted a single post. What I did notice though it looks like sometimes if someone does not like a particular post that someone will go wild and downvote few other totally unrelated posts from the same author.
Re:I Downvoted Because by ben_w on Wednesday January 13, 2021 @12:58PM (#25765642)
> not counting the rare accidental misclicks that I don’t know about

Relevantly, I have found myself accidentally tapping the downvote button a few times on mobile — if you tap and hold on Safari, it brings up a link preview which has the same effect as [up/down/flag] voting deliberately.

Re:I Downvoted Because by cycomanic on Wednesday January 13, 2021 @11:10AM (#25763909)
I have the same strategy. I also try to only vote rarely and not use voting as an indication of "I agree, disagree".