Live data from Hacker News

You can't do that because I hate you

bvisness.me

91–100 of 216 posts

Re: You can't do that because I hate you

#91
post #18

Earlier quoted context omitted.

The problem with this argument is the low hanging fruit. EXIT is pretty unambiguous. I HATE that some tools the help argument is -? and others use --? when everyone COULD just print help on both is maddening, especially when you use the "wrong" one and it just says "do the other for help". You KNEW what I wanted, and didn't do it, just like the article says. Yes, mindreading is tricky, but sometimes you don't need to…

Wait what? It would never occur to me to try to use a question mark as a command option at all. That's what "--help" is for. I'm actually surprised any program at all recognizes either form of the question mark. ... but don't get me started on people who think it's ok to use a single hyphen to start a multicharacter option, or don't let you put multiple single character options after the single hyphen...

Anything a user tries to do to ask for help is correct behavior that you need to support. It is a crime to tell the user “you asked for help incorrectly”.

I suggest supporting at least all of the following: -h, -help, --help, -?, /h, /?, help, (if possible). Other flags don’t have to follow these rules, but I think help can be an exception.

And maybe you should print the help any time the user enters a bad command.

Re: You can't do that because I hate you

#92
post #70

> But it does neither. It acknowledges your intent and refuses it. It’s saying “I know exactly what you want to do, but you’re doing it wrong. Do it right next time.” Programming languages follow rules and programmers should follow the rules. Just because mistake is common doesn’t mean the language should incorporate it into its functioning. That makes inconsistent behavior and is a pain in the long run because inste…

I think it's quite reminiscent of car infrastructure, in that you can know all the rules, but primarily you're interacting with other people who have varying knowledge and skill with the rules.

The dutch make a strong case for the rules to follow what the people do naturally, and using design to make the correct thing the easiest one, rather than presenting a stiff ruleset and expecting people to contort themselves around it.

I don't know what a dutch programming language looks like, but i think it'd be better than what we've got now in terms of all readers and writers getting the same understanding of the same code

Re: You can't do that because I hate you

#93

>It wasn’t seeing my file, despite it absolutely being part of the project. It even found the lib.rs in my crate but not this particular source file. I have no idea why, Because it's not in fact part of their project, despite their assertion that it is. >But you can’t. cargo fmt doesn’t have an option for that. How is even possible for your format command to not let you format an individual file? Because cargo is a t…

Some of us just wander into the Rust part of the codebase every so often for our work. I cd’d into the folder with the cargo.toml, ran cargo fmt, and nothing happened. I dunno what else to tell you. Sometimes things just aren’t set up the “right way”, and yet we still have to do our jobs.

Does cargo test run unit tests in the file you're expecting to be formatted that isn't?

Re: You can't do that because I hate you

#95
post #59
post #10

Such a weird rant. Yes, some tools do some things, but not others. Making tools do everything for everyone just bloats them to unmaintainable messes. And it’s a special kind of entitlement to believe that the way _I_ imagine things must be working is the only possible correct interpretation. Reality is messy, there are trade-offs, and a lot of smart people think very hard about what the correct trade-offs should be g…

Not having a feature is fine. Kind of having a feature but hiding it behind obnoxious gatekeeping is not fine. Features that are buggy or inexplicably complex is not fine. Some open source projects get this right, and others don't. Some projects don't care about wasting the user's time. Or they berate the user for wanting to do something in the 'wrong' way. Or they break things that worked just fine in the pursuit of…

I really appreciate the way Rust feature gates unstable features. It's easy to opt into nightly if you need them, it's nice that new features are iterated until they are correct and it is nice to rely on stable being stable.

Re: You can't do that because I hate you

#96
post #92
post #70

> But it does neither. It acknowledges your intent and refuses it. It’s saying “I know exactly what you want to do, but you’re doing it wrong. Do it right next time.” Programming languages follow rules and programmers should follow the rules. Just because mistake is common doesn’t mean the language should incorporate it into its functioning. That makes inconsistent behavior and is a pain in the long run because inste…

I think it's quite reminiscent of car infrastructure, in that you can know all the rules, but primarily you're interacting with other people who have varying knowledge and skill with the rules. The dutch make a strong case for the rules to follow what the people do naturally, and using design to make the correct thing the easiest one, rather than presenting a stiff ruleset and expecting people to contort themselves a…

> I don't know what a dutch programming language looks like

Python? Heh. (Not Pascal: Wirth is Swiss). And of course, Dijkstra was involved with Algol 60.

Re: You can't do that because I hate you

#97

This rant is spot on and it's disappointing (but not surprising) that there are so many commenters here that don't get it. Honestly a few years ago I'm not sure I would have got it. It definitely seems to be specific developers/communities that suffer from this "UX doesn't exist" sort of attitude. I have also run into Rustfmt issues when trying to format single files (necessary for Phabricator's arc lint) and they ha…

>This rant is spot on and it's disappointing (but not surprising) that there are so many commenters here that don't get it. Honestly a few years ago I'm not sure I would have got it.

Nailed it. A few years ago, I was deep enough in the zeitgeist of Rust (or whatever project) that I would maybe even be offended by a blog post like this; bro, do you think you're better than Rust? Keep up like the rest of us!

After years of doing actual things (and not meta-learning), when there's something that makes no sense that ruins my day, I hate it.

Re: You can't do that because I hate you

#98
post #18

Earlier quoted context omitted.

The problem with this argument is the low hanging fruit. EXIT is pretty unambiguous. I HATE that some tools the help argument is -? and others use --? when everyone COULD just print help on both is maddening, especially when you use the "wrong" one and it just says "do the other for help". You KNEW what I wanted, and didn't do it, just like the article says. Yes, mindreading is tricky, but sometimes you don't need to…

Wait what? It would never occur to me to try to use a question mark as a command option at all. That's what "--help" is for. I'm actually surprised any program at all recognizes either form of the question mark. ... but don't get me started on people who think it's ok to use a single hyphen to start a multicharacter option, or don't let you put multiple single character options after the single hyphen...

> ... but don't get me started on people who think it's ok to use a single hyphen to start a multicharacter option

There are quite a few older programs that do that, including ImageMagick and FFmpeg.

Re: You can't do that because I hate you

#100
post #89

Earlier quoted context omitted.

> “Just because mistake is common” A good example of why having a language that is squishy to common errors is valuable. I still understood your point even though it’s grammar wouldn’t compile.

Humans aren’t programming languages. So programming languages don’t need to do everything humans do. It’s ok for things to be different. It’s cool that I understood what you meant when you said “it’s grammar wouldn’t compile” but I would definitely expect a compiler to barf unless you entered “its grammar.”

Programmers just haven't been able to make computers as good at language as humans are at language because they're not good enough at their jobs. There's no inherent reason that programming language statements need to perfectly follow regular grammars and have exactly defined vocabularies (functions) that compile to ASTs, etc. that's just the highest level of language technology we've invented. It has essentially no error recovery mechanisms because it's hard/tedious and error is hard to model using logic.

Being frustrated that this is the case is expressing an underserved need in the market. You're aware of the limitations and have grown to be okay with them because otherwise you'd probably hate programming, but that doesn't mean we should all always be okay with them forever.

Post reply on HN