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

Perl is designed to make life easier for the guy who writes the code, not the one who reads it.

The motto "there is more than one way to do it" is telling. It allows beginners to write code the way they are most familiar with and give experts a large toolbox to be most efficient in many situations. The trouble is that while the writer only needs to know a subset of the language, the reader has to know everything in order to read other people code.

This philosophy make it very suitable for quick hacks, and that's its primary use. The problem is that quick hacks have a tendency to stay, and some poor guy need to maintain that mess. And when your experience with the language is to maintain the unmaintainable, hate is totally justified.

Note that is is possible to write clean Perl, but it requires effort, and unless you are writing Perl modules, there are probably better languages for that.

Compiler undecidablity is not a problem. Sure, it is not intellectually satisfying, and it may be troublesome for some application where formal proofs are required, but for a language like Perl that is all about practicality, no one really care.



> Perl is designed to make life easier for the guy who writes the code

Whenever I write perl, I feel like the binary is actively fighting me, not helping me…

perl is designed to make simple things easy, and hard things possible. Readability is up the the programmer, and writability is up to the editor.


> The motto "there is more than one way to do it" is telling.

The more telling is you omitting the other half of the motto. TIMTOWTDIBSCINABTE


> TIMTOWTDIBSCINABTE

That's an apt motto for perl. One doesn't even need to know what it means.


There's more than one way to do it, but sometimes consistency is not a bad thing either.


Has anyone been able to do this for PHP's T_PAAMAYIM_NEKUDOTAYIM yet? (I know it's not an acronym, but I wish it were.)




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

Search: