I have written a lot of Perl code over the years, and I also hold the uncommon opinion that it is a great language, and often a far better choice than other similar languages for a lot of tasks. I agree with the author of this article that most people who criticize it are extremely ignorant about it.<p>The most common complaints about Perl tend to be about the code of people who don't know how to write Perl. Since when is it reasonable to judge a language on how the amateurs use it, instead of the professionals?<p>Perl does have its warts, but no language is an exception to that. When you learn to use a language well, the warts no longer matter. You get into the habit of writing code in a way that doesn't brush up against them, and that holds true for every language out there.<p>To clarify any mention of Perl 6, you need to realize Perl 6 isn't Perl. It is a whole different language with a really bad name. I know this has caused great confusion, but Perl 5 is extremely stable, still being developed, and not going anywhere. You don't need your Perl 5 programs to run in a Perl 6 interpreter any more than you would need them to run in a Python interpreter.<p>I have written my share of code in other languages, but I always return to Perl. As a C and Unix programmer, it feels like a very natural fit in ways that other languages completely do not. It has amazing string parsing, a superb (though extremely misunderstood) OO system, tons of great libraries, direct interfaces to POSIX and other system interfaces, really good database interfaces, networking, and protocol wrappers, very flexible interfaces to native code, and a really brilliant and well evolved design.<p>While you should always use the right tool for the job, Perl is a better choice far more often than people are realizing these days. There is so much anti-Perl sentiment out there, and the great majority of it is completely misplaced and made by people who haven't properly learned how to use Perl.
I used to use Perl. I got lots done in Perl from around 1998-2003, but I never really felt like I was having fun or really understood the language very well. I just figured out what I needed to.<p>Then I happened upon some Python code I needed to fix. Within a week or less I already felt like I "knew" Python better than I would ever know Perl. It was fun and inspiring and felt so elegant and powerful! I never typed another line of Perl.
"I believe the main reason haters gonna hate Perl forever is because their language of choice will never achieve its dominant adoption."<p>You keep believing that. It's not true, but keep believing it.
"I think that the average age of a Perl developer is about 35 years (I have no official data for this, my hunch is based on the people I saw at numerous YAPCs I had the opportunity to be present at).<p>Assuming this is true and assuming a dev enters into production at 23 years old, it results that the average Perl developer has 12 years of software development experience.
What kind of code would you prefer in your business critical, money making software products? one written by people with an average of 12 years experience in the language of choice"<p>Whoah, hang on there. Even if they did have an average of 12 years of experience, it hardly means that it's been Perl all this time.<p>Obviously the reasoning that led to this bit isn't rock solid, either ;)<p>"[...] or one written in a language that appeared on the radar in the last decade:
Ruby on Rails, the framework that made Ruby popular was launched in late 2005"<p>2005, that's 9 years of experience at best. How lame in compare to 12 :)<p>(Don't trust Android devs, Android didn't come out until autumn 2008)
One feature I like for enterprise languages is preventing developers from writing too clever/magic/brittle code. This usually boils down to compile-time type checking, good module system, and fewer rather than more language features. Nothing like digging into some old code to do a bugfix and finding out it's a Ruby app where some cowboys decided to write their own magic framework that intercepts field assignments, has heavily data driven control flow, or a Scala app written by a code golfer. Perl suffers from that problem as well, which is too bad given how robust it has proven over the years.
Perl's motto: TIMTOWDI (There Is More Than One Way To do It) <-- This include using other languages such as Ruby/Python to solve your problem.
I still love Perl. I've done more diverse tasks in that language than any other. In fact, I think that the only more go-anywhere-do-anything language that exists is C, but why bother with the hassle of C when Perl is there?
I don't know much about Perl, but after seeing "The Perl Jam: Exploiting a 20-year old Vulnerability" from 31C3 it really doesn't feel like it's winning. You don't need to know Perl to have a great time watching the talk (at least I didn't).<p><a href="https://www.youtube.com/watch?v=gweDBQ-9LuQ" rel="nofollow">https://www.youtube.com/watch?v=gweDBQ-9LuQ</a><p>---<p>I don't know if the talk is any good <i>if</i> you actually do know Perl.
I wouldn't call it #winning. Did Edmund Hillary "win" because he climbed Everest first?<p>I think the misunderstanding of Perl is based in the "There is more than one way to do it" philosophy. A corollary to that motto could be "There is no right way to do it." Using that corollary, no matter what Perl code you look at the correctness is in the eye of the beholder.<p>Even looking at your own code a year later, you'll ask yourself "why did I do it that way?" This is because the Perl syntax and choice of modules is so deep and varied that you cannot help but continuously evolve your style.<p>It takes real world trial and error of writing and reading Perl code to build your own style and get a handle on what good, readable Perl code should be... for you.<p>Haters <i>are</i> going to hate, but Perl programmers know the power and aren't going to it give up. Winning isn't everything. Getting there first? Well, that just means you should respect your elders. :)
Ok guys, let me speak for the sane people of the world: Who cares???<p>I mean, what are we even talking about? Pearl "won"?? Won what, exactly? The internet? The.... money? WHAT THE FUCK! Please stop this, ok? This makes no sense at all and it's probably the most ridiculous discussion on the planet right now.
Perl was the language that I used many years ago but I moved on. Perl 6 was announced in 2000 and took over 10 years to see a release and by then most developers moved on like I did. When a language takes that long between releases there's clearly a lack of enthusiasm and support for the language. And touting market share? That is a pointless argument. You should be working with multiple languages and move past these silly blog posts.
perl lost because it was unable to do asynchronous processing. folks forget that the big web 2.0 innovation was a proliferation of ajax and related technologies, which was the precursor to webapps, iPhone ecosystem, etc.