Hacker News new | comments | show | ask | jobs | submit login

You can write readable Perl, just like you can write secure PHP. The fact that a large number of people don't is not necessarily a failing of the language.


Readability and reasonable shoot-self-in-foot protection are not optional. See the article from earlier today about not catering to power users. Same concept. You can't really design a language for the top 5% of programmers and expect it to gain any sort of acceptance. (See: Haskell, Ocaml)

Are regexps readable? Is sed/awk readable? xpath?

Perl is a power tool. The reason it can be unreadable is because of it's terse syntax, wherein resides its power. If you value readability above power then you choose Java, and I would agree that for a large enterprise app developed by an army of mediocre developers then Java is surely the better choice. However to judge the absolute merits of a language like Perl on reputed readability, without taking into consideration what its terseness allows, and how it works for large scale development given a sane coding standard is just burying your head in the sand.

In that case you are likely to never like any form of string/data/text processing. Unless it is provided you through an interface of a database, XML or JSON. And there are plenty of tools designed to handle data from such interfaces.

You will be shocked how few tools are there for the other kind of data.

I completely agree with your first statement, but I have no idea how you get to your final statement from that. Ocaml and haskell are both on the "shoot self anywhere protection" end of the language spectrum. I used ocaml for a couple years and program in haskell for a living, and I assure you I am not in the top 5% of programmers.

Well, they are, but they fall into the "Designed for Top 5% of Programmers" trap.

Basically - it's a balance - don't be too dumb, but don't be too clever either. I'd submit Python as being solidly in the middle ground here.

I still don't understand what you mean. How are they designed for the "top 5%"? And how does that mesh with the fact that I am certainly not in the top 5%, and yet program in haskell for a living? Ocaml in particular is very simple and easy to learn and use, haskell is only more difficult in the sense that it is a higher level language than say, python, so obviously you need to learn higher level abstractions. That's like saying python is written for some elite class of programmers because it has "strings" and C doesn't.

I would posit that you are in the Top 5%. Can you imagine your average PHP web dev trying to grok monads? In the at-times echo chamber around here it's easy to forget just how many people make a living righting VBScript macros, Java, or Cold Fusion, or whatever non-sexy language you want to name.

"Cargo cult" programmers don't grok strong typing or lexical scoping either, but that's not a good argument for a weakly typed, dynamically scoped language.

>Can you imagine your average PHP web dev trying to grok monads

Your average PHP web dev is not the cutoff for the 95th percentile. But yes, I can imagine them trying to understand monads. I have also observed them succeeding at understanding monads. They aren't hard to learn, just something you need to learn. Being able to learn simple things doesn't make you the top 5%.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact