this post was submitted on 02 Oct 2024
607 points (96.3% liked)

Programmer Humor

19602 readers
950 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
 
you are viewing a single comment's thread
view the rest of the comments
[–] Ephera@lemmy.ml -4 points 1 month ago (18 children)

Alright, spicy opinion time: I think, the ! operator is dumb.

It's yet another symbol with a meaning, which people have to learn.

And it's easy to overlook, especially in languages with parentheses in their if-conditions:

if (!list.isEmpty()) { ... }

I think that just a .not() method on Booleans is cooler:

if (list.isEmpty().not()) { ... }

You can do this in Rust, which is where I have that idea from: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=dedb71bd84243c78ee0afad0f30b80c3

[–] TheRealKuni@lemmy.world 17 points 1 month ago (4 children)

We use ! because keyboards no longer have buttons for ¬, which is the other logical not.

[–] Zagorath@aussie.zone 5 points 1 month ago

We could have used the tilde, which has been used in formal logic & maths for negation in very many contexts for a long time.

It's used instead in C and many C-like languages for the far less useful bitwise negation. Of course, we could have had it work in the same way as bitwise vs logical and & or, by dialling up the symbol. Which would have massively improved its visibility compared to the bang.

But for some reason, no. They chose the bang instead.

load more comments (3 replies)
load more comments (16 replies)