Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Perl made a mistake, the language was invested in depth of expression and that, in a programming language, just leads to a 1000 ways to write same thing where like... 2 of them are actually nice to read.

Pyton was ("was" was used here on purpose) the opposite, the whole "one way to do a thing" and insisting on more clean code even if more verbose.

You could write nice looking Perl code but you had to choose to do it, while Python pushed you in that direction from the start.

As much as I dislike using whitespace as flow control it also does make sure the code is always indented reasonably even if it is a newbie just starting in the language.

It didn't help that Perl, just like other languages after (PHP, JS, Python too), had a "curse of the newbie language", with many people starting with it (as at the time it was kinda only sensible choice for webpages before mod_php did a revolution in how most webpages are hosted), with no training and just winging it, which in language that puts no limits on what user can do and no guidance on what they should do... leads to that ugly one liners and line noise as a code scripts.





> the whole "one way to do a thing"

There’s a whole lot of words popularly excised (as you just did) from that line of the Zen to create a false polar opposite to Perl’s TMTOWTDI that was never actually part of Python’s philosophy.

The actual line from the Zen of Python is: “There should be one—and preferably only oneobvious way to do it.” (omissions in italics).


And the Perl way is opposite, which is what my point was? I'm not sure what you want to say here

That is the story that Python tells about itself. Meanwhile, folks who don’t use it every day are constantly learning that it’s only true within a single version of Python, but that over the years there will be multiple, incompatible ways to do niche wild rare stuff like … iterating over a map.

...that's why I used "was". Current direction of the language mostly goes against the "Zen of Python".

Python has never actually followed the Zen of Python, which is one of my gripes with it. For example, "explicit is better than implicit" is a bad joke given how Python implicitly treats non-boolean types as booleans.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: