Wait really? What world are they living in? Am I just out of touch or something?
Wait really? What world are they living in? Am I just out of touch or something?
OOP is still very alive and well, mainly because an aweful lot of the most widespread languages are OOP, how can you talk about java and python without using OOP ?
We’re getting there with FP, too. OOP…which kind? FP…which kind?
99% of the time it means type dependent namespaces.
Class A.foo and Class B.foo both represent separate namespaces in which a field or method foo can be defined, the name space is directly tied to a type. In Haskell every function is defined in what amounts to be a global namespace. This is particularly annoying when you have records that share the same attribute names.
You might argue that structs fit this definition but they are missing type dependent namespaces for functions/methods and the fact that you can define fields and methods to only be accessible within their type dependent namespace, not outside of them.
It once meant that three features appeared: encapsulation, inheritance, and constrained runtime binding.
Any time it is used without implying those, it is just more or less noise.
That said, OO has become a niche technique: it fits certain problem spaces well, others very badly. Any big enough system will have some parts that could meaningfully be described as mostly OO. But there is no value in purity, so none in distinguishing those bits, particularly, or excluding non-OO notions there.
Trying to cram all solutions into the OO shoe by providing no support for any other organization (cough Java) damaged the brand, probably irreparably. It still makes sense to say part of a system has an OO flavor, for exposition, but there is little value, otherwise.
He is free to do that, but we have no need to play along.
If you're working on a given project for a long time, you'll appreciate the abstractions. If you just want to monkeypatch in a quick fix/feature because your boss told you to, you find where it fits, you hammer it into place, and call it a day.
Rinse repeat for a few years, and all corporate code becomes procedural.
Of course most parts of most systems are non-OO.