- cross-posted to:
- programmerhumor@lemmy.world
- programmerhumor@lemmy.ml
- cross-posted to:
- programmerhumor@lemmy.world
- programmerhumor@lemmy.ml
My gender is a null-pointer.
gender: impl Any
Even booleans take up 8 bits. And that’s a lot of wasted space.
That’s only due to technical reasons on weird platforms like x86, 64bit x86 or ARM.
That’s why you use bitarrays and bitflags instead when you need more than just one or two arguments for a function.
Only if it’s performance sensitive. Otherwise you’re wasting programmer time both writing and reading the code, and you’ve made it less maintainable with more complexities where bugs can creep in.
The vast majority of the time you can afford a few wasted bits.
Honestly though I don’t quite understand why a compiler couldn’t optimise this process. Like it knows what a boolean is, surely it could reduce them down to bits.
Gender is a second order tensor, so you should store it as a pointer to an array of pointers for maximum read/write speed.
Gender: true
Clearly your gender field is a boolean. Which means it can be either true, false, null, or undefined. Except in javascript where for some reason it can sometimes be NaN, but only when you try to compare two people.