But to me the rise of OOP in the 90es where driven by the need of programming user interfaces and the rise of Windows and similar. A graphical user interface is naturally represented as a hierarchy of objects each with their own internal state. Often the language was designed to work in an integrated development environment with a user interface builder (with language features such as object serialization and reflection).
This is very obvious in Borland Delphi (OO Pascal), Objective-C, VB, Smalltalk, C#.
Then things shifted and people started doing web development where all of sudden you had hundreds of concurrent users on a single server; and then people began (re)inventing languages that handled concurrency well.
Having said that. I don't think the dominating trend today is functional programming but rather "multiparadigm" (as it should be).
But to me the rise of OOP in the 90es where driven by the need of programming user interfaces and the rise of Windows and similar. A graphical user interface is naturally represented as a hierarchy of objects each with their own internal state. Often the language was designed to work in an integrated development environment with a user interface builder (with language features such as object serialization and reflection).
This is very obvious in Borland Delphi (OO Pascal), Objective-C, VB, Smalltalk, C#.
Then things shifted and people started doing web development where all of sudden you had hundreds of concurrent users on a single server; and then people began (re)inventing languages that handled concurrency well.
Having said that. I don't think the dominating trend today is functional programming but rather "multiparadigm" (as it should be).