What were some of the economic (and other historical) factors that led to object oriented programming languages becoming influential? I know that Simula started things off, but was the adoption of OOP languages due to the ever increasing needs of business? Or, was the adoption due more to the new things that could be done with OOP languages?Edit I'm really most interested in whether there was some factors going on external to the languages themselves that allowed for them to take hold.
What were the historical conditions that led to object oriented programming becoming a major programming paradigm?
technology;programming languages
Short answer I think it was the churn of software projects prior to OO days. OO helped by adding the fundamentally critical concept - Model the real world .The first object oriented programming language was Simula way back in 1967. However, at that time software development at large was still in the labs more and most paradigms were still closer to hardware case.Over a full another decade development of software for enterprise applications other commercial applications grew and software development at large picked up over the entire 1970's. Languages that still survives today of those age (prior to 1980) were C, Cobol, Fortran and similar other. Most of these languages are procedural. Lisp also existed since that day - however, i am not sure if that was prominent general purpose language for commercial development. The famous term Waterfall model was also coined in the early 1970's era.In most commercial environment most important element emerge in software development was project management. There was a dire need for tight and at least predictable budgets and managing requirements to freeze to ensure that project reaches the finish line respectably. During this period was also one of the Mythical Manmonths back in 1975. I guess by end of 70's people were burnt out - as procedural languages didn't keep up to those promises. And a new paradigm Object oriented which did existed since that time made it big. Though people might disagree, i think the C++ which help familiarity and proven experience and of C, and the Promise of Object orientation (originally with the name C with Classes) back in 1983 was a corner stone to the success of Object oriented programming.Some reference for more perspective - http://journal.thedacs.com/issue/43/88So why OO?I think those days (if you look at the project success point of view) - it made sense that what you can understand better will be manageable better. Object oriented methodology with a promise ..everything in life is an object seemed more like commonsense even before it was proven to be meaningful. The practical success of this factor was the very notion to sufficiently model the real world and problem at hand before jumping the gun - which i think something fundamentally new thing that OO offered which no other paradigm offered till that date. And definitely given that this paradigm forced you to somewhat think before you code more than procedural languages it showed visible success on the software projects that employed and since then they caught on! EDITI would also add that programming languages evolved simultaneously in parallel to such fundamental concepts (OO paradigm, Aspect, Virtual machines, ) Each new concept and fresh thinking emerged only when a fresh new programming languages mastered it - keep only familiarity but change fundamentals from core! At the same time - these new concept and new languages only emerged because of new business problems. 1980's - OO for large scale software, 1990 Java in Internet age, PHP/ASP and many other for web. Innovation in programming languages were also driven mostly by discontinuous market need. In summary, early 80s' was the age where larger scale commercial software took off - while projects with procedural languages had their problems, OO showed the better light and made projects more successful.