Some great programmers have publicly belittled OOP. Alexander Stepanov, the primary designer and implementer of the C++ Standard Template Library, said OOP provides a mathematically-limited viewpoint and called it “almost as much of a hoax as Artificial Intelligence” (it’s safe to say he got it wrong about AI). Edsger W. Dijkstra apparently compared it to snake oil. Many have ranted against it on their blogs. There are many who swear by procedural or functional programming. But why does hate exist toward OOP? Is it because, due to its focus on data abstraction, it’s considered to be against the hacker ethic? Is it just too complicated?
I’m a coding newbie; I started learning OOP a week back and still trying to get my head around it, so please excuse my naivety. As always, I appreciate all answers. Thank you.