Tadeusz Sośnierz — 20 minutes 🐪 🦋
Moose (and Perl 6) gives us syntax and semantics to make OO easier – but are all the things it gives us actually good and worth recommending?
Tools are often opinionated – and that can be a good thing. Inevitably, they make some things easier and some things harder to promote some patterns and discourage others.
I think Moose, and Perl 6, made a few wrong choices, and their (seemingly) biggest selling points actually promote bad design and result in bad code. I found myself writing things in a stupid, awkward way because of what my language made easy.
I'll try to show you why I think Moose (and its siblings) promote poor OO design and bad patterns and try to think of a solution that may allow us to have the camel and eat it too.