Ask HN: Why do new(ish) programming languages eschew OOP features?
Unpopular answer: pure fashion.<p>There&#x27;s nothing wrong with object methods (that&#x27;s 100% pure syntax vs. a function call) and an implicit &quot;this&quot; scope for symbols (which is just a limited form of dynamic scope[1]).  They don&#x27;t make code hard to understand.  OO can be abused to produce bad designs, of course, but that&#x27;s not an indictment of its syntax.<p>Non-syntactic aspects are maybe a more involved discussion.  For an example, I personally think traditional OO lends itself very nicely to runtime polymorphism.  And this is something that more modern languages have really struggled with (take a random new hacker and try to explain to them virtual functions vs. trait objects).  Now... polymorphism can be horribly abused.  But, it&#x27;s still useful, and IMHO the current trends are throwing it out with the bathwater.<p>[1] Something that itself has long since fallen out of fashion but which has real uses.  Being able to reference the &quot;current&quot; value of a symbol (in the sense of &quot;the current thing we are working on&quot;) is very useful.