this post was submitted on 23 May 2024
264 points (91.5% liked)
Programmer Humor
19572 readers
1998 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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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
Can you give a concrete example? Because I don't understand what you mean.
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
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.
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?
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...