6 ms·
This is a perfectly sane, at least from business point of view, argument. It is being treated with a tantrum of downvotes. That in turns shows a lot about the s
by qthrowayq0909 3y ago
This is a perfectly sane, at least from business point of view, argument. It is being treated with a tantrum of downvotes. That in turns shows a lot about the state of affairs in a certain bunch of programmers. Most importantly that they put their own narrowly defined version of excellence above the importance of maintainability and thus tangible business value.
To put it bluntly. I'd hire the downvoted guy/gal in a heartbeat but would shy away from the downvoters. Why? Because I need to deliver business value which pays for our salaries. And I need to do it today and tomorrow and in years from now.
This is a message to normal people that understand that coding is a _social_ activity that has an audience in the present (your coworkers) and in the future (poor maintainers). Not only you're not alone in this but you are the majority.
- sanderjd 3y agoI think downvoting that comment is stupid, but I also think the comment is wrong: Mastery does not imply incomprehensibility, but rather the opposite.
- unmole 3y ago> I think downvoting that comment is stupid, Why?
- sanderjd 3y agoBecause downvotes aren't for disagreement. There is nothing wrong with the comment, it isn't aggressive or trolling or in bad faith or anything. It's just reasonable to disagree with it.
- unmole 3y ago> Because downvotes aren't for disagreement. On Reddit, not HN: https://news.ycombinator.com/item?id=16131314 https://news.ycombinator.com/item?id=16131314
- sanderjd 3y agoI'm not going to downvote you just because I disagree with you, I'm going to write you a comment about what I think instead :) I don't consider that appeal to authority canonical. My opinion is that downvotes should be used for bad comments, not for comments you disagree with. These aren't the same thing.
- unmole 3y ago> I'm not going to downvote you You can't downvote me because my comment was in response to yours. It's not an appeal to authority. It's a statement of fact as also seen in the implementation itself.
- sanderjd 3y agoIt was tongue in cheek :) It is the definition of an appeal to authority to quote an authority figure as the final word on some debate. I've been here since before that first comment from pg about this, and no, I don't agree that it's a "fact" that this is "how HN has always worked", and no, there is nothing in the implementation that unambiguously makes downvotes be for disagreement. But again, I'm not arguing for strict rules that work the way I prefer. I'm saying, this is a community I participate in, and I have my own opinions about how best to participate in it, which aren't necessarily aligned with the people who created the site 15 years ago. Other people are entitled to differing opinions about this, and can use the site how they prefer, but I still have my own opinions and will advocate for them.
- selykg 3y agoNot OP. Nothing in the original comment was technically wrong. It does feel misguided and perhaps a little naive. But it seems more like an opportunity for a real conversation to both understand why they think that way and as a way to educate why there might be a better way. I reserve downvotes for posts that are flagrant, factually wrong, or are otherwise against the rules. Flagging might also be used. But using downvotes to have a voice not be heard feels wrong, too. What was said doesn't hurt anyone, even if a vast majority of people around here might disagree with it. Downvoting because you disagree feels wrong.
- wiseowise 3y agoIt is technically and factually wrong. Advanced != incomprehensible. Incomprehensible isn’t a feature of advanced either, you can be a novice and still write incomprehensible Python code.
- unmole 3y agoDownvoting to indicate disagreement is how HN has always worked: https://news.ycombinator.com/item?id=16131314 https://news.ycombinator.com/item?id=16131314
- sanderjd 3y agoThis might come as a shock, but pg has been wrong about lots of stuff, including this. Downvotes should be used for bad comments, not comments that you disagree with. These aren't the same thing. It's fine that downvotes and upvotes aren't symmetrical in this sense. They aren't anyway - highly upvoted comments don't get bolded the way that downvoted comments get grayed.
- wiseowise 3y agoBad comments should be flagged.
- sanderjd 3y agoAbusive comments should be flagged. Bad comments should be downvoted. There are lots of comments that are bad because they are not constructive, or are off topic, or are arguing in bad faith. These don't deserve to be flagged. They deserve to be downvoted. And there are lots of comments that are constructive and in good faith, but just reasonable to disagree with. These don't deserve downvotes, they deserve a comment disagreeing, or an upvote on an existing comment disagreeing with them. For what it's worth, I contend that - notwithstanding what pg and dang said many years ago, this is the revealed preference of most HN users, because it's quite rare to see a comment that is downvoted, just because lots of people disagree with it.
- jeffrallen 3y agoI have several decades of experience reading and using other people's code. When code is written at "master" level, that excludes most of the people who could generate business/social value out of using or improving it. I appreciate the aesthetic beauty of great code. But it has a cost compared to average code. This is doubly true for a language like Python, which occupies a niche of "lingua franca between users with wildly different backgrounds bringing value to the table by being able to use and change the same software".
- bshipp 3y agoMastery of Python, in my opinion, is mastering "Pythonic" code, which incorporates readability as a fundamental tenet. In addition, the gigantic universe of not only the standard library but also numerous external libraries and tools, of which a master can leverage to undertake tasks both rapidly and efficiently. So, to me, a Python zen master would not write incomprehensible code, but instead write readable code very quickly that effectively and efficiently solved the problem they are facing due to their comfort working inside the Python ecosystem.
- PennRobotics 3y agoMy personal goal is to get as close to Norvig as possible for general Python code: https://github.com/norvig/pytudes/blob/main/ipynb/Advent%20of%20Code.ipynb https://github.com/norvig/pytudes/blob/main/ipynb/Advent%20o... (short but exact comments, inline testing, good function and variable naming, overall good use but not overuse of the standard library, functions very rarely more than a dozen lines, generally understandable code)
- sanderjd 3y agoWhat you are talking about is not code that is written at a "master" level, what you are talking about is code that is clever. An important part of mastery is understanding what kind of code to write, when. Mastery means writing code that is easy for others to read and modify, when writing code in a professional setting. Mastery can also be writing clever code with "aesthetic beauty", in a different setting like an academic or personal project. But people who write clever inaccessible code while working professionally with a team have a few more steps to walk toward mastery.
- frou_dh 3y agoIt was a bit dumb to make a definitive statement about what Python is used for, rather than just saying it's fairly often used for that.
- unmole 3y ago> This is a perfectly sane, at least from business point of view, It's perfectly sane to actively avoid trying to understand the your tools of your trade better?
- jeffrallen 3y agoThanks, but I have a job. :)
- sanitycheck 3y agoI too would have disagreed 10 years ago. 15 years ago I may also have downvoted. Now I recognise that we should, unless there's a very good reason (not for style), keep our code stupid-simple. And doing that is harder than making it clever.