Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Why do people say 'Perl' is dead?!?!

by lblake (Novice)
on Dec 12, 2011 at 00:02 UTC ( [id://942984]=perlquestion: print w/replies, xml ) Need Help??

lblake has asked for the wisdom of the Perl Monks concerning the following question:

Hello Wise Ones, I have a basic understanding of Perl and want to learn more. However, I've seen a lot of talk about Perl being a dead programming language and it's better to learn one of the other scripting languages? I just wanted to get an opinion from the 'horses mouth' before making a decision about investing time learning Perl. Also please don't shoot the messenger I am just asking:)! P.S I work in IT as a QA Tester my main interesting is gaining a better understanding of systems I have to test and using the right tool to allow me to do my job better whether its using Perl, Python, Ruby etc..

Replies are listed 'Best First'.
Re: Why do people say 'Perl' is dead?!?!
by keszler (Priest) on Dec 12, 2011 at 01:33 UTC

    I'd say it all depends on who's talking. A {non-Perl} programmer will certainly want to believe that his language is superior. Nerds Central says "Perl Still Dominates Over Python, Ruby or even PHP".

    Another metric is performance. Here is a benchmark/comparison of Perl, Python, Ruby, PHP, C, C++, Lua, tcl, javascript and Java.

    Obviously opinions here will favor Perl. I think you'll find that CPAN and support here make a strong case for using Perl as your QA-testing language of choice.

      ++for posting the benchmark/comparison.

      The only question that remains for me is why oh why do so many in the Perl5 community insist on wanting to write Java in Perl?


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

      The start of some sanity?

        Because they can. Remember, in Perl There Is Always More Than One Way To Do It.

        That is really the beauty of the language. You can choose whatever coding style you prefer and Perl will just do the right thing (patent pending :-)

        A proper programming language should always try to help solve to problem, not trying to enforce the original designers misguided attempts at defining a coding style that fits everybody.

        Don't use '#ff0000':
        use Acme::AutoColor; my $redcolor = RED();
        All colors subject to change without notice.
        A reply falls below the community's threshold of quality. You may see it by logging in.
      I think you'll find that CPAN and support here make a strong case for using Perl as your QA-testing language of choice.

      After wading through the whole thread and reading quite a lot of interesting comments, I'm surprised at how little emphasis CPAN has gotten in the comments. It's mentioned several times, but usually almost in passing. It's the thing that really makes Perl amazingly useful for me. Even if the language doesn't evolve, CPAN is packed with useful modules that are very stable and/or well maintained.

      Most of what I do with Perl is "quick hacks" that are a page or two of code at most, but I think most of what makes them quick hacks is that there is a module in CPAN that does 90% or more of what I need done (usually the heavy lifting part, with decent exception handling) and all I need to do is wrap my specific problem around it. Need to pull a particular fraction out of the whole Wikipedia dump? Working code in about 5 minutes, big file of useful stuff in an hour. Need to mess with some XML? Pick your library- simple ones for simple problems, and comprehensive ones for the tougher ones. Need QR codes? A couple minutes. And more...

      I also do a fair bit of Ruby, and while there are a reasonable number of gems for it, it's nothing like CPAN, and the stability/compatibility of them can be a headache. And they're often not as complete as CPAN counterparts. Ruby is still pretty young, and there still seem to be enough holes and bugs that you get many more version compatibility problems than I've seen with Perl.

      Python may be somewhat better, but I haven't gotten the impression that it has a CPAN equivalent that's as comprehensive, either.

      C and it's variants have a lot of libraries available, but they're at a whole different level than CPAN, and not nearly as useful for solving problems quickly.

      Regarding the other part of that sentence ("and support here")-- I've posted very few questions here because Perl has been around long enough that nearly everything I've had trouble with or couldn't sort out could be resolved with a search. I end up using Perlmonks as a place to see what other things Perl can do that I don't need yet.

      Apparently the link in the OP is going away, to be replaced by this new link. It's still quite a satisfying read.

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

      Perl dead? I don`t believe so. First of all - Perl is easy. Yes, it`s not Python or Ruby. Even though they refer them for beginner languages ( which may be so in the basics ) they are getting tougher and tougher as you dive in. PHP is not so bad since it`s syntax resembles C++ and it`s OOP is easier than Perl`s. However, Perl is powerful, fast and very easy to learn, close to human language. You can write tons of useful code with just a small knowledge. Second - Perl refers to CONTEXT, something that other languages do not. If it looks like a function it is one, if it`s a scalar it is so. Other languages refer to variables as variables - storage of data, not context! This is important. IMHO, Perl and JavaScript are must know languages, that can accomplish almost any task together. I have positives to JAVA too because it is still general pps language, while pl, py, rb and php are still scripted/interpreted ones.

      Back to topic: Perl is quite alive, amazon, imdb, tweeter and many other sites ( especially the ones with JSONP ) use it! Consider these facts before you back on Perl.

        Yeh, Perl5 is easy. What is not, is to solve such problems the language implies, as everything works, but so many test for knowing if working good. That's one negative point, opposite of the positive point of: perl is easy and flexible. The thing is: why perl should be implemented on WWW platform, and not PHP. And, another question is: Why should Perl be used for doing that so many things you can do in Python? Before, some years ago, I thought: perl is damn important: it is installed in all unix like or bsd systems, but, not in windows, in which you can just install an active perl, or something else virtual machine. Now we have Parrot, and so on... the thing is: how many time is going to survive Perl, against the big amount of code being published in other scripting languages, which now a days, they're really power and useful. Also, they are "easy", or at least, easy is known as "powerful". I think, Perl6 is going to hit so strong, but people is not going to port their platforms in PHP, or so on, into Perl. And that, is a really negative for PerlWorld. (People will think: why should I waste my time into learning Perl, (which isn't easy at all, since it's huge), when I just can learn PHP, Python and SQL or SQL like. That's what I think. Cheers.
Re: Why do people say 'Perl' is dead?!?!
by BrowserUk (Patriarch) on Dec 12, 2011 at 03:08 UTC

    Why do you care "What people say"?
    Does that affect how much jobs pay?

    Some like to code in triplicate: String newString = (new StringBuffer(aString)).append(anInt).toString();
    Whilst others prefer to masticate: char *newString = strcat( aString, sprintf( malloc( 6 ), "%6d", anInt ) ); (**)
    For some, every step is very hard won: (*)
    Perlers just like to get the job done: my $newString = $aString . $anInt;

    Fashions, as we all know, have a tendancy to come and go.
    But functionally, we wear clothes to keep warm.
    A dried meat dress, will never suppress
    the utility of jeans. Even if they're torn.

    So decide for yourself, what's important to you.
    Being part of the crowd who cry "Perl's dead!" aloud.
    Or one of the thousands that, every day,
    get the job done using Perl. Their way.

    (*)Hard won:

    A basic technique is to use newtype declarations to declare separate types for separate intents. <code> module StringSafety ( SafeString () , UnsafeString () , quote , considerUnsafe ) where newtype SafeString = SafeString String newtype UnsafeString = UnsafeString String considerUnsafe :: String -> UnsafeString considerUnsafe s = UnsafeString s quote :: UnsafeString -> SafeString quote (UnsafeString s) = SafeString s' where s' = ... s ... This module does not export the SafeString and UnsafeString constructors, so we can be sure that no other code in the program can invent SafeStrings which are not really safe. Every string can be safe +ly treated as unsafe, however, so we export a function considerUnsafe whi +ch does so. Now, if we type our interface to the outside world as <code> getInput :: ... -> UnsafeString sendOutput :: SafeString -> ... we can be sure that a return value from getInput needs to pass through + quote on its way to sendOutput, because quote is the only way to produ +ce a SafeString. This guarantuees safety. It has, however, a practical problem: We can' +t use the usual String functions on UnsafeString or SafeString values. F +or instance, we can't concatenate two UnsafeStrings using (++). A naive solution would be to provide separate (++) functions for unsaf +e and safe strings: <code> append_safe :: SafeString -> SafeString -> SafeString append_safe (SafeString x) (SafeString y) = SafeString (x ++ y) append_unsafe :: SafeString -> SafeString -> SafeString append_unsafe (UnsafeString x) (UnsafeString y) = UnsafeString (x ++ y) Note that at least append_safe needs to be implemented in and exported + from the StringSafety module. That is a good thing, because this function needs to be carefully checked for safety. The programmer need +s to prove (or unit-test, or at least think about) the following theorem +: <code> If a and b are safe strings, so is a ++ b. After this fact has been established, other modules are free to use append_safe however they like without possibly compromising safety. <p>Now, the above approach should work, but is still rather impractica +l: We need to copy the definitions of all String functions for unsafe and sa +fe strings. However, since the bodies of all these copies are actually identical, so we can use parametric polymorphism to abstract over the difference between UnsafeString and SafeString. One way to achieve thi +s is to use phantom types. <p>With phantom types, we declare only a single newtype for both safe +and unsafe strings, but we annotate that type with an additional flag to distinguish safe from unsafe uses. <code> module StringSafety ( AnnotatedString () , Safe () , Unsafe () , quote , considerUnsafe , append ) where data Safe = Safe data Unsafe = Unsafe newtype AnnotatedString safety = AnnotatedString String considerUnsafe :: String -> AnnotatedString Unsafe considerUnsafe s = AnnotatedString s quote :: AnnotatedString Unsafe -> AnnotatedString Safe quote (AnnotatedString s) = AnnotatedString s' where s' = ... s ... append :: AnnotatedString a -> AnnotatedString a -> AnnotatedString a append (AnnotatedString x) (AnnotatedString y) = AnnotatedString (x ++ y)

    Note that AnnotatedString does not really use its type parameter safety:

    That's why it is called a phantom type. The data constructor AnnotatedString can be freely used to convert between safe and unsafe strings, so we better not export it from the module. Inside the module, uses of the data constructor gives rise to proof obligations as above. So the programmer needs to reason that the following is true to justify the implementation and export of append:

    If x and y have the same safety level, then (x ++ y) has again that same safety level.

    So now, we still have to write a wrapper around each string operation, but at least we need to write only one such wrapper for all intents, not a separate wrapper for each intent.

    There is an inconvenience left: We can't concatenate safe and unsafe strings, because both arguments to append need to have exactly the same type. To fix this, we first have to figure out what the result of sucha concatenation would be: It would be an unsafe string, because at least one of the inputs is unsafe. We need to teach this kind of reasoning to the compiler, for instance, using type families:

    type family Join a b type instance Join Safe Safe = Safe type instance Join Safe Unsafe = Unsafe type instance Join Unsafe Safe = Unsafe type instance Join Unsafe Unsafe = Unsafe

    The idea is that (Join a b) is the safety level of the result of an operation which consumes data of safety level a and b. I called the type family Join because the safety levels form a lattice, with unsafe levels higher then safe levels, and the type family computes the join operation for that lattice. So we are encoding a simple static analysis into the type system here!

    Using this lattice structure of safety level, we can give a more polymorphic type to append:

    append :: AnnotatedString a -> AnnotatedString b -> AnnotatedString (Join a b)

    The implementation can remain unchanged. Now, the programmer needs to reason that the following statement is true to justify this type of append:

    (x ++ y) is at least as safe as the least safe of x and y.

    So to conclude, statically checked intent-typing can be expressed in Haskell using newtype wrappers with phantom types, and possibly some type-level computation on these phantom types to teach the compiler domain knowledge about the intents.

    (**)Bugs intentional!

      Does that affect how much jobs pay?

      Nothing against perl or to offend you also cannot comment in general if it affects everyone but it does affect me.

      I started my career as a perl developer and have been coding in perl for last 6 years in a offshore development company. I enjoy working with perl and find it better than many other languages which I learned in past.
      Only issue comes, when I look out for opportunities available in market.
      Most opportunities are where its good to have, as it helps team on deployment and automation testing. Remaining are on maintenance and level 3 support. I don't see many opportunities in pure perl development unless I decide to move out of my home country.

      So here are options for me:

      • Change my primary technology from perl to java/.net/.... (which is not easy in this part of world, if you are a perl developer today you are a perl developer forever.
      • Move to Level 3 support. (which is not my interest area.)
      • Move to some other country where opportunities are better than here. (Once again not an easy task)
      • Stay with the (very) limited opportunity any be satisfied with whatever it pays even if its not at par with rest of the market.
        (Which i have been doing for a while now)

      In short it does affect (at least) me. No matter how much I like perl, sometimes I feel I should have not started my career with perl development. Probably learning it as a helping utility/language would have done better for my career

      Regards,
      Ashish

        "No matter how much I like perl, sometimes I feel I should have not started my career with perl development. Probably learning it as a helping utility/language would have done better for my career"

        I find this attitude strange, had you started your career as a cobol programmer would you be complaining that after almost fifty years of it's release the number of cobol job options available to you (feel free to limit this again by your geographic region) has decreased? I didn't start my career as a Perl developer, I may not end it that way. Seems to me like you're putting all of your eggs in one basket. Diversify your skill set. Learning something new doesn't mean you have to completely forget what you knew before.

        Also you seem to limit your options to what others are prepared to do for you, you have the options of telecommuting or setting up your own consultancy etc.

        Change my primary technology from perl to java/.net/.... (which is not easy in this part of world, if you are a perl developer today you are a perl developer forever.

        “You are not the only movie-star who feared becoming “type-cast.”   Self-marketing is always part of this constantly-changing business, and by the way, “the grass is always greener on the other side of the fence.”   Don’t worry too much about people in other countries taking your jobs away (especially given that you are ... uhhh....), and don’t worry too much about having to move to another country to find work (unless, of course, you want to move to America where, if you are a highly experienced programmer, you can very easily not-find work).   ;-)

        Seriously:   Master the tools that you currently know, and never, ever stop learning.   You are part of a profession where the opportunities for self-learning never end, no matter where in the world you are.   I would also suggest that you start working very hard now to groom contacts and professional relationships that do not involve working for the companies who are currently outsourcing work from the USA, even though it might be somewhat difficult to find those companies “where you are planted” and even if it involves a pay cut.   Purely as a self-defensive move, because that gravy train is going to dry up completely someday soon, and the lushest green grass quickly turns back into the desert from whence it came.

      This is one of the best posts, I have ever seen here! and I have seen some really good ones!!!

      Pity I can only upvote it once...

      I only regret that I can only up-vote a posting once.   This one (especially with the spoiler revealed   :-O !! .. what language-monstrosity is that?!?!) is well worth printing and hanging on the office wall.

        what language-monstrosity is that?!?!

        Haskell.

        And if you follow the thread forward a couple of posts, you encounter a seemingly innocent question: "and what if you want to concatenate three pieces?"

        The most telling story is that in the year since it was asked, no one has attempted to answer that; never mind the follow-ons: four pieces; five pieces; ...


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

        The start of some sanity?

Re: Why do people say 'Perl' is dead?!?!
by eyepopslikeamosquito (Archbishop) on Dec 12, 2011 at 02:11 UTC

    Perl, Python and Ruby are all excellent languages IMHO. All three have excellent testing tools and thriving QA communities. As a testing/QA professional, familiarity with all three couldn't do you any harm. In case it helps convince you that Perl is not dying, notice the top eleven languages from the latest Tiobe Index of Programming Languages:

    Dec Dec Delta 2011 2010 Language Rating Dec 2010 Status 1 1 Java 17.561% -0.44% A 2 2 C 17.057% +0.98% A 3 3 C++ 8.252% -0.76% A 4 5 C# 8.205% +1.52% A 5 8 Objective-C 6.805% +3.56% A 6 4 PHP 6.001% -1.51% A 7 7 (Visual) Basic 4.757% -0.36% A 8 6 Python 3.492% -2.99% A 9 9 Perl 2.472% +0.14% A 10 12 JavaScript 2.199% +0.69% A 11 11 Ruby 1.494% -0.29% A
    Perl increased (+0.14%) in the past year, while Python (-2.99%) and Ruby (-0.29%) both decreased. In any case, Tiobe rates all three as safe-to-adopt "A Grade" languages. I agree.

    As for QA and Testing, Perl has excellent testing tools, a long tradition of testing (automated tests have been bundled with Perl since version 1.0 over twenty years ago) and a very talented and active QA community, notably the CPAN testers and qa.perl.org -- a lot of their current work is done on the perl-qa mailing list and at annual perl qa hackathons.

        Can you please specify why?
Re: Why do people say 'Perl' is dead?!?!
by ricDeez (Scribe) on Dec 12, 2011 at 02:14 UTC

    What do you intend on using it for?

    Perl is definitely alive having enjoyed a renaissance recently with the Modern Perl "movement" if you will... It has had frequent and regular new releases and can match feature for feature the other scripting languages that you mentioned in your post. Now, I do use Python for some niche applications where it seems to have more mindshare (such as in scientific computing) but always enjoy coming back to Perl when I get the opportunity. I really think that it fits my brain!

    Some new and cool developments in the Perl community include:

    • Padre (The Perl IDE)
    • Moose/MooseX
    • Web development frameworks such as Catalyst, Mojolicious and Dancer
    • DBIx::Class

    The other big advantage with Perl, of course, is CPAN and if you need commercial development the ActivePerl Pro Studio from ActiveState which allows you to generate .exe and .NET components from Perl, leveraging from CPAN and all the other open source resources which already exist for Perl!

    In short, don't buy into the 'Perl is dead' meme that many advocates for other scripting languages would have you believe! Learn as much Perl as you can take in and enjoy the ride!

      Thanks for the information I will learn as much Perl as I can. And I am looking forward to the joys of Perl...
Re: Why do people say 'Perl' is dead?!?!
by cavac (Parson) on Dec 12, 2011 at 09:57 UTC

    Yeah, yeah, the "i see dead people Perl" is very popular. Mostly from people who learned ONE programming language at school/university and declare everything else obsolete.

    Fancy thing is, most Perl programs usually run out-of-sight, out-of-mind. So people stop thinking about it. I bet you that most of the Fortune500 companies depend on one or another critical business process on some Perl script that is maintained by some guy/gal sitting around in IT and having a lot of fun.

    Let's consider an example i know well (which is me, frankly). I'm the lone Perl coder in a major automotive company (Frankly, a it's little bit to small for a Fortune500, though). Even ignoring that big, business critical intranet webtool, there are a lot of small, low-maintenance tools that are actually quite relevant to the company. Lets pick one at random:

    Our office printers have a pay per page model, meaning every printed page gets charged to the cost unit of the user who printed it. The central printer server monthly generates a list of all printed pages (summarized per user). Of course, my company beeing a SAP customer, we're unable to directly import said file into our accounting system. So, there's this compiled-to-windows-exe Perl script that converts the file and adds some static fields to make our accounting software happy.

    The script is something on the order of 100 lines, took less than an hour to develop and has in the last years required something on the order of 15 minutes maintenance. Take that Java/Python/C/C++ developers!

    Don't use '#ff0000':
    use Acme::AutoColor; my $redcolor = RED();
    All colors subject to change without notice.
Re: Why do people say 'Perl' is dead?!?!
by ww (Archbishop) on Dec 12, 2011 at 03:58 UTC
    1. Ignorance
    2. Bias
    3. Malice
    4. Other

    ...and if you're looking for a set of unbiased opinions providing the gospel answers to your question, do you think you've come to the right forum? While I (presumptively one among many) delight in having the opportunity to talk up a language which I find enormously useful for a wide variety of applications, as -- obviously -- do others, I would not be well satisfied, in your shoes, to ask the question only here.

Re: Why do people say 'Perl' is dead?!?!
by chromatic (Archbishop) on Dec 12, 2011 at 18:25 UTC

    Two reasons with substance. (You can dismiss the reasons of people who have nothing more intelligent to say than "Wow, regular expressions look like line noise!" You'll save a lot of time flipping the bozo bit on them right away.)

    First, Perl is relatively old—not C old, but well established. It's had two great surges of popularity, first with system administrators in the Perl 1 - 4 days, and then with web programmers in the early to late '90s. Certainly Perl has moved on from those niches, but a language with a killer application has trouble shaking off that label.

    Second, Perl 5 is long in the tooth and has had a lot of trouble demonstrating real language evolution. Part of that is by design, where CPAN and language extensibility didn't happen by accident, but part of that is because it's really difficult to change Perl 5 to remove warts or to add important features or to make the implementation smaller, faster, simpler, easier to port, or more maintainable.

    The lack of any credible Perl 6 implementation after eleven and a half years doesn't help. ("Oh, but three people are using it for side projects, and all you have to do is check out a branch from source control for each of several projects in the stack and probably most of the test suite will run" doesn't match my criteria for "Could I do something useful I care about with this software?" and especially "How much busywork will I have to do to keep this running for the next six months?")


    Improve your skills with Modern Perl: the free book.

      I think that it is “not quite fair,” shall we very-agreeably say, to criticize a language for not being what it isn’t, when what it is is so darned important for so many people.   When a language has been around for as long as Perl has, 100% compatibility with existing code-bases frankly becomes more important than most other considerations.   This is what pays the freight.   The true “warts” of a language, I think, fall out of favor on their own stink.

      Now, in the course of a work-week I do find myself shifting between languages like shifting between hats.   But Perl remains for me a known quantity:   it is a beefy power-tool that won’t let me down.   It is very hard to earn a positive reputation if you are a programming language ... let alone keep it for however-many years running.   The many teams who have worked on Perl (and who have built notable CPAN packages) richly deserve full acknowledgment for their masterpiece.   Warts and all.

      And I am sure that I will one day say the same thing about Perl-6 ... warts and all.

        The ability to deal with the problem of backwards compatibility has been around since at least 2000, but the will has not been there. What we have instead (the silly feature pragma) had the best of intentions.

        The only true solution has to include requiring a version declaration in every file, lest you get whatever the default behavior of the current version.


        Improve your skills with Modern Perl: the free book.

Re: Why do people say 'Perl' is dead?!?!
by cdarke (Prior) on Dec 12, 2011 at 10:31 UTC
    People say Perl is dead because they have not bothered to keep up to date with Perl developments. A lot who say this have not seen Perl since 5.005.

    Of course it depends what they mean by "dead". You could argue that any language which does not develop and evolve is dead, but that certainly does not apply to Perl. Just look at the developments since 5.10.

    The Perl 6 development has distracted some, and consider its lack of a big bang release to be a sign that Perl is stuck at some old version. Not true of course, Perl 5 lives!
Re: Why do people say 'Perl' is dead?!?!
by Anonymous Monk on Dec 12, 2011 at 01:36 UTC

    Ask them?

    Search for previous discussion?

    AFAIK, there are no horses here :)

    This kind of answer?

    Its actually been years since I heard this, not that it ever made any kind of sense (wishful thinking)

      Well said __ME__
Re: Why do people say 'Perl' is dead?!?!
by ramlight (Friar) on Dec 12, 2011 at 13:16 UTC
    In my work as a QA professional, I have found that Perl is perhaps the best language for scripting the low level hardware systems that I'm using. So I use it every day (like today.) I see lots of jobs offered that just require some scripting experience - either Perl or some other language will at least get you in the door. So professionally, I find that Perl is a great asset. That does not mean the Perl is perfect. I also enjoy programming in that other "P" language - and find that some things are easier to do there than they are in Perl. On the other hand, some times I find myself wishing that I could do something there that is simpler and clearer when expressed in Perl. All languages have their strengths and weaknesses. Picking the right language for a particular task can be difficult - and is often constrained by the existing programming environment. But Perl is a good choice for many tasks and I have yet to find a community that is as helpful and supportive for any other language than you'll find right here.
Re: Why do people say 'Perl' is dead?!?!
by TJPride (Pilgrim) on Dec 12, 2011 at 04:06 UTC
    Perl is dead if you look at it from the viewpoint of how many new people are being taught to use it (not many). However, it's definitely not dead if you look at it from the viewpoint of whether it's still the best language to do a lot of things. Specifically, data parsing, administration tasks, that sort of thing. Perl allows you to cram a lot of code into a very small space, and there are modules available for just about everything (if you can figure out how to get them installed) as well as a fairly lively user base here. I do prefer PHP for web site front ends, but I use Perl a lot for back end automated tasks, one-offs, etc.
Re: Why do people say 'Perl' is dead?!?!
by tobyink (Canon) on Dec 12, 2011 at 14:21 UTC

    If you take a look at these charts from CPAN Testers:

    http://stats.cpantesters.org/graphs6.html

    ...you'll see that the number of CPAN uploads (i.e. reusable open-source programming components) each month has been increasing for years. For a dead language, I'd expect to see those numbers falling, or at least remaining steady.

      We must be looking at different charts. The top one (2010 and 2011) shows two basically flat lines, for distributions and authors. I can see the increase in the older charts, but not in the current ones -- it seems to have leveled.

        The difference between 2010 and 2011 is less pronounced, certainly. But if you draw a line across the graph at 1000 distributions per month, then you'll see that most of 2010 is just below the line, but most of 2011 is just above.

        Based on the Jan-Nov periods, as it's too early to count December, 2010 had 10883 releases and 2011 had 11131. A small increase, but nevertheless an increase.

Re: Why do people say 'Perl' is dead?!?!
by perl514 (Pilgrim) on Dec 12, 2011 at 13:19 UTC
    Hi,

    Since you called out only the Wise Ones, I was not sure if I should reply :) but then I really couldn't help sharing the following link:

    http://www.dmclaughlin.com/2008/12/07/how-i-learnt-to-love-perl/

    I very recently started learning Perl and enjoying it so far....the article above basically says its not the language, but the way stuff is developed that matters. Hope it helps you..

    Perl Version - (v5.14.2)on Windows 7 64 Bit.
Re: Why do people say 'Perl' is dead?!?!
by Khen1950fx (Canon) on Dec 12, 2011 at 12:01 UTC
    Those that can do Perl. Those that can't chant "Perl is dead!"
Re: Why do people say 'Perl' is dead?!?!
by sundialsvc4 (Abbot) on Dec 12, 2011 at 14:00 UTC

    Programming languages don’t “die.”   (They don’t even “fade away.”)   Instead, they become the foundation technologies of mission-critical applications ... which may literally be worth millions of dollars to the businesses who own them.

    Even more significant than the language is the ever-growing library of contributed material ... in the case of Perl, that is CPAN.   This, in whatever language, truly becomes far more important and significant than the language itself, even though language and library are often spoken-of together, e.g. “Ruby (language) on Rails (library).”   In practice, you may well select a language mostly to get your hands on a particular library.

    I also think that it behooves you to spend a lot of your time looking at languages.   These are the fundamental tools of our trade, and they are constantly being invented, and there is a reason for each one of them.   You can indeed learn a lot just by watching the various sets of videos that are out there, being five-minute introductions to Perl, Erlang, Haskell, haXe, R, Prolog, and a whole bunch other tools that maybe you never knew existed.   Yet.   Stick those ideas in the back of your mind because you just never know when they might bear fruit.   (I also happen to find the exercise to be both eye-opening and great fun.)   But at the same time, never dismiss the “old.”   If they managed to become old, it probably means that they are considered by many thousands of people to be reliable.   It is part of your trade (and a huge competitive point in a tough job market) to be at least cursorily familiar in advance with the tools of your trade.

      Programming languages don’t “die.” (They don’t even “fade away.”) Instead, they become the foundation technologies of mission-critical applications ... which may literally be worth millions of dollars to the businesses who own them.

      You can say they never die. They only become untouched "legacy" technology waiting for a forklift upgrade. Million dollar mission critical perl hasn't changed since the early 2000s, see this thread http://www.nntp.perl.org/group/perl.perl5.porters/2011/09/msg177543.html . You'll always find one token place that has a server room filled with aged almond colored plastic and the place is like an egyptian tomb of technology. Perl is damn fast for writing code though.
Re: Why do people say 'Perl' is dead?!?!
by joeymac (Acolyte) on Dec 12, 2011 at 14:03 UTC
    I am pretty new to Perl, myself, and have found it quite versatile. In my profession, I have used it to replace some long running Java programs that were plagued by hang-up and connection errors between servers. I agree with those who have posted that Perl is a great professional asset. Is it the only language to use, of course not, but it is certainly an important tool to have in your "tool-belt." Here is a great XKCD that I feel is appropriate (and incidentally this one is hanging on the wall of my office). xkcd://519
Re: Why do people say 'Perl' is dead?!?!
by JavaFan (Canon) on Dec 12, 2011 at 12:51 UTC
    my main interesting is gaining a better understanding of systems I have to test and using the right tool to allow me to do my job better whether its using Perl, Python, Ruby etc..
    The "right" tool here is mostly what is the best tool for you. Given the same problem, the right language to use may differ from person to person.

    For me, the right tool is often Perl. For gazillions of others, Perl is seldomly a good tool to use.

Re: Why do people say 'Perl' is dead?!?!
by Discipulus (Canon) on Feb 25, 2013 at 10:32 UTC
    Very interesting talk. this kind of talk spawn up every season...
    few thoughts (from a simple self learned programmer with 11 years of Perl funny):
    • Perl will survive until be able to run on 'modern' machines.
    • and survive until can manage modern IT stuff: webservers, DB,

    More. Perl plays very good job in several fields: in some of them it is loosing position. Especially on evil and self-referenced selfish environment like win32 win64.
    I work heavely on such platform and running my CGI on modern version it is a pain. Good news are the frequent realeases of Strawberry Perl (32, 64, portable!).

    If we love this language, and of course we love it, the TJPride observation is the more sad:

    Perl is dead if you look at it from the viewpoint of how many new people are being taught to use it (not many).

    I was caressing for long times the idea of writing a game where you can script your IA in Perl: teenagers love this stuff (there is one inside me..): i saw many peoples learning LUA to customize a great game like Battle for Wesnoth .

    Some one is interested?

    L*
    there are no rules, there are no thumbs..
      ...a game where you can script your IA in Perl...

      You might be interested in The Lacuna Expanse.

      I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.
        uh, uh yes, this interest me. thanks jdporter

        there are no rules, there are no thumbs..
Re: Why do people say 'Perl' is dead?!?!
by blue_cowdawg (Monsignor) on Feb 25, 2013 at 21:06 UTC
        I've seen a lot of talk about Perl being a dead programming language and it's better to learn one of the other scripting languages?

    You'll find other posts on this site quoting the adage "Right tool for the job."

    I've been using Perl since around 1989 or so and I will continue to do so as long as I am still writing code and/or Perl is still as widely available as it is today already installed on most *nix OS-es. What I really like about Perl is it actually fulfills Java's promise of "write once run anywhere" with some caveats. If you use CPAN modules in your scripts it might now work in some places which has bitten me more than once.

    Speaking of CPAN, there's another reason I don't see Perl going away anytime soon. There's lots of folks writing modules for Perl and uploading them to PAUSE to be shared out via CPAN. As long as that continues Perl ain't going away anytime soon.

    To my point of right tool for the job I would point out that writing a text manipulation program in quite a few languages such as C, C++, Java, Assembler, Visual Basic and a lot of other languages is nowhere as easy as it is in Perl. I'd also hate to be limited to those languages for any sort of automation.

    At the same time I'd hate to write a compiler or assembler without using lex and yacc (or the OSS twins of those) along with C.

    I'll continue to preach this gospel: "Right Tool For The Job!" (RTFTJ)


    Peter L. Berghold -- Unix Professional
    Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg
Re: Why do people say 'Perl' is dead?!?!
by faraco (Acolyte) on Mar 23, 2017 at 09:48 UTC

    Well, as a Perl user, I found this is not true regardless of what people saying out there. As a Python user, I know this is not entirely true, although my mind say Perl is dying based on the articles on Internet about 'Perl is dead', and if the language is not dying, my programming language that is Python will surely threatened by this status, and it makes me want to switch to Perl like a magpie.

    That said, I like (and in love with) Perl as my goto language for the right job, and this opinion is based on - If you repeat a lie enough, people think it’s true article. :)



    Do you know how raccoons can be so slick at surviving?
Re: Why do people say 'Perl' is dead?!?!
by xiaoyafeng (Deacon) on Dec 30, 2011 at 21:46 UTC

    IMHO,if you work as QA tester, perl will do your work well. But in terms of evolving, perl is not good enough yet. At least I've been waiting for a type system, a good B::C module and a jit in perl5 for years, and it's like that i have to continue my waiting(add oil! Reini Urban! ;))

    And perl6 is of course the future of perl, consist grammar, plenty of features and better oo, I've been drooling for it years too. But I think too big ambition of parrot authors has delayed its coming. sooner they focus on perl6 development other than javascript, lua, ruby etc, faster we can enjoy the brand new perl.





    I am trying to improve my English skills, if you see a mistake please feel free to reply or /msg me a correction

      And [Perl 6] is of course the future of perl...

      It's been the future for eleven and a half years. The only concrete thing you can really say about it these days is that it'll continue to be the future for the foreseeable future.

      I think too big ambition of parrot authors has delayed its coming.

      More like several years of no runnable Perl 6 implementation to guide the evolution of Parrot followed by several years of perpetual rewrites of the existing Perl 6 implementations.

      sooner they focus on...

      Neither volunteer effort nor volunteer interest is fungible.


      Improve your skills with Modern Perl: the free book.

        What is like the worst case ETA for production ready Perl 6?
      At least I've been waiting for a type system, a good B::C module and a jit in perl5 for years, and it's like that i have to continue my waiting
      And, what was your contribution to get any of this implemented?
      But I think too big ambition of parrot authors has delayed its coming. sooner they focus on perl6 development other than javascript, lua, ruby etc, faster we can enjoy the brand new perl.
      And what has your contribution to Perl6 or any of its implementations been?
Re: Why do people say 'Perl' is dead?!?!
by morgon (Priest) on Nov 13, 2013 at 09:29 UTC
    You can argue forever about what constitutes a dying language from a purly technological or sociological point of view.

    Imho Perl has still a great community and is a good (and even improving) technology.

    But (at least that is my impression) there is one area in which Perl is definitely dying and that is as an asset for contracting jobs.

    There are of course still Perl-jobs to be had but most of the projects are not very interesting maintanance work only - and it is getting worse every year (or so it seems to me).

    Maybe the situation is better if you go on a pay-roll for a company such as Booking but for freelancers I guess Perl in a terminal stage.

    Or has someone different experiences?

      Someone posted some graphs and such here on PM, sorry I’m too lazy Perl-virtuous to look it up, that job postings for Perl are actually pretty flat for a long time and much higher than some languages with more buzz like Ruby. My anecdote is in agreement: I consistently get 5–7 cold calls from recruiters/headhunters for Perl related jobs per year going on … I’ve lost track? Six years I think. My salary has steadily increased over the last 10 years as well.

      Those who say Perl is dead are mostly purist software engineers. I am an Aerospace/Mechanical Engineer and Perl is absolutely one of those secret little gems that can make you a hero. I have been using Perl and Tk and now Tkx since the mid 90's and am self taught. I don't want to learn C++ since I'm not in Software. Perl fit the bill perfectly for manipulating large pieces of data and even doing scientific programming and since I know UNIX, Perl was very easy for me to learn. Perl is alive and well and cherished by the non-software engineers. Only software purists will say Perl is dead.
Re: Why do people say 'Perl' is dead?!?!
by Anonymous Monk on Feb 25, 2013 at 04:39 UTC
    Perl is very much a niche language.

    It may seem like an easy language to learn, but it is the hardest language to master. Perl's philosophy of 'There's more than one way to do it' can be a serious problem. If there are n number of ways to do something, it means you have to know all n number of ways because you do not know what 'way' another programmer may employ.

    I am guessing the average programmer gives up on Perl.

      In natural languages, there are two kinds of vocabularies. Active and passive one. Active is that you('d) use yourself, passive is what you can understand. The later is usually much bigger and much easier to extend. Guess what, the same thing works with Perl. You do not have to actively use all the ways, at most you have to understand the most common ones. Besides once you get above the syntactic level there are more than one ways in any language.

      Jenda
      Enoch was right!
      Enjoy the last years of Rome.

      Perl is very much a niche language.

      Sure, thats why they call it a glue-language or swiss-army-chainsaw, because it is only useful for small "niche" applications

      Perl got all the attention because of CGI and no alternatives were there. That was just a temporary phase. Now perl has gone back to being perl. Perl is not for the average programmer. The perl community prides itself in its motto, 'there is more than one way to do it'. That actually is the problem for the average programmer.
A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://942984]
Approved by Marshall
Front-paged by Marshall
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2024-03-29 10:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found