The controller pattern is awful, and other OO heresy (2013)
As a professional dev who has made a career out of working in oop languages and codebases, it took me far too long to realize that when it comes to oop, the emperor has no clothes.<p>To this day, oop advocates can&#x27;t even agree on what oop even is or means.<p>Apparently oop as envisioned by Alan Kay was supposed to work like cells in the body that pass messages between each other and take actions independently.<p>Why? Who knows! It was never really explained why literally one of the most complex systems imaginable, one that we still really have very little idea how it even works, should be the model for what could and should probably be a lot simpler.<p>Today&#x27;s modern oop languages are probably very far from what Kay envisioned (whatever that was), but it&#x27;s remains unclear why classes and objects are &quot;better&quot; than the alternatives.<p>And before anyone goes and comments aksully code organization blabla like yes but code organization can be great or shit in oop or fp or procedural codebases, it has nothing to do with the &quot;paradigm&quot;.<p>Let alone that the entrenched, canonical, idiomatic coding styles of most modern oop languages encourage state, mutability, nulls, exceptions and god knows how many trivially preventable entire classes of errors. Granted, most have now started to come around and are adopting more fp features and ideas every year, but still.<p>Don&#x27;t get me wrong, writing programs like cells in the body that pass messages between each other and take actions independently is an interesting idea which deserves pursuing, if nothing else but to satisfy our curiosity and seeing to what if anything it&#x27;s applicable and suited. (and even if the answer turns out to be &quot;nothing&quot;, we&#x27;ve still learned something!)<p>But going from there to making strong claims about it being a more or less universally superior paradigm for computing and writing code, with little to zero evidence, that&#x27;s a huge, huge stretch.<p>To the degree Erlang and Actors work, I think that&#x27;s kind of a happy coincidence, and not due to any rigorous work on Alan Kay&#x27;s part.