papers-we-love/papers-we-love — pull request #56 by frioux (2014-03-12 18:55:55+00:00)
Title: add Traits paper

closes #55.

TL;DR: (aka frewbstract)

* Traits are a more fine grained way of code reuse than Inheritance
* Traits are safer than Multiple Inheritance and Mixins
* Traits allow more reuse than Interfaces
* Traits are more comprehensible by practitioners than Inheritance (especially when it gets deep and wide)

If it's worth anything, in addition to having read the paper I've been using traits (under the name Roles, which they were implemented as in [Moose](https://metacpan.org/pod/distribution/Moose/lib/Moose/Manual/Roles.pod)) in anger for a few years and have been much happier with them than the older Multiple Inheritance based stuff.