Unfortunate Features of OOP
- OOP tends to require that everything be objects.
Hard to use with existing systems.
- Reusing generic procedures is not easy:
- Programmer must know method name and arguments.
- Arguments must respond appropriately to all messages that may
be sent to them by the method or its submethods.
- Methods may produce unexpected and unwanted side-effects.
- Slow in execution.
Some OOP systems ``succeed'' but have to be discarded and rewritten
- Method lookup overhead
- Opacity of objects prevents optimization across messages.
- A layered object structure compounds the problem.
- System structure becomes baroque and hard to change.
(Just the opposite of what is advertised.)