Downvoting is not something you do merely because you disagree. Valuable, intelligent discussion of complex topics that matter requires some disagreement. Downvoting should be saved for comments that are inappropriate in some manner according to the values of the site.
Do you have any idea why this is happening? There seem to be a handful of people who have recently obtained the ability to downvote, and who are now downvoting any comment that find distasteful -- even ones that are rational and well-thought out. Most of the well-written downvoted comments are eventually upvoted, but these comments are often almost invisible during times of most exposure.
I've actually wanted to try to quantify this, but I can't figure out how to establish the pre-downvoting baseline, particularly since people seem to eventually upvote many of the downvoted comments.
Edit: To be clear, I'm not complaining about being downvoted. I've got more than enough karma, even if I cared about that. I'm complaining about lots of other people being downvoted for writing cogent, thoughtful comments. It's not a positive trend.
Here's a more recent comment from pg in which he describes ideal comments, and the collegial atmosphere he's been trying to promote for HN [1]. In my opinion, downvoting a well thought-out comment made in good faith is not very collegial.
If that's the case, I can almost guarantee you that your flags don't carry a lot of weight in HN's algorithmic ratings.
Do you know the rating algorithms?
If garbage comments are filtered out through endorsement, then, if you view of downvoting held true, there would not longer be any need for downvoting and the downvoting button should be removed. This is not what was proposed.
If only quality comments make it past the proposed endorsement filter, and the downvote button continues to exist, then the only purpose of downvoting would be to express disagreement.
They're not required -- indeed, I get by without them --, but the topic of the OP is elegance.
Other languages, Nimrod for instance (http://nimrod-lang.org/system.html#515) can manage this while still keeping a simple core, including lots of type-inference. Having generics doesn't automatically turn your language into Java.
The map operator in Nimrod has a definition that is clear and simple:
proc map[T](data: var openarray[T]; op: proc (x: var T): S): seq[S]https://github.com/mediocregopher/seq
It provides clojure-like data-structures and functions for interacting with them (like map and filter). It's completely immutable and generic, and supports lazy operations.
If you're not running into the issues that Go is trying to solve, you don't understand why its solutions are at least somewhat interesting, nor why its trade-offs are reasonable.
It thinks wrong. Making people duplicate code makes it harder to write and maintain large scale software applications.
[Disclaimer: Googler here using Go, yaddi yadda, this is just my opinion]
Actually what you describe is the Java mentality exactly! That's why Java is full of code duplication and is supposed to help with code maintenance.