this post was submitted on 15 Jul 2025
270 points (94.1% liked)

Programmer Humor

25059 readers
710 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
 
you are viewing a single comment's thread
view the rest of the comments
[–] sus@programming.dev 86 points 2 days ago* (last edited 2 days ago) (2 children)

After working at blizzard for 51 years, I finally found an elegant solution by using the power of recursion

private bool IsEven(int number){
  if (number > 1) return IsEven(number - 2);
  if (number == 0) return true;
  if (number == 1) return false;
}
[–] elvith@feddit.org 40 points 2 days ago (1 children)
[–] lambda@programming.dev 13 points 1 day ago (1 children)

Now see, you need the other method. IsNegativeEven()

[–] sus@programming.dev 9 points 1 day ago (1 children)

We can avoid expensive branches (gasp) by using some bitwise arithmetic to achieve the so-called "absolute value", an advanced hacker technique I learnt at Blizzard. Also unlike c, c# is not enlightened enough to understand that my code is perfect so it complains about "not all code paths returning a value".

private bool IsEven(int number)
{
    number *= 1 - 2*(int)(((uint)number & 2147483648) >> 31);
    if (number > 1) return IsEven(number - 2);
    if (number == 0) return true;
    if (number == 1) return false;
    throw new Exception();
}
[–] UnknownSoul@programming.dev 2 points 7 hours ago

Nice, now we just need another function to find odd numbers, cause not all numbers are even you know.

[–] Ebber@lemmings.world 13 points 2 days ago (2 children)

I removed the tail recursion for you:

private book IsEven(int number) {
    if(number > 1) return IsEven(number - 2) == true;
    if(number == 0) return true; 
    if(number == 2) return false;
}
[–] Ferk@programming.dev 3 points 15 hours ago (1 children)

What'd be the result for IsEven(1)?

[–] Ebber@lemmings.world 5 points 15 hours ago

Stack overflow

[–] ulterno@programming.dev 3 points 2 days ago (1 children)

I didn't get this.

Why return book? Does that have some Blizzard reference?
And why would number == 2return false? This is a function for getting true when the number is even, right?

[–] Ebber@lemmings.world 12 points 2 days ago* (last edited 2 days ago)

Haha, you're right. I've now learned two things:

  1. I should not write code on a mobile
  2. I should not become a proof reader

At the end of the day i just wanted the function to be worse, by causing stack overflows