Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: A Melancholy Monkday

by FloydATC (Deacon)
on Jan 19, 2014 at 20:16 UTC ( #1071216=note: print w/replies, xml ) Need Help??

in reply to A Melancholy Monkday

Perl started out as a language for hacking together reports and automating system maintenance tasks. For a while, Perl was the go-to language for web development as well, and I think this is why it gained a lot of "mainstream popularity". Fast forward 20 years or so, and there's a whole lot of languages equally well suited for web development. (Some people would say better suited. Pff...) Some of those languages are well suited for other purposes too, and sometimes you can't do without them. (If "yum" was written in Perl I would never install Python. Ever.)

So, why are people choosing those other languages? Apart from there being a lot of choice out there, here's a few of the reasons I've heard from co-workers and friends:

  • It's a hacker's language. The syntax is just strings of line noise gibberish that makes sense only to someone suffering from extensive marble loss. (This is obviously false, regular expressions actually make perfect sense. As do hashes of hashes of arrays of objects. Containing hashes.)
  • Okay so it's possible to write readable Perl, but it's still hard to maintain. We had this one program... (Everyone's heard about this nightmare project with unmaintainable code that some ex-employee pulled out of his colon before he was convinced to pursue other career options.)
  • Multithreading is a PITA. This one is hard to argue with. (Hashes are the backbone of Perl, making them work well with threads is an exercise in masochism. Compare and contrast with Java's ConcurrentHashMap. DBD::mysql, perhaps the most important module for some of us, isn't thread-safe so it must be carefully worked around if we are to try using threads.)
  • It's a moving target. Beginners can choose between learning the obsolete Perl 5 syntax or the experimental, eternally unfinished Perl 6 syntax. (I have not yet bothered with Perl 6 myself...)
  • There's no free IDE like Visual Studio or Eclipse. (I don't think I've ever heard of someone outside of the Perl community who knew that Padre existed. They only know about ActiveState.)

Fortunately, I have a team leader and a boss who really doesn't care what languages my use to solve problems in the team, as long as we get the job done well and on time.

Between the five of us, we do VBscript, PowerShell, Perl, PHP, Javascript, CMD batch scripting and BASH shell scripting. Plus some C/C++/C# and Java hacking if we have to. Back-ends we have to deal with include MySQL, PG, SQL Server and (occasionally) Oracle. Note that we don't even work with software development, it's all systems maintenance and troubleshooting.

The important thing for me is not if Perl is no.4 or no.14 on my team leader's list of preferred languages (because he stumbled across such a list on the interwebs). What matters to me is that I'm still allowed to use Perl for tasks where it makes sense to do so. Such as reporting and automating systems maintenance.

-- FloydATC

Time flies when you don't know what you're doing

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1071216]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2018-06-21 13:12 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (118 votes). Check out past polls.