this post was submitted on 23 May 2024
264 points (91.5% liked)

Programmer Humor

19623 readers
507 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 

...from people who seem to refuse to install paredit or coloring plugins for either? ps lisp syntax ftw, it's a feature!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 39 points 6 months ago (5 children)

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.

[–] [email protected] 15 points 6 months ago* (last edited 6 months ago) (1 children)

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

[–] [email protected] 27 points 6 months ago (4 children)

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

[–] [email protected] 11 points 6 months ago* (last edited 6 months ago)

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.

[–] [email protected] 6 points 6 months ago

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

[–] [email protected] -3 points 6 months ago (3 children)

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

[–] [email protected] 14 points 6 months ago

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

[–] [email protected] 6 points 6 months ago (1 children)

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

[–] [email protected] 3 points 6 months ago

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.

[–] [email protected] 5 points 6 months ago

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?

[–] [email protected] -5 points 6 months ago

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...

[–] [email protected] 9 points 6 months ago

You take that back, python is my homie!

In all seriousness, I freely admit that I'm biased towards python because it was my first language and remains my favorite. I use an IDE for anything but the simplest scripts, so I've very rarely had any issues with spacing.

[–] [email protected] 8 points 6 months ago

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.

[–] [email protected] 4 points 6 months ago (1 children)

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.

[–] [email protected] 1 points 6 months ago

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

[–] [email protected] 2 points 6 months ago

In 20 years of using Python, I never had one issue with the indentation. Use spaces all the time, use PyCharm, and that’s it.

Whitespace is statistically insignificant in Python.