Object-oriented Programming over Functional Programming
OOP > Functional Programming
I found a few posts about the idea that functional programming is superior to OOP, in almost every way. Some seem to even argue that OOP is toxic.
I have thoughts...
A significant reason to use object-oriented programming (OOP) over a non-OOP system design would be simply for contextual organization.
Within the use of a certain context, say for logic that represents a person, you may only want to expose access to certain functions (methods). You expose certain symbols based on the programmatic context. OOP, for me, is not just about representing objects in a program, but organizing code and using defensive programming techniques to explicitly (and clearly) give access to what is needed in any given context (i.e. visibility modifiers, static, etc). If one argues, well then you can use modules (i.e. files) to organize your code. I would remind them that they are effectively using OOP without the notion of objects.