this post was submitted on 12 Jun 2025
570 points (98.6% liked)

Programmer Humor

24186 readers
651 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 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] Ephera@lemmy.ml 123 points 2 days ago (1 children)

For optimal performance, you should rewrite it in Rust:

inline_python::python! {
    print(js2py.eval_js("(number) => number % 2 ? 'odd' : 'even'")(number))
};
[–] ATPA9@feddit.org 70 points 2 days ago* (last edited 2 days ago) (1 children)

And now you can use wasm to run it in a browser!

[–] victorz@lemmy.world 25 points 2 days ago (1 children)
[–] ulterno@programming.dev 12 points 2 days ago

Make sure the browser is made using Rust and run on a VM running on Linux, compiled to WASM.

[–] entropicdrift@lemmy.sdf.org 137 points 2 days ago (4 children)
print("odd" if num % 2 else "even")

That's the native python version, for those curious

[–] DreadPirateShawn@lemmy.blahaj.zone 87 points 2 days ago (4 children)

The ternary syntax is really my only real gripe with python design -- putting the conditional BETWEEN the true and false values feels so very messy to me.

[–] balsoft@lemmy.ml 22 points 2 days ago* (last edited 2 days ago) (3 children)

Eh, reads pretty naturally to me. That said, (like I lisp)

[–] Shareni@programming.dev 14 points 2 days ago (1 children)

Lisps makes more sense to me though

(if condition a b)

VS

a if condition else b

[–] balsoft@lemmy.ml 9 points 2 days ago

I was more talking about (+ a b) and such.

load more comments (2 replies)
[–] idunnololz@lemmy.world 4 points 2 days ago (1 children)

At least you guys have ternary syntax cries in kotlin.

[–] Aqarius@lemmy.world 2 points 1 day ago

It's really special to not have ternary, but have Elvis.

[–] rbos@lemmy.ca 12 points 2 days ago (6 children)

It's kinda natural to me having used Perl a lot.

[–] SpaceNoodle@lemmy.world 20 points 2 days ago (10 children)

That's not quite the argument you might think it is

load more comments (10 replies)
load more comments (5 replies)
load more comments (1 replies)
[–] laurelraven@lemmy.zip 3 points 1 day ago

Oh wow, I think I hate that... Condition between the results? Yuck.

[–] Gork@sopuli.xyz 9 points 2 days ago (1 children)

That's way too non-convoluted enough

[–] entropicdrift@lemmy.sdf.org 17 points 2 days ago (2 children)

Python is kinda like that in general, unless you try to make it read like ass

[–] wise_pancake@lemmy.ca 6 points 2 days ago (1 children)

You would not believe the number of people I’ve interviewed who excel at making Python read like ass.

[–] entropicdrift@lemmy.sdf.org 6 points 2 days ago

I mean, it does have enough ways to write the same thing that it can really allow for some funny code golf, but some people just have no sense of readability whatsoever.

load more comments (1 replies)
[–] Kaboom@reddthat.com 8 points 2 days ago (2 children)
[–] jacksilver@lemmy.world 18 points 2 days ago (2 children)

I think the idea is it reads more naturally, so you can read it like this return A if statement is true else return B

[–] Nalivai@discuss.tchncs.de 1 points 21 hours ago (1 children)

Is it really more natural for a non-programmer than "if statement is true than a else b"? I can't evaluate because of decades of C, so for me the python logic is still bizarre.

[–] jacksilver@lemmy.world 1 points 20 hours ago

Maybe?

For C at least it doesn't have the actual words, so you need to know what the specific symbols are var = condition ? a : b. In that expression we don't know what a or b are in regards to the condition.

Python literally is a if condition else b, so it reads out what is being done.

load more comments (1 replies)
[–] BassTurd@lemmy.world 9 points 2 days ago* (last edited 2 days ago)

Edit... I reread your comment and realized that python does it differently and that everything I typed was irrelevant... I'm still gonna leave it if anyone is interested in ternary expressions, but I suppose the answer to your question is, that's just how python does it.

That's how ternary operators are designed to work. In essence, if you're looking to do a single line if/then, you can directly assign a variable from the result of a ternary expression.

As an example, I was scripting something earlier where there may or may not be a value returned from a function, but I still had to do something with that return value later. For this thing, I was using JavaScript.

I ended up with:

return platform == "name"  ? "Option 1" : "Option 2"

If I were to write that out in a typical if/then it would be:

if (platform == "name") {
    return "option 1"
} else {
    return "option 2"
}

A ternary starts with a boolean expression, then the if true value, else the false value. That's returned to either a variable or if in a function like my example, to the object calling the function. It's just a way to write less code that in many cases is easier to read.

[–] mdhughes@lemmy.sdf.org 39 points 2 days ago (1 children)

print( ["even", "odd"][num % 2] )

If you need to avoid evaluating the wrong branch:

print( [lambda: "even", lambda: "odd"][num % 2]() )

[–] FireIced@lemmy.super.ynh.fr 8 points 2 days ago (1 children)
[–] gamma@programming.dev 11 points 1 day ago (1 children)

Not as cursed as

print("eovdedn"[n%2::2]) 
[–] SpaceNoodle@lemmy.world 57 points 2 days ago (1 children)

Please. That's C's ternary operator. JS is just a pile of garbage cosplaying as a programming language

[–] victorz@lemmy.world 4 points 2 days ago (1 children)

Why do you say it's a pile of garbage?

[–] SpaceNoodle@lemmy.world 19 points 2 days ago (2 children)

Because of all the garbage

[–] Fillicia@sh.itjust.works 7 points 2 days ago (1 children)

Clearly the garbage collector is too effective

[–] filcuk@lemmy.zip 3 points 2 days ago (1 children)

No they're not supposed to be piling it up

[–] piccolo@sh.itjust.works 6 points 2 days ago

Is a garbage collector not a garbage disposal. Smh.

[–] victorz@lemmy.world 2 points 1 day ago

One example that's giving you problems? Maybe even on a daily basis if you use it for work? What's garbage about it?

[–] owl@infosec.pub 18 points 2 days ago

Just send pseudo code to AI and compile straight to binary.

Peak programming

[–] capuccino@lemmy.world 11 points 2 days ago (2 children)

I love something = condition and result1 or result2 in lua

[–] PattyMcB@lemmy.world 10 points 2 days ago (1 children)

Yeah... I played that "serial killer or programming language inventor" game.

The only one I was completely in disagreement with was the inventor of Python. He's definitely a mass-murderer

[–] conditional_soup@lemm.ee 6 points 2 days ago* (last edited 2 days ago)

Are you sure it isn't just that he's Dutch?

load more comments
view more: next ›