Hacker News new | ask | show | jobs
by daneel_w 1514 days ago
> Readability of code is paramount.

For almost all languages, Perl included, this onus is mainly on the programmer. You can churn out gritty spaghetti in almost any language. Perl code doesn't have to look like what Perl programmers put out in the 90s. It's an old misconception that people refuse to let go of.

3 comments

> You can churn out gritty spaghetti in almost any language.

I hate this argument because it doesn't allow for any variation in the intrinsic readability of languages, or the style those languages encourage. Yes, you can write shitty code in any languages, but some languages encourage it, while other languages discourage it. I would say that Perl encourages unreadableness more than any of its peer languages, and the corpus of actual code out there is much more likely to be terse, unreadable noise than what you're likely to find in most python or ruby projects.

> "I hate this argument because it doesn't allow for any variation in the intrinsic readability of languages, or the style those languages encourage"

I don't understand what you mean by this. How ever does that argument mute Perl's dynamic expressiveness - which lends equally to unreadable syntax as much as clean syntax - or the commonly encouraged patterns in Python?

> "and the corpus of actual code out there is much more likely to be terse, unreadable noise than what you're likely to find in most python or ruby projects"

Because Perl saw in its infancy back in the 90s much higher use than Python and Ruby did. It's the same with PHP, which looked like shit in the 90s even if it didn't need to. Incidentally, PHP, too, suffers from stubbornly outdated criticism.

I think you're too hung-up on the languages themselves, and forgetting that programmers, and software development and engineering as a process and as an art, evolved a lot the past 20 years - much has happened also with how people write C today compared to the 80s and 90s.

I'm there with you. Taken to the extreme, this is why we don't use assembler for everything. I mean, it's Turing complete, right? And you can write readable assembler, true? And yet, we don't, largely because it's much easier to express large systems in other languages that are easier to write, read, and reason about.

OK, so Perl isn't assembler. Still, it's a lot easier to write unreadable code in Perl than it is in some of its contemporary languages. You don't have to, sure. You could write clean, pretty Perl code. I know, because I've seen it. But in my experience, that definitely wasn't the common case.

True you can write readable Perl code, but developers tend to adopt the predominant style of the community of each language, and the community was showcasing more brevity and cleverness than clarity
>You can churn out gritty spaghetti in almost any language

But some languages make this much easier than others

That should not be misconstrued as Perl making it hard to write clean code. It does not. It swings both ways.