Last night, I said this:
Writing Perl after months of coding in Python is really frustrating.
And I thought I'd expand on it, as a couple of people had questions and/or interpreted it in different ways. There were roughly 3 interpretations: 1. moving from Python to Perl is frustrating; 2. moving from X to Perl is frustrating; and 3. moving from X to Y is frustrating. And that's sort of the order of the feelings that inspired that tweet; it was first and foremost about moving specifically from Python to Perl.
Here's the thing: I love Perl. It's still the most natural (coding) language for me to think in, and when I'm prototying, I usually use Perl (even if I'm going to rewrite the final version in another language). It's the most natural way for me to think through how an application/tool/library should work, design the interfaces, and so on.
Perl is my native language, in many ways.
But. What's most frustrating to me about returning to Perl, after months of coding in Python, is the lack of standardization in the core language for things like exception-handling, logging, proper objects, &c, that are well-defined and consistently-used in Python. Contrast that with Perl, where, just for the object model alone, you've got libraries that use Moose, others that use Class::Accessor, others that use Moo or Mouse, others than use Object::Tiny, and so on. And so if I'm writing a new project--of moderate complexity--that'd end up on CPAN eventually, the lack of a core standard around (say) objects/classes or exception handling is frustrating.
And this is where the "more than one to do it" philosophy hits its natural limit, for me. As chromatic said recently, "Sometimes you have to provide one good way to do most things without excluding the possibility of doing other things." At its worst, having more than one way to do everything leads to fragmentation and a lack of best practices.
Language design involves curation; having more than one way to do it might give you a collection of options to choose from, but at some point, you've got to choose.