On the StackOverflow blog, Medi Madelen Gwosdz wrote about why OOP is still a popular paradigm for programming. She found a couple of common advantages usually associated with Object Oriented Programming:
- Encapsulation helps to hide complexity behind well-defined interfaces.
- Inheritance helps to tackle repetition by extracting common code to parent classes.
- Polymorphism enables code to adapt to varying scenarios in a localised way.
She argues that most of these features also pop up in functional programming, and finds a trend to shift towards that paradigm, with languages like Skala gaining popularity, and functional features arising in major languages Javascript and Java.