3 ms·
Lots of people don't know of % works. Just as a lot of C / Java / C# programmers do not know the difference between "if a() & b()" and "if a() && b()" Funny yo
by typicalrunt 14y ago
Lots of people don't know of % works. Just as a lot of C / Java / C# programmers do not know the difference between "if a() & b()" and "if a() && b()"
Funny you say that. And incredibly sad too.
I have participated in interviewing many junior/mid/senior developers and you are correct that they trip up on the % operator. I've also experienced them tripping up on the word "modulo" and instead trying to calculate the remainder of a division operation by hand.
While not trying to be elitist, I'm not sure what it says about our industry when a fundamental concept such as modulus is not understood by programmers.
- dllthomas 14y agoThat reminds me of a co-worker who was weirded out by my using "modulo" to mean "except for" or "ignoring" (which is, to my understanding, perfectly ordinary English). They did, thankfully, fully understand it in a mathematical context - to my knowledge I've never worked with someone who didn't, although this and nearby comments are leaving me wondering...
- hackmiester 14y agoThis is the first time I've heard it outside of a mathematical context. I'm an undergrad student.
- dllthomas 14y agoNot saying it's incredibly common, by any stretch. FWIW, wiktionary.com and thefreedictionary.com have the usage, Merriam Webster does not. Don't know about OED (don't have access).
- pjungwir 14y agoI've occasionally tried to work out a sensible rationale for the non-mathematical meaning based on the mathematical one. Perhaps this is etymologically unsound, but hey, words are fun. But how do you get from "remainder when divided by" to "except"? I guess `x % y` gives you "the leftovers," which is close enough to "except."
- dllthomas 14y agoOh, that's straightforward. In a truly mathematical context, modulo isn't really an operator per se. You can say, 10 = 7 modulo 3 Which is kinda, "10 = 7, except someone may have added some number of threes to each" - so, "10 = 7, but for the threes"