Respuesta corta
Creo que fue la pérdida de proyectos de software antes de los días de OO. OO ayudó al agregar 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 era aún en los laboratorios más y la mayoría de los paradigmas aún estaban más cerca del caso de hardware .
Durante una década completa, el desarrollo de software para aplicaciones empresariales creció, otras aplicaciones comerciales crecieron y el desarrollo de software en general se recuperó a lo largo de toda la década de 1970. Los idiomas que aún sobreviven hoy en día de esa edad (antes de 1980) fueron C, Cobol, Fortran y otros similares. La mayoría de estos idiomas son de procedimiento. Lisp también existió desde ese día; sin embargo, no estoy seguro de si ese fue un lenguaje de uso general prominente para el desarrollo comercial. El famoso término Waterfall model también se acuñó a principios de la década de 1970.
En la mayoría de los entornos comerciales, el elemento más importante que surgió en el desarrollo de software fue la gestión de proyectos. Había 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 Manthths míticos en 1975.
Supongo que a finales de los años 70 la gente se quemó, ya que los lenguajes de procedimiento no cumplieron esas promesas. Y un nuevo paradigma orientado a objetos que existió desde ese momento lo hizo grande. Aunque la gente podría estar en desacuerdo, creo que el C ++ que ayuda a la familiaridad y la experiencia comprobada y de C, y la Promesa de Orientación al Objeto (originalmente con el nombre C con Clases) en 1983 fue una piedra angular para el éxito de la programación orientada a Objetos. / p>
Algunas referencias para obtener más perspectiva - enlace
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 se puede entender mejor se pueda manejar mejor. La metodología orientada a objetos con una promesa "... todo en la vida es un objeto" parecía más sentido común incluso antes de que se probara que era significativo. El éxito práctico de este factor fue la noción de modelar el mundo real y el problema actual antes de saltar el arma, lo cual creo que es algo completamente nuevo que OO ofreció y que ningún otro paradigma ofreció hasta esa fecha. . Y, definitivamente, dado que este paradigma lo forzó a pensar antes de codificar más que los lenguajes de procedimiento, mostró un éxito visible en los proyectos de software que se emplearon y ¡desde entonces se dieron cuenta!
EDIT
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 nuevo pensamiento surgieron solo cuando un nuevo lenguaje de programación lo dominó: mantenga la familiaridad pero cambie los fundamentos desde el núcleo ! Al mismo tiempo, este nuevo concepto y nuevos idiomas solo surgieron debido a nuevos problemas de negocios. Década de 1980: OO para software a gran escala, Java 1990 en la era de Internet, PHP / ASP y muchos otros para la web. La innovación en los lenguajes de programación también fue impulsada principalmente por la necesidad discontinua del mercado.
En resumen, a principios de los 80 'fue la época en que despegó el software comercial a gran escala. Mientras que los proyectos con lenguajes de procedimiento tuvieron sus problemas, OO mostró la mejor luz e hizo que los proyectos tuvieran más éxito.