There's a lot of ranting here and it's hard to work through.<p>Since I predict almost everyone is going to come down on the pro-OOP side or change the subject to FP in order to show their professional credentials (and because they don't know any better), I'd like to note that some of this complaint about OOP marketing, though it sounds cranky, is strictly justified by the extreme amount of OOP hype that surrounded Java and before it, Smalltalk. And it is not just cranks who observed this (for example, there is the famous quote by Dijkstra).<p>However awesome Smalltalk was, many of the ideas now identified as "OOP" (like modularity and reusability) preceded Smalltalk by some time, and did not spring fully formed from Alan Kay's thigh. But all these individual things had to be presented as one big revolutionary change because it just isn't good marketing to talk about lots of incremental evolutions from a baseline set in the 60s.<p>Apart from the merits or demerits of OOP itself there's a meta-point here, which is that we can't get anywhere discussing sweeping methodological topics like this unless we break down language features or practices and present solid arguments for them individually. Too often discussion gets reduced to a slogan like "OOP allows reuse" or "typesafe programs can't go wrong" and then practice is enforced across entire companies without real reasons - just a lot of hand-waving, shaming and appeals to experience and authority which eventually harden into dogma. So in practice, almost nobody understands why we do things the way we do and dissent is dismissed without consideration. This is a terrible way to explore and validate ideas.