User talk:Average/Gospel of Object Oriented Programming
The coding goals of the programming enterprise in the age of the Internet are re-useability (aka modularity) and elegance, because the data and the audience for your code is several orders of magnitude higher. OOP adds the techniques to meet the first item. But in order for both of these goals to be realized you need a third: uniformity. Uniformity shouldn't be confused with social conformity. It's like internet standards: if everyone made their own protocol, we wouldn't have the internet as we know it where everyone can participate. Through restricting freedom on one axis, we gain giant benefits on another--putting order on the chaos. You'll also need a data-friendly programming environment, much like SQL gave for enterprise data: a data ecosystem, giving an interpreter-like environment.