<story><title>The controller pattern is awful, and other OO heresy (2013)</title><url>https://eev.ee/blog/2013/03/03/the-controller-pattern-is-awful-and-other-oo-heresy/</url></story><parent_chain><item><author>narag</author><text>The many &amp;quot;you&amp;#x27;re wrong if you believe that&amp;quot; made me remember the anecdote of Alan Kay attending some conference about OOP and saying that it was wrong, that he invented OOP and it was not like that.&lt;p&gt;IIRC, Kay&amp;#x27;s vision is that OOP is about messages.&lt;p&gt;I have my own pet theory, of course it must be wrong too, but if I may, only as food for thought: The core usefulness of OOP is usability. A language is a matter of connecting thoughts through a mental model. Subject, verb, predicate. Object, method, parameters. That&amp;#x27;s mostly it. The rest are implementation details and lots of bikeshedding.</text></item></parent_chain><comment><author>padobson</author><text>&lt;i&gt;The core usefulness of OOP is usability.&lt;/i&gt;&lt;p&gt;This is the reason I find it useful. To me, OOP is as much about your organization as it is about the best way to load, transform, present, edit, and store data. I think the culture of some companies lends itself to various kinds of programming, but it&amp;#x27;s the &lt;i&gt;cultureless&lt;/i&gt; companies where OOP is most useful. The places where nobody is trying to change the world, where people work to pay their mortgages, where an executive may only work for two years and a programmer may only work for six months.&lt;p&gt;It&amp;#x27;s in an environment like that where a self-documenting, self-configuring code base with custom classes and exceptions that guide the next developer is essential.&lt;p&gt;Every developer should have two users in mind. The person using the software, and the next developer who maintains the software after you&amp;#x27;re gone. OOP is a great way to empower the second user when the only thing that will reliably outlive the developer is the code base.</text></comment>
<story><title>The controller pattern is awful, and other OO heresy (2013)</title><url>https://eev.ee/blog/2013/03/03/the-controller-pattern-is-awful-and-other-oo-heresy/</url></story><parent_chain><item><author>narag</author><text>The many &amp;quot;you&amp;#x27;re wrong if you believe that&amp;quot; made me remember the anecdote of Alan Kay attending some conference about OOP and saying that it was wrong, that he invented OOP and it was not like that.&lt;p&gt;IIRC, Kay&amp;#x27;s vision is that OOP is about messages.&lt;p&gt;I have my own pet theory, of course it must be wrong too, but if I may, only as food for thought: The core usefulness of OOP is usability. A language is a matter of connecting thoughts through a mental model. Subject, verb, predicate. Object, method, parameters. That&amp;#x27;s mostly it. The rest are implementation details and lots of bikeshedding.</text></item></parent_chain><comment><author>thumbuddy</author><text>Everything is wrong or illfitting. I mean we are making tiny blocks of silicon do extreme amounts of human work, while being entertained with music and videos. OOP is like five abstractions deeper than what it intend to model. It&amp;#x27;s a tool, I wish people stopped trying to make the extreme case of engineering that is software development some sort of axioms around physical law. Our expectations would be way better especially when our bosses require we implement a nosql db that stores rss feeds and use machine learning to sort them in order of &amp;quot;coolness&amp;quot;.&lt;p&gt;There&amp;#x27;s very few actual rules despite opinionations derived from arbitrary paradigms and what should be done to work cohesively as a team. I wish there were a smidge less ivory towers and a smidge more common language.</text></comment>