Things I find on the Internet: Part 1

TL;DR: This is the best troll I have seen about Object Oriented Programming. Someone wrote the simple FizzBuzz problem in the way an enterprise softwares are written. Check it out, It's hilarious.

Twitter, Reddit, Blind or the internet in general is a gift that keeps on giving. Random opinions, controversial takes, dank memes, conspiracy theories or shit posts - if you can imagine it, probably there is something that exists on the internet.

There are three types of people that exist on these apps. The troller, the person who gets trolled and the third kind called - the comment section. If you want to find the best things on the internet, open the comment section and read it.

There is a niche on the Twitter app called - anon tech twitter. The wittiest tech bros with their random pseudo names, anime character display pictures and obscure bios. Nobody knows each other, but on tech twitter they are besties and they come together on twitter to provide the best content. Some of them are the finest engineers, building incredible things in real life.

Enough of background about anon-tech-twitter. Let me tell you what I found - a github repo called FizzBuzzEnterpriseEdition. This is the best troll I have ever seen on abstraction (at least that's what I feel).

FizzBuzz is a very famous question among software engineers and it goes like this: For each number in the range 1 to 100,

if num % 3 == 0 and num % 5 == 0:
  print("FizzBuzz")
elif num % 3 == 0:
  print("Fizz")
elif num % 5 == 0:
  print("Buzz")
else:
  print(num)

This simple question is asked in interviews to flush non-programmers and there is no best or correct answer to this question. It is soo good, sometimes you can lay traps by extending this problem and catch some of the best engineers in it.

Back to the github repo - FizzBuzzEnterpriseEdition. I found this in the comment section of a tweet where the anon tech bros were venting out their frustration about Software Design Principles. The over abstractions, unwanted interfaces and unnecessary complexities are nicely put together to to solve a simple FizzBuzz problem. A group of people coming together to express their frustration - it is a work of art. It is so large and complex, I still haven't found where exactly the logic of FizzBuzz exists.

Object Oriented Programming is a powerful design principle and it should be used where it is needed when building complex systems. If you are building simple stuff and party tricks, just use procedural style programming.

Whenever I see this OOP debate, I remember this line by a Special Forces Major from Indian Army when asked about why SF operatives are not used in case of civilian unrest in the country - “You don't need a sword to chop vegetables, a sharp knife does the job”.

Tags: #programming