Some programming languages see more hate than others, for various reasons. Some are just point blank shi..not good, some are torture to use, some are just made to torture programmers like Cobo or Brainfuck who deserves its name outright. Every language has at least one function/feature or characteristic that will drive a few programmers up on a wall, but some languages have a more general dislike.
Bjarne Stroustrup, creator of the C++ programming language said that: “There are only two kinds of languages: the ones people complain about and the ones nobody uses”. Every language will have issues if you go deep enough. So, what’s with the Perl hate?
Well, there are plenty of reasons, which doesn’t sound so good, but people dislike it for various reasons, and some dislike it just because it’s disliked by others. It’s sort of like a vicious circle in this regard. Yes, there are a few things that make Perl a bit more different than other languages, but with the risk of sounding corny, that gives it character and makes it unique. The syntax is a bit odd compared to other (popular) languages, but you know, stop comparing with other languages! (insert joke here). Perl is also a very old language, one that's been around for almost 30 years, that’s older than most programmers today. And because of this, there is a sort of generation gap that leaves Perl out of the modern pack of programming languages. It’s from another time, another place, another age. Actually, it’s mostly just misunderstood.
Beyond this, a popular, Perl is the devil reason, is Perl’s syntax flexibility. TMTOWTDI is the basis of Perl, it’s flexible by definition. There are plenty of good reasons why this is good and one reason why it’s bad - it allows you to write bad (working) code. If you managed to come across one of these badly written Perl codes you might of course get very annoyed and blame the whole language as a consequence. But just because you can write bad code in Perl, every orchard has its bad apples, does not mean that the whole of Perl is bad. Having to deal with some mumbled code can be a swear word discovery experience, but that’s a good enough reason to put a stamp on a whole language.
Perl fits all the criteria for a good scripting language, and that’s the bigger picture here, not a few bad experiences. Unfortunately situational experience often make people generalize and hating on something that is already hated seems so easy.
The thing is, people still use Perl, there are Perl developers who’ve been working in Perl since the beginning, that have been through all the stages and that are still here. They’ve been through the bad codes issues and many other issues, but you get this in every language and you just move on. There’s a saying that works very well here, in connection ro Bjarne Stroustrup’s quote - truly bad programming languages aren’t used by anybody because they’re essentially bad languages. Perl is still very much in use by plenty of developers and companies, it’s just that some languages get more hate than other, and in this case we got the short stick apparently.Tweet