Abgesehen von der Theorie war der eigentliche Grund für die Verbreitung von OOPS die Einführung von Windows-basierten Benutzeroberflächen.
Wenn Sie nur eine DOS- oder Mainframe-Terminalanwendung programmieren, dann brauchen Sie OOP wirklich nicht, es könnte zwar nützlich sein, aber es gibt keinen zwingenden Grund, es einzusetzen. Sobald man jedoch anfängt, für eine beliebige "wimp"-basierte grafische Benutzeroberfläche zu programmieren, ist es sehr schwierig, diese ohne OOP effizient zu handhaben, vor allem, sobald man über ein einfaches System hinausgeht.
Ich habe mir die Zähne an der Mac-Programmierung ausgebissen, als Pascal die Standardsprache war. Man musste seine eigene Haupt-Ereignisschleife handhaben und solche Dinge tun, wie durch die Rechtecke gehen, um ein Fenster neu zu zeichnen, wenn es im Hintergrund durch das davor liegende Windows verdeckt war. Folglich waren große Teile selbst des einfachsten Programms mit der grundlegenden Infrastruktur befasst, und es war keine triviale Aufgabe, die eigenen Schnittstellen sauber zu halten, damit der Code nicht zu einem verworrenen Spaghetti verkommt. Das Gleiche galt für Windows (lesen Sie eines der frühen Bücher von Charles Petzold über die Programmierung von Windows) und die verschiedenen anderen grafischen Benutzeroberflächen, die damals auf dem Markt waren.
Die Einführung von OOP hat dies erheblich vereinfacht, da OOP sich hervorragend für grafische Benutzeroberflächen eignet. Heutzutage betrachten wir dies als selbstverständlich und natürlich, aber das war nicht immer so, und sicherlich wurde die Einführung von OOP damals als eine Art große Herausforderung für Programmierer angesehen. Das Ergebnis war jedoch, dass alle neuen Programmierer seit den späten 90er Jahren mit OOP aufgewachsen sind, weil es für den Umgang mit grafischen Benutzeroberflächen wirklich notwendig ist, was dazu führte, dass es so ziemlich die Standardmethode für die Programmierung ist und sich folglich weit über die Benutzeroberfläche hinaus verbreitet hat.