Perl pragmatism
2015-07-29 14:01:09.276609+00 by Dan Lyke 0 comments
Eccentric Flower: Code blue, part two, a little rant about Perl and CPAN and...
I think Moose is the thing that's kicked me over the edge on Perl. Not that the basic idea is a bad thing, adding some mechanisms for OO typing to Perl, but that the way that it's implemented in practice has two real side-effects:
- At some point you'll get a stack trace that makes no fucking sense. Serious "where the hell did that come from?" department. And as you start to track it back, it's because in the constraints and handlers, something has happened deep in the bowels of Moose that has triggered some other thing and how you're 5 stack traces sideways from the actual cause and no notion of what the hell went wrong.
- Suddenly you're dealing with versionitis where some module is constantly dumping crap about how calling this method is deprecated, and it's 5 levels deep, and there's no good way to upgrade the 4th level because some other module needs exactly that version and this is a running production machine and...
...and all of the "don't you worry your pretty little haid" hand-holding becomes leaky abstraction where you have to know exactly how all the inter-reacting little environment variables work.