this post was submitted on 16 Sep 2024
722 points (97.4% liked)

Programmer Humor

32472 readers
428 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Smoogs@lemmy.world -1 points 1 month ago (3 children)

“Print needs ()”

Oh fuck off. years of code that cannot be easily redone in ANY editor. Whoever OCDd that into python 3 needs to have their asshole kicked up into their mouth.

[–] driving_crooner@lemmy.eco.br 18 points 1 month ago (1 children)

Imo is more intuitive the need of () in print,like is a function like any other, why would not use ()?

[–] Smoogs@lemmy.world 1 points 1 month ago* (last edited 1 month ago) (1 children)

If you developed it to not have brackets for the first one or two decades. Especially if there’s no possible way to easily edit it. You’re a psychopath to not consider this.

[–] thebestaquaman@lemmy.world 2 points 1 month ago

That's what major versions are for - breaking changes. Regardless, you should probably be able to fix this with some regex hackery. Something along the lines of

new_file_content = re.sub(r'(?<=\bprint)(\s+)(?!\()', '(', old_file_content)
new_file_content = re.sub(r'(print\(.*?)(\n|$)', r'\1)', new_file_content)

should do the trick.

[–] Swedneck@discuss.tchncs.de 12 points 1 month ago (1 children)

why would it not have brackets? i detest syntax that is only applicable to a handful of situations and has to be specifically memorized separately from how every other part of the language works.

[–] Smoogs@lemmy.world 0 points 1 month ago* (last edited 1 month ago)

Not after 10 years of it not having brackets. And providing no editing ability to change it as a macro. That’s just cruel and inhumane and psychopathic.

[–] janAkali@lemmy.one 1 points 1 month ago* (last edited 1 month ago)

Meanwhile Nim:

echo "I am still worthy"
let a = r"I hate the ugly '\' at the end of " &
         "multiline statements"
for x in 0..9:
  if x == 6: echo x

echo x # this is error in Nim, but not in python. Insane!
assert false + 1 # this is an error (python devs in shambles)
assert true - 1 # see above

Thanks for coming to my Ted-talk.
More here: Nim for Python Programmers