…from people who seem to refuse to install paredit or coloring plugins for either? ps lisp syntax ftw, it’s a feature!
No, YAML can fuck right off. I hate that this shit format is used for cloud stuff.
YAML is the Excel of data formats due to the Norway Problem
OK, that’s excessively “convenient” for booleans. But I don’t get the passionate YAML hate, seems like a simple enough language for config. Didn’t have the pleasure (“pleasure”?) to work with it though, so what’s why else is it shitty?
A property can have the wrong indentation and it would still be a syntactically correct yaml. It’s hard to distinguish whether a line is wrongly indented or not. Copy and paste a line and mistakenly use the wrong indentation, and the entire production breaks.
In json it’s much harder to do similar mistakes.
Who hates s-expressions? They’re elegant as fuck…
Python, on the other hand, deserves all the hate it gets for making whitespace syntactically significant - I even prefer Go’s hamfisted
go fmt
approach to a forced syntax to python’s bullshit.I dgaf about indices starting at 0 or 1, I can deal with case-insensitivity, but syntactically significant whitespace drives me up the wall.
What’s so hard to understand about it? It’s how you should format your code anyway. Only it’s enforced.
It’s quite often I have to second guess whether the code is correctly intended or not. Is this line supposed to be part of this if block or should I remove that extra indentation? It’s not always entirely obvious. Extra troublesome during refactors.
In other languages it’s always obvious when a line is incorrectly indented.
sometimes, a script needs to be edited in a plain text editor, without having access to an lsp or any other dev tools.
But s-expressions give you power that other syntax doesn’t. Data and code as one. Besides there is no other syntax than simply that so it becomes much easier to remember random extra things.
Whitespace on the other hand, I hate with fiber of my being.
Yes definitely. However Rust manages to become extensible and capable of constructing powerful DSLs out of it’s macros without using S-expressions. But I still find them prettier than Rust’s syntax.
I love python: Fight me IRL.
fine i will take the bait: thats 5 spaces
As long as the next line also has 5 spaces, that’s fine. Python only complains about inconsistency, not the exact number of spaces/tabs.
Make, on the other hand… Ugh.
I hate YAML so much
ITT: Developers who think their code is readable complaining about Python and YAML.
Might just be me but YAML is some of the least readable shit I’ve ever used.
People with bracketed languages just want to write the most unreadable code ever to feel superior.
So I’m going to say what I always say when people complain about semantic whitespace: Your code should be properly indented anyway. If it’s not, it’s a bad code.
I’m not saying semantic whitespace is superior to brackets or parentheses. It’s clearly not. But it’s not terrible either.
As someone who codes in Python pretty much everyday for years, I NEVER see indentation errors. I didn’t see them back when I started either. Code without indentation is impossible to read for me anyway so it makes zero difference whether the whitespace has semantic meaning or not. It will be there either way.
Python decided to use a single convention (semantic whitespace) instead of two separate ones for machine decodeable scoping and manual/visual scoping. That’s part of Python’s design principle. The program should behave exactly like what people expect it to (without strenuous reasoning exercises).
But some people treat it as the original sin. Not surprised though. I’ve seen developers and engineers nurture weird irrational hatred towards all sorts of conventions. It’s like a phobia.
Similar views about yaml. It may not be the most elegant - it had to be the superset of JSON, after all. But Yaml is a semi-configuration language while JSON is a pure serialization language. Try writing a kubernetes manifest or a compose file in pure JSON without whitespace alignment or comments (which pure JSON doesn’t support anyway). Let’s see how pleasant you find it.
one of my least favorite things about python is semantic whitespace. no need to comment on yaml.
fuck it, parenthesis all the way.
Go home OP, you’re drunk.
And give us your keys, you’ve had too much minimalism to drive.
Everyone that prefers whitespaces over parentheses is an animal.
Yep! Most of us are even homo sapiens!
Meow.