Respuesta corta
Creo que fue la rotación de proyectos de software antes de los días de OO. OO ayudó agregando el concepto fundamentalmente crítico: modelar el mundo real .
El primer lenguaje de programación orientado a objetos fue Simula en 1967. Sin embargo, en ese momento el desarrollo de software en general todavía estaba en los laboratorios y la mayoría de los paradigmas aún estaban más cerca del caso del hardware .
Durante una década más, el desarrollo de software para aplicaciones empresariales creció en otras aplicaciones comerciales y el desarrollo de software en general se recuperó durante toda la década de 1970. Las lenguas que aún sobreviven hoy en día (antes de 1980) fueron C, Cobol, Fortran y otras similares. La mayoría de estos idiomas son de procedimiento. Lisp también existió desde ese día, sin embargo, no estoy seguro si ese fue un lenguaje prominente de propósito general para el desarrollo comercial. El famoso término Modelo de cascada también fue acuñado a principios de la década de 1970.
En la mayoría del entorno comercial, el elemento más importante que surgió en el desarrollo de software fue la gestión de proyectos. Hubo una gran necesidad de presupuestos ajustados y al menos predecibles y requisitos de gestión para congelar para garantizar que el proyecto llegue a la meta de manera respetable. Durante este período también fue uno de los Manmonios Míticos en 1975.
Supongo que a finales de los años 70 la gente estaba agotada, ya que los lenguajes de procedimiento no cumplían con esas promesas. Y un nuevo paradigma orientado a objetos que existió desde entonces lo hizo grande. Aunque la gente puede estar en desacuerdo, creo que el C ++ que ayuda a la familiaridad y la experiencia comprobada y de C, y la orientación Promesa de Objeto (originalmente con el nombre C con Clases) en 1983 fue una piedra angular para el éxito de la programación orientada a objetos.
Alguna referencia para más perspectiva: http://journal.thedacs.com/issue/43/88
Entonces, ¿por qué OO?
Creo que esos días (si nos fijamos en el punto de vista del éxito del proyecto), tenía sentido que lo que puede entender mejor sea mejor manejable. La metodología orientada a objetos con una promesa "... todo en la vida es un objeto" parecía más un sentido común incluso antes de que se demostrara que era significativo. El éxito práctico de este factor fue la noción misma de modelar suficientemente el mundo real y el problema en cuestión antes de saltar el arma, lo que creo que es algo fundamentalmente nuevo que OO ofreció y que ningún otro paradigma ofreció hasta esa fecha. Y definitivamente dado que este paradigma te obligó a pensar un poco antes de codificar más que los lenguajes de procedimiento, ¡mostró un éxito visible en los proyectos de software que emplearon y desde entonces se dieron cuenta!
EDITAR
También agregaría que los lenguajes de programación evolucionaron simultáneamente en paralelo a tales conceptos fundamentales (paradigma OO, Aspecto, Máquinas virtuales,) Cada nuevo concepto y pensamiento nuevo surgieron solo cuando un nuevo lenguaje de programación nuevo lo dominó: mantén solo la familiaridad pero cambia los fundamentos de ¡núcleo! Al mismo tiempo, estos nuevos conceptos y nuevos lenguajes solo surgieron debido a nuevos problemas comerciales. 1980 - OO para software a gran escala, 1990 Java en la era de Internet, PHP / ASP y muchos otros para la web. La innovación en los lenguajes de programación también se debió principalmente a la necesidad discontinua del mercado.
En resumen, a principios de los años 80, la era en la que despegaba el software comercial a gran escala, mientras que los proyectos con lenguajes de procedimiento tenían sus problemas, OO mostró la mejor luz e hizo que los proyectos fueran más exitosos.