xmunk ,

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.

eestileib , (edited )

I dgaf about indices starting at 0 or 1, I can deal with case-insensitivity, but syntactically significant whitespace drives me up the wall.

Diplomjodler3 ,

What's so hard to understand about it? It's how you should format your code anyway. Only it's enforced.

Lysergid ,

No it’s how Python wants you to format. Many times I want to separate two logical sections in one function and can’t coz Python go crazy

Diplomjodler3 ,

Just put them in separate functions. If you have too many levels of indent, your code is convoluted. Sticking to the line length limit sometimes forces you to write more lines than you'd like to. But it makes everything so much more readable that it's 100% worth the trade off

xmunk ,

What if the logic is more readable in one function?

I use whitespace to make my code more legible, python forces more whitespace consistency but it comes at the cost of limiting the legibility.

AdamBomb ,

Are you saying that you want to separate your two logical sections by having different levels of indentation and that’s what makes Python go crazy?

umfk ,

Can you give a concrete example? Because I don't understand what you mean.

magic_lobster_party ,

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.

slice1 ,

Yeah, it is a completely nonsensical thing to complain about. I hate to go around matching curly brackets like some braindead nematode. If you use more than two levels you should rewrite the code in most cases... just use advanced indexing and vectorization (by pythonic ;p). Or you can loop around like a freaking peasent in your inefficient garbage code that nobody can read because it is cluttered with comments explaining basic stuff. There is a reason Python is popular... and it is not because no one can read it. Same goes for dynamic typing - it is a blessing for most tasks. I do not want to explain to the machine what every temporary variables means...

vrighter ,

sometimes, a script needs to be edited in a plain text editor, without having access to an lsp or any other dev tools.

pkill OP ,

I agree but still you can oftentimes expect that the average person's initial reaction to be somehow reluctant... until they understand it. it's like those foods and drinks that you might need to try a couple times before you start enjoying them.

xmunk ,

Oh, definitely, they can look bizarre and confusing before you understand them.

muntedcrocodile ,

I hate em cos regardless of language auto formatter takes care of everything. So now im typing extra characters and fucking shit up and confusing myself when moving code between scopes.

FiskFisk33 , (edited )
aniki ,
I love python:
     Fight me IRL.
Tamkish ,

fine i will take the bait: thats 5 spaces

Barbarian ,
@Barbarian@sh.itjust.works avatar

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.

Buddahriffic ,

Make, on the other hand... Ugh.

flappy ,

I hate YAML so much

lorty ,
@lorty@lemmy.ml avatar

No, YAML can fuck right off. I hate that this shit format is used for cloud stuff.

0x0 ,

YAML is the Excel of data formats due to the Norway Problem

RecluseRamble ,

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?

CaptPretentious ,

Do a search for 'why yaml is bad' and you'll get a lot of stories.

Constant passing problems, especially when the yaml gets very large and complex. After I implemented a new feature I was pulled into a call with 12-15 people demanding to know why it didn't work. The new feature worked fine, The guys yaml had the wrong amount of white space and so it didn't parse.

lorty ,
@lorty@lemmy.ml avatar

White space in the wrong place? Fails
Wrong amount of tabs? Fail

Working in a big configuration file that has a lot of nesting? Good luck.

Best part is that most of these things don't throw errors or anything, it just doesn't work and you are left scratching your head as to why your deploy only fails in the production environment.

magic_lobster_party ,

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.

UnfortunateShort ,

I think TOML found a pleasant compromise there

AdamBomb ,

Since it’s a superset of JSON, couldn’t you just use the JSON notation if you hate the semantic whitespace?

chonglibloodsport ,

Haskell does both! Most people prefer to use whitespace when writing Haskell but it’s not required. Braces and semicolons are preferred if you’re going to be generating Haskell code.

_NetNomad ,
@_NetNomad@kbin.run avatar

you'll pry my END command from my cold, dead hands...

mindbleach ,

Load-bearing whitespace is a mistake.

RedSeries ,

ITT: Developers who think their code is readable complaining about Python and YAML.

onlinepersona ,

People with bracketed languages just want to write the most unreadable code ever to feel superior.

Anti Commercial-AI license

IronKrill ,

Might just be me but YAML is some of the least readable shit I've ever used.

RedSeries ,

Honestly, I agree. But I don't think Python is anywhere near that bad.

luciole ,
@luciole@beehaw.org avatar

It’s fascinating how s-expressions are both data type and language syntax. Such power. Only other time I saw something remotely like this was XSLT & XML, which I admittedly do not miss one bit.

KindaABigDyl ,
@KindaABigDyl@programming.dev avatar
a = [ Haskell
    , is
    , the
    , GOAT ]
DumbAceDragon ,
@DumbAceDragon@sh.itjust.works avatar

I don't get why people hate semantic whitespace. The whitespace would be there anyway, and if anything it's easier to read as long as you're not using a dynamically typed abomination like python.

S-expressions are a hack because the Lisp devs didn't know how to make an actual compiler, and instead had the users write the syntax tree for them. (For legal reasons I am being facetious).

In all honesty, I can understand the reason people love s-expressions, but to me they're just unreadable.

Traister101 ,

Semantic whitespace is awful because whitespace (something that you can't actually see) has meaning in how the program runs. Braces { } for scopes gives you the ability to easily tell at a glance where a scope ends. Whitespace doesn't allow for that. Especially, especially when you can accidentally exit a scope (two new lines in a row with Python) and it's not actually an error (Pythons global scope). Yeah formatters and linters make this less of an issue but it sucks... Languages with legible symbols for scoping are significantly easier to reason about, see end symbols in Lua.

isVeryLoud ,
@isVeryLoud@lemmy.ca avatar

I literally can't see whitespace, it gives me headaches looking for it. With brackets, I can get bracket matching in my IDE.

umbraroze ,

Clearly, the superiour mode is to just use keyword based scoping (à la Ruby do ... end). When I was a kid I read an OBSCENE MAGAZINE where I saw a Forth program go dup dup dup and I was like "ok so what's the problem here? Things happen and everything is just keywords?" and my young mind was corrupted forever I guess

masterspace ,

Go home OP, you're drunk.

And give us your keys, you've had too much minimalism to drive.

loudWaterEnjoyer ,
@loudWaterEnjoyer@lemmy.dbzer0.com avatar

Everyone that prefers whitespaces over parentheses is an animal.

LeroyJenkins ,

moo

runeko ,
@runeko@programming.dev avatar

Meow.

lengau ,

Yep! Most of us are even homo sapiens!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • kbinchat
  • All magazines