4 ms·
The shell uses "-" to enable an option and "+" to disable it. I don't know who's to blame for this, but it's part of the POSIX standard.
by pdw 6y ago
The shell uses "-" to enable an option and "+" to disable it. I don't know who's to blame for this, but it's part of the POSIX standard.
- _carbyau_ 6y agoI can kind of see it as an ASCII art flowchart line. IE a line to indicate use of this option and a line with a strikethrough to indicate it has been "struck out" as an option. But using the conventional minus and plus symbols is indeed confusing.
- saurik 6y agoI mean, if you want to undo subtracting something, you add it? The only reason I ever found it confusing is that it was "backwards", but that feels like a forced error due to + requiring a shift while - doesn't.
- smallnamespace 6y ago"-" doesn't require hitting the shift key. Making the common case easy seems like a reasonable argument.
- naikrovek 6y ago> The shell uses "-" to enable an option and "+" to disable it. things like this are how I know that there are too many people who are absolutely insane and who make mundane decisions. - to add + to subtract absolute genius. is this what higher education teaches people? I didn't go to college, and maybe that was best.
- eyelidlessness 6y agoWeirdly, this kind of syntactic idiosyncrasy is something that got me interested in Erlang. Finally a language that uses full stops when a routine full stops. I find most of the rest of its syntax uncomfortable (I didn’t spend much time with the language, I’m sure it’s fine when you’re used to it), but I always found it weird to end a completed statement with a statement-list-joining punctuation mark.
- samatman 6y agoThis was inherited from Prolog, which ends terms with a full stop. Most other languages didn't want to handle the syntactic ambiguity of using the period as a decimal point and a statement separator.
- eyelidlessness 6y agoI thought of mentioning the Prolog heritage. Weirdly CSS (having the worst syntax consistency of any language I can think of) is hyphen-heavy and solves its negation infix operator ambiguity well: it needs to be surrounded by whitespace. For Prolog/Erlang, I think the preceding syntax is disambiguating enough
- GoblinSlayer 6y agoCOBOL terminates some statements with a period. And before that FLOW-MATIC https://en.wikipedia.org/wiki/FLOW-MATIC https://en.wikipedia.org/wiki/FLOW-MATIC
- macintux 6y agoThe punctuation in Erlang mirrors English so closely I find it frustrating when people complain about it. It's incredibly simple. Comma means "and", semi-colon ends a clause, full stop closes out the entire thought.
- toast0 6y agoErlang is great, and I got used to the punctuation, but it's kind of a pain when you're moving code around. Oh, now this is the last thing, gotta take off the ; or replace a , with a . At least when I was starting out, I'd have loved a more C-like syntax with {} and consistently semicolons. Of course, Elixir came and just got rid of most punctuation, which I like less. Anyway, it's consistent and after a couple weeks of messing it up, I can consistently see where the mistake is from the compiler error; after several years, I still sometimes mess it up, but oh well. I can't recall having messed up the punctuation so much that it still compiled but wasn't what I meant, so it's almost always quick to recover.
- throwawayboise 6y ago+ is the opposite of -. Not too hard to remember.
- niceairport 6y agoOr just think about all options as being prefixed with a "-"
- dogecoinbase 6y agoOne of my favorites is in POSIX date format strings: %p locale's equivalent of either AM or PM %P like %p, but lower case
- antonvs 6y agoThat's not a plus sign, it's a crossed-out hyphen
- Y_Y 6y ago> "that's a smile, not an upside-down frown!"