Good post that nicely illustrates the primary issues of dogmatic OO. However most of these issues have been fixed especially with Scala’s hybrid OO and Functional approach. First use shallow inheritance where a concrete class is derived from an abstract class as illustrated by the Gang of Four Design Patterns. The diamond of death is dealt with by using Trait mixins. The worst OO feature encapsulation is done away with by immutability and the removal of mutable set methods. Finally Function programming brings clarity to composable transformations, polymorhism and concurrency. So OO is fine when used properly in conjunction with Functional programming as evidenced by Scala’s pattern matching. So it is dogmatic OO that is nicely illustrated in this post that creates all the problems
Goodbye, Object Oriented Programming
Charles Scalfani
4.9K314