Whats the problem with -oriented? David Ing wrote in Dude, Where’s My SOA?:
‘Oriented’ is a funny word. You can think and act however you like, design things with heartfelt principles and claim to be XYA-Oriented: It doesn’t mean you really are. I’ve seen a lot of object ‘oriented’ code that wouldn’t recognize encapsulation, I’ve seen better OO in C code than in C++ and no OO police ever came around and arrested anyone. SOA isn’t immune to any of these malpractices and is probably especially liable to them. Being ‘oriented’ to Services doesn’t mean too much at the moment.
David’s post was a follow-up to Martin Fowler’s about Service-Oriented Architecture (SOA), where Martin concluded:
So what do we do? For a start we have to remember all the time about how many different (and mostly incompatible) ideas fall under the SOA camp. These do need to be properly described (and named) independently of SOA. I think SOA has turned into a semantics-free concept that can join ‘components’ and ‘architecture’. It’s beyond saving – so the concrete ideas that do have some substance need to get an independent life.
Finding terms that are less ambiguous to make the underlying ideas more concrete. This fits well into the recommendation that William Strunk Jr. and E.B. White provide in The Elements of Style for the word -oriented, in the chapter Misused Words and Expressions:
-oriented. A clumsy, pretentious device, much in vogue. Find a better way of indicating orientation or alignment or direction.
It was a manufacturing-oriented company. It was a company chiefly concerned with manufacturing. Many of the skits are situation-oriented. Many of the skits rely on the situation.
The second example clearly shows the advantage of replacing the ambiguous -oriented: I didn’t know what “skits” are, and reading that they are “situation-oriented” didn’t give me any hint about their meaning. On the other hand, I’m familiar with “to rely on” in the context of jokes, which turned out to be a quite good indicator of the actual meaning.
What can we learn from this? When the next tech hype emerges, ignore the context at first and disassemble the words. Do they have any useful meaning on their own? Or are they just a container for ideas that people try to sell? What meaning does Object-Oriented have?