Monday, March 16, 2015

Functional vs Object-Oriented Programming

Long ago I said that functional and OO were opposites in a way and I pointed to the fact that functional is verb-oriented whereas OO is noun oriented. Well today I have discovered the relation they have to each other. Functional is a gutless paradigm and OO is total.

They have the exact same relation to each other as deontology vs consequentialism, and for the exact same reason. Deontology is obsessed with obeying rules about actions regardless of consquence (state) and regardless of context, even when those rules appear blatantly insane and the consequences are insufferable. The question is WHY? Why would anyone do such a thing?

Obviously, deontology was invented by gutless people to deal with a universe they can't bring themselves to even comprehend. See no evil, hear no evil, speak no evil. The mantra of the gutless insane fuck. These people make up rules to deal with the universe and then they ... *hope for the best*. Even when they're facing the very worst, when they're facing an immoral unjust crazy and evil universe. Even in such a situation, they blind their eyes to the truth and hope for the best.

If you're going to blind and deafen and mute yourself to the actual state of the universe (state, get it?) then you have to blind and deafen and mute yourself to any consequences of your actions (future state). And while you're at it, you might as well blind and deafen and mute yourself to ALL state, because state is painful, isn't that right? If you have no coherent notion of state then you can't USE state (or nouns) in your methodology. You must resort in referential transparency (and verbs) as a last ditch method, no matter how insane it is.

The opposite of deontology is consequentialism. Consequentialism is about NOT blinding yourself to the actual state of the universe, be it so harsh or vile or nauseating or evil. Consequentialism is about understanding the state of the fucking universe, no matter how disgusting it may be, because only then can you ameliorate it. Only then can you make it less bad. Only then can you make it LESS harsh, LESS vile, LESS nauseating, and LESS evil. Consequentialism is about lessening badness.

And object-orientation? Is about understanding fucking reality. Especially, understanding the fact we live in a STATEFUL universe. A universe where objects clobber their past versions, where objects have side-effects, and where objects clobber other objects. THAT ... is ... THE UNIVERSE. Object-orientation is about fucking reality, and functional programming is about ... being gutless and weak and living in a fucking never never fairyland full of sugar plums and fairies.

Functional programming is despicable.

And logic programming.

And declarative programming.

Inferior tools for emotionally inferior minds.


procedural5555 said...

My my. You sing the praises of lambdas as meta-relations, you masturbate over your own stellar abilities of synthesis and analysis, you despise the engineers and other automatons incapable of seeing beyond their own limitations, their own mentally deranged narcissism and small-world thinking, yet just a few posts later, you equate programming models with an understanding of the universe, shortly after stumbling into something as basic as universal storytelling tropes.

Mr Kulisz, my hat is off to you, for your dedication to your performance art, to denying your own insanity in the face of overwhelming evidence. For I know that years from now, I can come back here, and still find you doing the same thing, pretending you expect a different result, pretending you hate the world more than you do yourself. Top quality entertainment.

Happy holidays!

Richard Kulisz said...

That's an awful lot of projection masquerading as criticism. I take it you are a narcissist or psychopath? Or just a massively fucked up and stupid individual.