Modern programming scares me in many respects, where they will just build layer after layer after layer that does nothing except translate. ― Ken Thompson (designed and implemented the original Unix operating system)
The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle. — Joe Armstrong (creator of the programming language Erlang)
OOP Jargons and Complexities (Explained as Functional Programing) The repeated deaths of OOP The faster you unlearn OOP, the better for you and your software Object-Oriented Programming is Bad Banana Gorilla Jungle — OOP
My entire OOP experience. Hours of philosophy to create code that doesn’t make sense w/o that philosophy and blows up on a simple structural change due to all the coupling.
Just think about how mindboggling would the complexity of a house design have to be to support rearranging walls at will, including support for plumbing, electrical wiring, etc. That’s a metaphor for OOP’s ideal: everything reusable, everything composable, everything flexible. Everything impossibly complicated and impractical, ha.
One of the OOP obsessions seems to be the idea of universal reusability and interoperability. But just like it is not possible to have a mechanical engine suitable for all: race cars, family minivans, tanks, and helicopters, it’s not possible to have bussiness application designs and even components that can be used in any use-case.
Dynamic Dispatching is the root of all evil Clean code, horrible performance
You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.
