1. 3
  1. 1

    Call me an old fart, but I mostly disagree with this. OK, you’ve removed abstract classes and inheritance! But instead you’ve got traits, which are just pure-abstract classes that get subclasses by implementations. And you’ve lost the ability to reuse base-class methods. (Except code reuse is bad now? WTF? Is this an anti-DRY philosophy I haven’t heard of before?)

    Also, this design pattern he’s railing against is way older than the Gang Of Four book. It was already quite mature in the implementation of the Smalltalk-80 class library, and I wouldn’t be surprised if a lot of that was in Smalltalk-76.

    1. 1

      (I hope not feeding the trolls) The article mixed concepts and terminology.

      It (the article) removed one frozen hierarchy to create composable ones. It is more about ISP (Interface Segregation Principle from SOLID) than functions over objects. It is true that function as first class citizen smooths the process, though.

      On the “code reuse”, I can totally agree with the article. But it is a subject on its own and should not be mentioned not to confuse the reader. But note they state that they favour behavior reuse.