DEV Community

Yuki Kimoto - SPVM - Perl Club
Yuki Kimoto - SPVM - Perl Club

Posted on


Python Zen vs Perl TMTOWTDI

Perl has been said to be a writing-only language for over a decade(Although In fact, it's a lie.).

Only Python Zen was evaluated.

Age has moved forward.

People want diversity and inclusion.

Perl TMTOWTDI means "There's more than one way to do it".

This message contains the philosophy of diversity and inclusion.

I hope the time will come when Perl's philosophy will be evaluated fairly.

Top comments (3)

jafd profile image
Yaroslav Fedevych

The problem with TIMTOWTDI is that it inevitably devolves into developers using all ways.

Get a sizable codebase going, and your 100 dependencies are going to bring in 15 OO frameworks, 3 modules to deal with date and time, 4 async frameworks working "under the hood" and you're left alone to deal with all the overhead and philosophy clashes.

Contrast this with Python where, while there are multiple high-level projects with the same purpose (applications, web frameworks, libraries), there is only one of the "core" concepts, like OO or generators or (since recently) asynchronous programming — and everything is expected to boil down to those and play nice.

A recent example from my own Perl experience is that Devel::NYTProf broke attribute handlers in my codebase. I've spent days chasing a bug that turned out to not be in my own codebase.

"There's More than One Way to Do It" is only good when there is also a boundary to it, past which everything is done in a standard way. Imagine diversity and inclusion on a public road where half of the drivers choose to drive on the right and half on the left.

yukikimoto profile image
Yuki Kimoto - SPVM - Perl Club

Again today, I wrote a Perl article, but the only one that appeared in next read was a Python article.

I'm having trouble with over-advertising in Python.

50 CLI Tools You Can't Live Without

>> Check out this classic DEV post <<