614
Not
(files.catbox.moe)
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.
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:
I think that just a
.not()
method on Booleans is cooler: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
We use ! because keyboards no longer have buttons for ¬, which is the other logical not.
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.
My (ISO) keyboards do, under the Esc key. I guess you're in North America (or Australia) and have an ANSI layout.
Ah, yep. I have very little knowledge of keyboards in other parts of the world, unfortunately.
Oh, I know where it came from. That's also why we have all kinds of maths operators in the syntax of virtually any programming language. Because back when we didn't yet know where this programming thing was going, we just threw in the conventions of maths and theoretical logic.
What I'm saying is that we have our own conventions now, i.e. objects and methods, so I think, it's worth reconsidering whether we still want to have these old conventions that are special cases in the syntax.