News for hackers. Stuff that matters.
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".