Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Perl is dying

by Anonymous Monk
on Jul 14, 2006 at 15:22 UTC ( [id://561229]=perlmeditation: print w/replies, xml ) Need Help??

Six years ago Perl was the undisputed king of scripting languages. Python, Ruby and a cadre of others were riding its coattails. We were promised a new version that would right the wrongs of the previous; a complete rewrite based on a new, state-of-the-art VM, a VM which other scripting languages would presumably adopt too. One VM to rule them all, was the mantra. Now, six years later, Perl 6 is still not out, no one outside of the Perl community cares about Parrot, and those other, "lesser" languages have overtaken Perl in almost every field. Perl hackers are jumping ship and potential Perl hackers are choosing other languages instead. Perl is now fast on its way to irrelevancy.

Why is this happening? Well, as I see it, there are several primary reasons Perl is losing marketshare. The first is actually quite simple.

Perl became a popular language for one reason and one reason only: CGI. For about five years Perl was the only real choice for web apps. If you wanted your website to do anything more than spit out the same static HTML over and over again, you used Perl. This is why people flocked to it in droves. Not because they liked the philosophy behind Perl or because Larry's just so awesome, no, they learned Perl because the web was the future and Perl was its "duct tape"--at least, for a while.

CGI's shortcomings are well-known: a new process is spawned for each invocation; no session-handling; no persistence--HTTP 1.0 technology. mod_perl solves these problems, but not without causing problems of its own. Unfortunately, mod_perl is too powerful. That statement might sound outrageous to you, the wielders of the Swiss Army Chainsaw, but think about it for a moment. Scripts running under mod_perl can screw around with Apache itself. They can even shut it down (by accident!). This means that it's unsuitable for shared hosting environments. If you wanted decent performance from your CGI scripts, you'd have to buy your own server or switch to Windows and port everything to ASP. This left a void, a void that's been filled by PHP, and now Ruby on Rails too. Mason and Template Toolkit are great, but people aren't going to buy a server just to use them when PHP is good enough and offered by all decent web hosts. The new blood that the web brought into Perl is now going to PHP, Ruby and even Python instead.

The Perl community seems to have always had a rather snobbish attitude towards the web. Tim O'Reilly admitted as much in this article. He describes how the authors of Programming Perl (2nd ed.) scoffed at him for suggesting they focus more on web development in the book. Well, despite what Perl snobs may think, people are not going to learn Perl because it's cool and "post modern." When the uninitiated look at Perl, all they see is a scary, confusing mess of ASCII. They're not going to bother with a language like this unless there's a compelling reason to, and the web was, for the longest time, that compelling reason. No, just being "really good" isn't enough. Lot's of languages claim to be really good and where does it get them? Look at Dylan, Eiffel, Haskell or any other "really good" language that no one uses.

Even if the Perl community hadn't let the ship sail on web development, Perl still has other problems, one of which has been endemic almost since Perl's inception.

Most of the people writing Perl code today aren't real programmers. They're systems administrators or hobbyists. They never learned "proper" software development techniques so their code is almost always a mess. Ugly, inconsistent and largely unreadable to those that lack a firm understanding of the language (at least 2-3 years experience), it's this ugly code that turns new people off to Perl and gives it its reputation (though undeserved) for being a write-only language. Well-written Perl code is a thing of beauty (and still shorter than the equivalent in any other language), but I would guess that less than 5% of the Perl code out there fits into this category.

What's amazing is that the Perl community not only accepts and encourages bad code, it's outright hostile to those who don't. I've seen people raked over the coals (even on Perl Monks) for suggesting cleaner alternatives to the Schwartzian Transform or suggesting using named variables instead of $_. More amazing, the hostility is usually from some smug sys-admin that's never worked on a large software project their entire life. I'm not saying you can't use those features, but the level of hackishness and amateurism I see regularly in Perl scripts is appalling. It seems like terseness wins out over clarity every single time.

Then, finally, we have the Godot that is Perl 6. If I didn't completely agree with Joel Spolsky's dire warnings against code rewrites before, I do now. Instead of shoehorning Perl 6 features into the aging Perl 5 codebase, the Perl Gods chose to do a complete rewrite. Just like Netscape with the Mozilla project, the Perl Gods got all sorts of lofty aspirations; a register-based VM, opcodes for other scripting languages, etc., etc. Just like Netscape, they went off on their own and toiled for the better part of a decade while the competition ate away at their market share. Unlike Netscape, though, they still have nothing to show. Not even a usable beta.

Chromatic wrote an article where he pondered the future of Perl, questioned whether Perl was stagnating, then, of course, concluded that it wasn't. Well, I'm here to tell you today that Perl is stagnating. People are abandoning it. It may not be noticeable now, but believe me, in another five years it will be.

Perl needs a new, snazzy web application server right now. Something that has the performance of mod_perl but doesn't expose Apache's internals; something as easy to install as PHP or RoR, with a great name and a great API. (A toned-down version of mod_perl coupled with T2T and Mason would suffice.) Perl hackers need to get their act together. Stop writing bad code, or at least write less of it. (Read Code Complete 2 for starters.) Finally, Perl 6 needs to come out in some form this year. Not in 2008 or 2010. By then, no one will care. Shelve all nonessential features; save them for future versions. Just get something out now that people can play around with so you can say "Perl 6 is here!" Unless these steps are taken, Perl will be, for all intents and purposes, "dead" in a few years.

(Posted anonymously, since downvotes are bound to ensue. Also 'cause I forgot my password.)

Replies are listed 'Best First'.
Re: Perl is dying
by chromatic (Archbishop) on Jul 14, 2006 at 19:33 UTC
    Perl became a popular language for one reason and one reason only: CGI.

    Wrong. The universe did not begin in 1994.

    The Perl community seems to have always had a rather snobbish attitude towards the web.

    Nice synecdoche, but it's a logical fallacy.

    Well, despite what Perl snobs may think, people are not going to learn Perl because it's cool and "post modern."

    Strawman. Citation please.

    Most of the people writing Perl code today aren't real programmers.

    What is your definition of a "real programmer"? It's difficult to argue against this without a definition.

    What's amazing is that the Perl community not only accepts and encourages bad code, it's outright hostile to those who don't.

    Look, that synecdoche problem again.

    I've seen people raked over the coals (even on Perl Monks) for suggesting cleaner alternatives to the Schwartzian Transform or suggesting using named variables instead of $_.

    I've seen people lambasted for believing that U.S. Astronauts actually landed on the moon too.

    Instead of shoehorning Perl 6 features into the aging Perl 5 codebase, the Perl Gods chose to do a complete rewrite.

    Have you tried to add a feature to Perl 5? I have. Perhaps you should listen to the people who've patched Perl 5 when they say "Ouch. That hurt."

    Well, I'm here to tell you today that Perl is stagnating.

    I wrote the article to which you responded, so I'm a primary source. Therefore, my opinion wins.

    Perl needs a new, snazzy web application server right now. Something that has the performance of mod_perl but doesn't expose Apache's internals; something as easy to install as PHP or RoR, with a great name and a great API. (A toned-down version of mod_perl coupled with T2T and Mason would suffice.)

    I completely agree.

    Finally, Perl 6 needs to come out in some form this year. Not in 2008 or 2010. By then, no one will care. Shelve all nonessential features; save them for future versions. Just get something out now that people can play around with so you can say "Perl 6 is here!"

    Contributors welcome.

    If you haven't or don't contribute, go fall off of a cliff, learn Ruby, become a circus clown, lock yourself in a little box for ten years eating food through a straw, or pack it all in to paint Elvis on velvet. I don't care. Your opinion doesn't matter.

    Posted anonymously, since downvotes are bound to ensue.

    Only the depth of your whiny martyr complex surpasses your unbound self-described courage.

      Perl needs a new, snazzy web application server right now. Something that has the performance of mod_perl but doesn't expose Apache's internals; something as easy to install as PHP or RoR, with a great name and a great API. (A toned-down version of mod_perl coupled with T2T and Mason would suffice.)

      I completely agree.

      Why aren't people shouting about Catalyst!

      It's the best thing to happen to Perl in a long time.

      Walking the road to enlightenment... I found a penguin and a camel on the way.....
      Fancy a yourname@perl.me.uk? Just ask!!!

        The last time I looked at it, it had almost no usable documentation, a weird development process that made a lot of existing software obsolete very quickly, and some design decisions that frightened me. That was several months ago; I haven't had time to look again.

        It's also not a replacement for mod_php, which is what I believe the original poster wanted.

      Wrong. The universe did not begin in 1994.

      Right. And how many people used Perl before 1994?

      Nice synecdoche, but it's a logical fallacy.

      How? For as long as the two have coexisted, the Perl community has been snobbish towards the web, with a "you need us more than we need you" attitude.

      Strawman. Citation please.

      Citation? To what, a Zogby poll? Ask Perl programmers why they learned Perl. Most of them will tell you, Because of CGI.

      What is your definition of a "real programmer"? It's difficult to argue against this without a definition.

      Someone who knows how to write good, solid, maintainable software, and does so either as an occupation or during their free time.

      I've seen people lambasted for believing that U.S. Astronauts actually landed on the moon too.

      Yes, people often get attacked for telling the truth.

      Have you tried to add a feature to Perl 5? I have. Perhaps you should listen to the people who've patched Perl 5 when they say "Ouch. That hurt."

      Why, Chromatic, just refactor it over and over again! Isn't that what you XP zealots always tell us? Unless you think it would have taken equally long (6+ years) to reshape the Perl 5 codebase into Perl 6, then I think you'd have to admit that the rewrite was a big mistake.

      Contributors welcome. If you haven't or don't contribute, go fall off of a cliff, learn Ruby, become a circus clown, lock yourself in a little box for ten years eating food through a straw, or pack it all in to paint Elvis on velvet. I don't care. Your opinion doesn't matter.

      See, that's the thing. I don't expect you or the rest of Perl's upper-crust to abort their doomed course just because I, a lowly Perl hacker, says to.

      My intent here was to say the things I felt needed to be said about Perl's future. As a Perl programmer of many years, one with work up on CPAN, one who's contributed to other people's work on CPAN, one who's helped people here and elswhere, I feel I'm entitled to be critical of Perl and its community (of which I'm a member).

      Only the depth of your whiny martyr complex surpasses your unbound self-described courage.

      I posted something controversial here once, and guess what happened? Some asshole downvoted everything I posted in the thread, then went and downvoted--over the course of several days--all of my past writeups, some of which fell below the depth most people view at. These were helpful posts (answers to SoPW questions, mostly), but that didn't matter to this person. That's why I'm posting this anonymously. Try ruffling some feathers here and see for yourself how petty some Perl Monks can be.

        My intent here was to say the things I felt needed to be said about Perl's future.

        Through overgeneralizations, argument by authority, argument by repeated assertion, and ad hominem attacks? That does no one any good.

        Wrong. The universe did not begin in 1994. Right. And how many people used Perl before 1994?

        I know I did. My earliest published code is a delayed qmail notifier (no longer supported) from 1997, and I know I was using perl long before that time. In fact, IIRC, I wrote some game theory processing for a checkers game (studying AB pruning) in 1993 or 1994. I went through the Perl4 / Perl5 conversion.

        --MidLifeXis

        Quoth chromatic: Only the depth of your whiny martyr complex surpasses your unbound self-described courage.

        That's why I'm posting this anonymously. Try ruffling some feathers here and see for yourself how petty some Perl Monks can be.

        Ignore chromatic. He's prone to this kind of name calling, and then moments later he'll be lambasting you for "ad hominem" attack.

        Don't worry about him. Those of us who are experienced with Perl can see it's flaws; and those of us who remember Topaz or the perl compiler projects will can see that Perl 6 will be no more sucessful than those embarassing chunks of perpetual vapourware...

          A reply falls below the community's threshold of quality. You may see it by logging in.
        all of my past writeups, some of which fell below the depth most people view at.

        You must be confusing PerlMonks with some other site (slashdot or use.perl?) because PerlMonks has no "don't show me nodes with a reputation below X" feature like some sites do. So the only "damage" was to your XP or to the reputation shown on the node to those who voted on it, neither of which is likely to change how helpful a node is.

        Seeing that that article is some 7 years old does that make Perl a "Post-Post-Modern" language now then?

        Surely the whole "post modern" bubble has gone now, much like the Web 2.0 thing will at some point. Declaring a paradigm change by fiat is just, well, so post modern...

        ;-p

        /J\

        No, the part where Perl snobs think that people will learn Perl because it's a postmodern programming language, not the speech where Larry said he considers it a postmodern programming language.

        Did you notice that article was 7 years ago?
Re: Perl is dying
by theorbtwo (Prior) on Jul 14, 2006 at 16:12 UTC

    Well, there's a few things you can do, personally, to save perl. First thing, stop thinking of mod_perl when you think of a faster CGI. Instead, think of FCGI. It's everything you say you wish mod_perl was.

    Also, while you've got some points with perl6, I think the community can show at least as much by getting 5.10 out the door, and good work is being done by the perl5-porters on that front.

    Thanks for the post, though. Esp. the link.

    Edit: The link I meant was How Does a Programming Language Stagnate, by chromatic. The replies are particularly interesting. Thanks, jdporter, for pointing out that I didn't specifiy what link. (And thanks for correcting my spelling too.)


    Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).

      The link that theobtwo identified is well worth looking at, especially the second reply by Peter Scott.

      There is definitely a need for a pre-packged collection of those modules with features that are expected to be part of Perl6, but exluding the filters and such that are not production-level reliable. As Peter Scott observed in that link,How Does a Programming Language Stagnate, ease of use by those who don't yet have extensive knowledge is an area where Perl5 could use some catching up reletive to competitors. Among other things, he says

      So you've got to be clued into which "hip" modules to load just to get Perl behaving the way many people think it should. The standard documentation doesn't have a roadmap leading people in this direction; they pretty much have to dig around and keep up with the latest Perl news and books.
      While the synopses and exegeses are quite well written and quite satisfying for the many in this forum with the necessary interest and background, a summary for those programmers that are less a part of the process could be wise insurance. It would take time from someone with authoritative knowledge, so it might be stealing resources from the speedy advance of the Perl6 project, but I think it would be worthwhile insurance that the full complement of users is still there when Perl6 is production-ready.

      Oh, of course, FastCGI, that project that's been virtually dead for years, with a homepage that looks exactly like it did back in 2001. Certainly this can standup to the enormous hype of Ruby on Rails!

      Look, CGI is old and boring. It doesn't matter if you tack on "Fast" to it; people see "CGI" and walk away. Perl needs something like Ruby on Rails. It can even be assembled from existing technology (FastCGI, if you like), but it needs a new, catchy name, and it needs to be marketed. Look at AJAX. AJAX is pretty much Dynamic XHTML. It's 5-year-old technology, but slap a new acronym on it and all of the sudden people take notice.

        Uh, Ruby on Rails runs on FastCGI.

        Hype isn't just generated by having a flashy homepage; it's also something generated by lots individuals. If you keep pointing out mod_perl, you perpetuate the myth that mod_perl is the best way to do not-CGI with perl.

        Would a better name and a better homepage fix things? Possibly, but not if people keep talking about mod_perl instead of fastcgi.

        All web based applications are CGI. Arn't they? Did I miss some change? Could be, dunno.

        AJAX: Actualy AJAX is new becuase it involves a new process (retrieving data from the server after the page has finished loading.

        Are you realy saying now that it doesn't even matter if the code/language is good or bad, it just doesn't have enough hype? Realy if your only concern is hype then start hyping the language instead of saying its dieing.

        Honestly if your the same AM as the OP then I'm very disappointed because the original rant was actualy quite well written and thought out, while this argument was just lame.


        ___________
        Eric Hodges
        Except Rails uses FastCGI for deployment too....
        AJAX stands for Async Javascript and XML... not XHTML
      A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Perl is dying
by eric256 (Parson) on Jul 14, 2006 at 16:06 UTC

    It isn't that we haven't heard this before. And it isn't that it isn't true in some respects. However you are kidna confusing me in a few respects. You mention that perl should focus on web scripting, but then complain that most people using perl arn't realy programmers and they write messy code. Being easy to pick up and use is a feature. A very nice feature in fact. It causes some messy code, and it allows some non-programmers to actualy hack something together. These are blessings and curses, but thats how perl is.

    You do act as though perl is only a web scripting language and nothing more, and that to be usefull in any way it neesd mod_perl. Those are pretty much all false. About half of the perl i right is web based, the rest deals with text processing that is realy hard to do in other languages. If I need to parse an input, format an export, manage a database then perl is where i reach. Before I could get any other language to connect or handle most those thing i would be done with 2 or 3 perl projects. If I was more profecient in other languages then this might not be the case, but the fact is you can do lots of stuff with perl long before you reach a "Proficient" level.

    Perl6 is thankfully a seperate beast from perl 5. This is good because perl 5 is continuing to be maintained and is not on hold while those building perl 6 do their thing. Is perl 6 taking too long to come out? Probably, but since this is all volunteer work it is hard to push. Find someone to pay for it and i'm sure you could get it out faster, but thats not realy the perl way. Their goal is to have something better than our current perl, but still just as easy to pick up and use. Few other languages can boast both the easy of use and depth of power that perl has and that is its strenght not its weakness. This strenght results in some bad code and some misconceptions but it also gave us all a great language.

    One last bit. I didn't start with perl because I wanted a scripting language for web pages. I started with it because I wanted a language that handled memory, dynamic arrays, strings, and hashs without me having to code them. Actualy i'd just finished writing myself a script language in C++ that did all this and while researching ways to improve it I found perl, junked my own mini-language and never looked back. I still dable in C++, VB, ASP, PHP, etc, but when it comes to getting a job done quick I pickup perl, get it done, then go back to playing ;)

    P.S. five years ago when I started perl, people said it was dieing. Guess they were wrong! ;)


    ___________
    Eric Hodges
      I have two representative data points:
      1. About four years back, the programmer we hired straight out of college started us off using PHP. He was a very competent Perl programmer, but he said access to session info and to the database was a lot easier in PHP when doing something small. The only thing that stopped further growth of PHP development in our shop was an old BSDI Unix box that didn't handle threads properly. Without that old box, scripts in PHP (and maybe Ruby) would be a significant part of our code. There's a strong draw to knowing about and participating in the thing that's "happening". That, coupled with even moderate technical merit, is enough to draw people's attention to something.
      2. At a 4th of July picnic this year, an Electrical Engineering professor (whose interest is other than programming) was suprised to learn from me that Perl was a large and full featured language, and that we were planning to translate our older core software into Perl. She thought Perl was mostly just for web scripting, and pretty much the "old guard" for doing that .
      IMO, Perl is a strong language, for now, with CPAN, discussion of best practices, and Perl6 doing a great deal to strengthen it. However, it's still worth paying attention to the issues raised by the OP, and illustrated by the two data points above. We want to keep our favorite language as strong as it should be.

      The number of people using a language decreases when losses outnumber gains; when the number who wander off and start using something else that looks more intriguing outnumber those who try it, like it, and stay with it.

      Perl needs a new, snazzy web application server right now. Something that has the performance of mod_perl but doesn't expose Apache's internals; something as easy to install as PHP or RoR, with a great name and a great API. (A toned-down version of mod_perl coupled with T2T and Mason would suffice.)

      This is good advice which addresses a real need. It's worthwhile focusing some attention on this aspect of what will make perl stronger in the long term, however long it takes for Perl6 to be usable in production code.

      I disagree with the OP on Perl6, both in content and style. The rewrite of the language is needed, whatever you think of the role of Parrot. Also, saying that it's taking too long just irritates those who are generously contributing their time and creativity (to whom the rest of us should be very thankful), and it does nothing to recruit more hands to the cause. It's better to say something like "Perl6 needs to get out there soon to ensure that your favorite language remains strong and healthy. Help wherever you can. Here's how ..."

      Eric, I never suggested Perl was only a web scripting language. My point was that web scripting is what made Perl mainstream. Before the web it was just a fringe language. If the Perl community had only realized this and tried to accommodate web developers better, then Perl might still be attracting lots of new programmers.

      There needs to be a compelling reason for people to learn Perl, otherwise the language will begin to rot. It doesn't have to be web scripting, but it needs to be something. Perl just being a great language isn't enough. Python has almost completely taken over the desktop scripting market that Perl was once making great inroads into. When people want to write small to medium sized GUI programs, they turn to Python, not Perl. PHP is now on the command line too. Ruby has surged in popularity in the past year or two, almost entirely because of its new web development platform Ror. These other languages are growing. Perl is shrinking.

        "Python has almost completely taken over the desktop scripting market that Perl was once making great inroads into".....seriously? I mean maybe it has while i've been hiden away in my turtle shell. I certainly know it is common to come across VB and C++ solutions, maybe even Java, but i've never been searching for something and come across python at all. That's hardly proof that it isn't taking over, just that if it is, I've failed completely to notice. Is there even any way to prove that type of thing? If so what kind of metric would you use and can you compare a couple of language?


        ___________
        Eric Hodges
Re: Perl is dying
by jZed (Prior) on Jul 14, 2006 at 16:14 UTC
    Is Perl "less popuplar" than it used to be ... perhaps. So what? That does not mean that it is dying anymore than the fact that fewer people read books these days means that soon no one will read books. Instead of obsessing about meaningless "market share" "statistics", just answer two questions: what other language has as vibrant and active an online community as perlmonks? and what other language has as large and diverse a repository of modules and libraries as CPAN?
      Is Perl "less popuplar" than it used to be ... perhaps. So what?

      Some would argue it's a benefit. Many people in technology are obsessed with the bleeding edge -- the ones who rush to learn a new language, so they can assert their superiority over everyone else, or just because they like learning.

      That's fine -- there are always going to be people like that, and for the most part, they're going to quickly complain, and/or jump ship to whatever next new language comes along. Why? Because they're adopting too early in the hype cycle.

      I'd personally say that Perl is comfortably in the 'Plataeu of Productivity'. It's well established, its shortcomings are known, and we can set realistic expectations on projects written in it.

      There's always going to be the group of language nomads -- they can't settle on a language, because they're just never happy. They're the ones pushing Ruby now ... maybe they were last on Python, or Java, or whatever else. In some ways, every good programmer should learn experiment with other languages -- see what the alternate tools are that are out there, so they can make an informed decision about their language choices.

      I personally like a language where there are a good number of experts to refer questions to, rather than watching a community of newbies struggle along in the dark as they all try to implement the same things with varying degrees of success.

      Amen to jZed ... with one small caveat re 'meaningless "market share" "statistics"' ... which I believe should read 'meaningless "market share statistics assertions, unsupported by data"' or, perhaps, 'assertions of questionable reliability.'

      And likewise, "amen" (with only minor kvetches) to prasadbabu , nimdokk, jdporter, eric256 and others above...

      (Implication of the following is likewise unsupported by data, I concede:)

      Someone once observed that rumors of his death were greatly exagerated.

      Is Perl "less popuplar" than it used to be ... perhaps. So what?

      As a counterpoint, if I want to script Poser (a 3D graphics app I own) I have to use Python. If I want to mod Civilization IV then again, Python is required. And even games that do not advertise the ability to mod are using Python, such as the second Freedom Force game. So quite frankly, I think Perl's reputation does matter. The less popular it becomes then apparently the more likely I am going to feel pressured to learn Python.

      And I think it goes without saying that there are ramifications for those of us who use it to help make a living. If nothing else, if it is considered "old school" then it could become a liability on a resume. For sysadmins I seriously doubt it has reached that point. On the other hand, I think it's a lot coser with PHP vs. Perl. I mean, I think I'd rather have PHP on my resume today if I was appplying for a web development position. [ Sheds tear. :( ]

      -- Argel

      Update:Fixed typos/grammar

Re: Perl is dying
by shmem (Chancellor) on Jul 15, 2006 at 00:46 UTC
    Ah. Anonymous Monk is looking into the future. Well then, I'll look a bit into the past (my past) to contribute something that might be interesting.

    Way back I was programming on a nifty CAD program on the ATARI ST, in GFA Basic, and my extensions to it earned me a job at the university which roughly consisted in documenting their UNIX network and help to solve problems. I had no clue of programming when I started on that CAD thingy, and I had no clue of UNIX either but sat at a SPARCstation IPC running SunOS 4.1.3 and was supposed to deliver something useful. Took me about half a year self-teaching me the use of shells, sed, awk, tr, uniq, sort, oodles of other binaries to get a grip on what UNIX is about, I dabbled with yacc, nm, ld and so on.. well, the documentation was never done. By the time I had the clue there was a budget cut and someone had to go. 'Twas me, since I was not involved in anything vitally important to the institute.

    But meanwhile I did some useful things. My tutor gave me the hint to look at perl whilst I was doing some complicated networking stuff, and when disk quotas became a problem I whipped up a perl shell that behaved exactly like a user's shell, but allowed only operations which reduced the disk space used. Im still working with this shell, 13 years old now, of course without the restrictive part ;-)

    What first struck me with perl were the three virtues of programming, laid out in the pink camel book: laziness, impatience and hubris.

    Note that these virtues are diametral to social virtues:

    laziness <=> diligence impatience <=> patience hubris <=> humility

    These opposites deserve a meditation on it's own. But tell me, is there any other other computing language which takes you to musing about those things right in the first chapter of the book describing it?

    Next job was replacing a Siemens Quattro system with HPUX/X11, and I was supposed to write database stuff without a database, because $customer could not decide on which one to use at that time. I wrote my own, perl and DB_File, it was a mess but ran lightning fast and did it's job for four years at least.

    I spent my time as system administrator, security consultant, perl hacker, networker, software and hardware reseller (not in that particular order), but not in the realm of architecture which I had originally chosen. Ah, yes, and web programming.

    Back to the present.

    I'm not a programmer, but I do it. Things that I work out in perl often prove helpful, and many of them are done in no time, some require "banging my forehead with a book for half a year", but I have never found a task in which I had to "fight my tool", which is perl. Sometimes my code is a mess, sometimes I'm proud of it, but then I get humbled whith what I see e.g. at perlmonks.

    I see perl is shipped with major OS distributions, it is used for kernel builds, administration tasks, bioinformatics, text munging, glue stuff, glue, and glue and glue stuff, and many other things I don't even know.

    The future?

    From my experience, I disagree with you, Anonymous Monk, and I agree with you. "All things must pass", as George Harrison said, but I guess perl will not die anytime soon. Perl is a wonderful tool, and a tool will die and be relegated to a museum when the task for which it was invented no longer exists. Using a better tool is always right, if it helps to "get your job done before your boss fires you." But as for now I cannot see any other tool more apt for this particular task than perl.

    Ah, this is growing long. Just a few condensed points, to repeat other posters:

    • the lowly unix tools sed awk grep tr sort uniq et al continue to exist, being decades old
    • perl is part of virtually any UNIX or UNIX-like OS
    • perl can be considered a standard UNIX tool
    • fastcgi provides a better separation between webserver and content assembling programs
    • it's better to compromise the webserver with mod_perl than compromising your entire server with, say, PHP
    • CPAN is also a playing field and cauldron from which standards arise
    • perl is quite alive, and kicking, as are sed awk grep sh etc

    There are so many things in your post I'd like to gainsay, but time..

    Apologies for length and signal to noise ratio,
    --shmem

    _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                  /\_¯/(q    /
    ----------------------------  \__(m.====·.(_("always off the crowd"))."·
    ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}

      it's better to compromise the webserver with mod_perl than compromising your entire server with, say, PHP

      While I mostly agree with your points, this one misses the intent of the mention of mod_perl's shortcomings, I think. First, there's the fact that while PHP can make it easier for a malevolent security cracker to screw things up with malice aforethought, mod_perl can make it easier for a clueless webhosting customer to screw things up accidentally. Second, whether PHP or mod_perl is the greater risk, it's the risk factor of mod_perl as perceived by the webhosting providers that creates a problem with ease of Perl use for web development, not its actual imposed risks, because that perception induces webhosting service providers to disallow it. It may well be true that mod_perl is a safer option than PHP, but if it's not available to someone that needs to do some web programming, that would-be Perlist will instead become a PHP scripter or Pythonista if PHP and/or Python are more accessible.

      print substr("Just another Perl hacker", 0, -2);
      - apotheon
      CopyWrite Chad Perrin

Re: Perl is dying
by prasadbabu (Prior) on Jul 14, 2006 at 15:56 UTC

    Anonymous Monk,

    I am working in e-publishing company where mainly text processing, HTML, XML process are handled. I am not professional in CGI concepts. As far as i know there is no language equivalent to Perl in text processing and handling regex.

    Could you tell us any other language good in handling text processing and regex?

    "use Perl"

    Prasad

      I'd have to agree here. We do not use Perl for any web applications yet 98% of our jobs are written in Perl because I could write one script and use it on either Windows (running Activestate Perl) or on Unix running the installed version of Perl and you wouldn't need to do anything different becuase of the platform (granted there was a lot of platform specific operations that are done behind the scenes in a custom module). Being able to create a custom module allows us to have scripts that use functions out of that and if we update something, that update is carried out for all scripts using it (one change rather than having to change several hundred scripts in a variety of places). I also use it to parse log files and put them into a coherent format for reporting. Perl also has the advantage of being very fast. I've pulled reports out of logs and been able to parse large amounts of data within a few minutes. Perl's regex's are great as well, I'm in the process of convincing our software vendor to enhance the use of regex's in a program they wrote in Perl.

      I don't think it's dying, perhaps it's just not growing as quickly as some would like. Of course if it really stops growing, then it will die (like any other language in the world - take Latin for instance). However, my opinion is that's a long way off since there is a lot of work being done, especially with CPAN to extend what you can do with Perl.

      Just by 2 pence :-)

        Of course if it really stops growing, then it will die...

        Not that I have any particular disagreement with your overall point here, nimdokk; but I strongly disagree with the meme that "if it ain't growing, it's dying". There's a third possibility: sustaining. And in many scenarios sustaining has significant advantages over growing (not to mention, over dying). To take just one example from biology: humans stop growing at some time around 20 years of age* but we don't really start dying until maybe 70 or 80*. Sure, adolescence has its perqs; but, all things considered, I'm quite happy to be an adult.
        * The exact ages don't matter; let's not split hairs.

        like any other language in the world - take Latin for instance

        Um, that's not why Latin died.

        We're building the house of the future together.
        However, my opinion is that's a long way off since there is a lot of work being done, especially with CPAN to extend what you can do with Perl.

        Actually, that's part of the problem with Perl's waning comparative popularity: languages like Perl, Python, and Ruby gain a lot of mindshare traction via their suitability for the Web, but CPAN actually acts as a demotivator in that realm. When people come up with new code in Perl that they want to share with the world, they stuff it in CPAN — but all those people out there looking to use Perl on their shared-server webhosting accounts are often pretty badly disenfranchised by that approach because they can't just go around installing modules willy-nilly when they often don't even have shell access, let alone root access, on the servers.

        That doesn't even bring up the problem with dependency hell that CPAN-wrangling can often impose on our otherwise apparently simple solutions to commonplace problems. CPAN is great, but it suffers some issues, and these issues most affect the most fertile ground for growing Perlists.

        print substr("Just another Perl hacker", 0, -2);
        - apotheon
        CopyWrite Chad Perrin

      Could you tell us any other language good in handling text processing and regex?
      Ruby.
        Ruby is good at text manipulation. So is Python, even if it does look a little different. The thing is that text manipulation is an innate part of what Perl is. It's so tightly ingrained into the language that Perl is often a first choice for such tasks even if other, prettier languages are available.
      For one, Python. Jim
Re: Perl is dying
by coreolyn (Parson) on Jul 14, 2006 at 16:41 UTC

    At least it's a well written rant. . .

    Perl is my hammer, hence won't die in my world because there are oh so many nails :) All the other languages I know I use by requirement, or because Perl wouldn't be the best choice. If I'm asked to accomplish something the first language I ponder is Perl. I don't recall getting acclaim for the thousands of lines of Java or some obscure 'C' interface that I've coded, but most of my little duct tape wonders get me that, 'That's cool' result that I most enjoy about my work.

    I try to picture Perl going the way of Pascal or Basic and just don't see where Perl won't retain its unique advantages in the 'niche' corners of computing -- with or without Perl 6.

    Rumors of Perl's demise is greatly exaggerated, and rediculously premature.

      Rumors of Perl's demise is greatly exaggerated

      Um, "rumors" is the subject of that sentence, not "demise".

      If you don't want to believe me, believe Mark Twain:

      The reports of my death are greatly exaggerated.
      We're building the house of the future together.
      A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Perl is dying
by neilwatson (Priest) on Jul 14, 2006 at 17:15 UTC
    Many do not take CPAN into account when they consider the value of Perl over other langauges. Thousands of pre-writen applications and subroutines available for free.

    Neil Watson
    watson-wilson.ca

    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Perl is dying
by derby (Abbot) on Jul 14, 2006 at 16:53 UTC

    Now see ... I thought this was standard troll bait until I came to this paragraph:

    Perl needs a new, snazzy web application server right now. Something that has the performance of mod_perl but doesn't expose Apache's internals; something as easy to install as PHP or RoR, with a great name and a great API. (A toned-down version of mod_perl coupled with T2T and Mason would suffice.)

    Except for the PHB remark about a *great name*, this is an excellent idea --- when will your code be available on CPAN?

    What? You're not going to do it? So then this is not a case of If not me, than who? but Not me, you. Be a man about it ... You noticed the shortcomings, you identified a need ... start scratching yourself and if my itch matches yours then maybe I'll jump in and help.

    -derby
      Hmm, if that's so, why has no-one mentioned Catalyst, or Jifty yet?

      C.

        Maybe people aren't mentioning Catalyst much because:

        1. It suffers from CPAN Dependency Hell.
        2. It's not portable or accessible for people with <$10/mo. webhosting accounts.

        print substr("Just another Perl hacker", 0, -2);
        - apotheon
        CopyWrite Chad Perrin

Re: Perl is dying
by Jenda (Abbot) on Jul 14, 2006 at 20:44 UTC

    I'm sure I'm gonna repeat what others must have said alerady. I don't give a damn about CGI. Out of all the stuff I do in Perl, CGI (or some other way to put dynamic content on the web) comprises just a few percent. Very few. And I'm far from being an exception. Yeah, newbies who want a counter on their web page are not flooding Perl newsgroups and mailing lists with their "how do I sum two numbers" type questions anymore. I can't say I miss that.

    Programming gt WWW && WWW gt pages.

    BTW, cleaner alternatives to Schwartzian Transform? A hard to use and hard to learn module because someone can't grok the concept? Maybe we should dump closures and unnamed subroutines too. Some people can't grok those too. Usualy the same people.

      The ST is suboptimal among several axes. Its only real advantage is that it’s a single expression. I don’t know why people insist on using it in places where that’s of no benefit.

      And no, none of the alternatives I use involve modules. Next time, try to argue without putting up a strawman and then adding a slippery slope to it.

      Makeshifts last the longest.

      Maybe we should dump closures

      Don't you dare! I may have to burn down your house if you do that.

      print substr("Just another Perl hacker", 0, -2);
      - apotheon
      CopyWrite Chad Perrin

Re: Perl is dying
by Marza (Vicar) on Jul 14, 2006 at 18:32 UTC
    Perl Programmers are snobby?!?!?!?! Say it isn't so!

    The problem with that claim is that you should drop Perl and simply say that programmers can be snobby.

    I have found snobby C, C++, Assembler, Python, Perl, Fortran, Pascal, and even Cobol programmers.

    Even you my friend are a snob:

    Most of the people writing Perl code today aren't real programmers. They're systems administrators or hobbyists. They never learned "proper" software development techniques so their code is almost always a mess. Ugly, inconsistent and largely unreadable to those that lack a firm understanding of the language (at least 2-3 years experience), it's this ugly code that turns new people off to Perl and gives it its reputation (though undeserved) for being a write-only language. Well-written Perl code is a thing of beauty (and still shorter than the equivalent in any other language), but I would guess that less than 5% of the Perl code out there fits into this category.

    What's amazing is that the Perl community not only accepts and encourages bad code, it's outright hostile to those who don't. I've seen people raked over the coals (even on Perl Monks) for suggesting cleaner alternatives to the Schwartzian Transform or suggesting using named variables instead of $_. More amazing, the hostility is usually from some smug sys-admin that's never worked on a large software project their entire life. I'm not saying you can't use those features, but the level of hackishness and amateurism I see regularly in Perl scripts is appalling. It seems like terseness wins out over clarity every single time.

    If you have even worked in the world of system administration, you would find that management doesn't care about the beauty of code. They want something fast. Most of the time the scripts are only to answer a small problem, a status check, a report, or a simple monitor. Writing beautiful perfect code would not offer much to the task at hand.

    However, if you were writing a database system, a production management system, etc, then you are correct. Care must be taking in the design. Never mind the fact that a full blown Perl developer is writing those kind of systems.

    I could be wrong, I have never taken part in a large software development project. I am only a system administrator. ;)

      Perl Programmers are snobby?!?!?!?! Say it isn't so! The problem with that claim is that you should drop Perl and simply say that programmers can be snobby

      Alas, I think Perl programmers are snobbier. How many times in this site have you seen posters go apolpletic because some poor sod wrote "PERL" instead of "Perl", or a n00b got blasted with RTFM because they haven't learnt perldoc yet

      I remember an experienced Perl programmer saying on the Krang list that he would be more gentle on Perlmonks posters after he received a lot of patient answers to his Krang questions. The fact is that not everyone is a guru programer, and some people will struggle because Perl programming is not their forte, but they still have to get the job done.

        Yeah, how dare you people point out that they're wrong. How dare you people point out their ignorance and where to remedy it.

        We should coddle them and inculcate their incorrect notions and ignorance. Perish the thought that they should be pointed to the ample documentation where they can help themselves and improve in the process. Everyone should be spoon fed whatever they need immediately regardless of the effort they've exhibited. Otherwise it might mortally wound their fragile self esteem. Or they might get the idea that programming is an intellectual endeavor with certain inherent rigors. Perish the thought.

        Shame on you all.

        What? . . . Oh, sorry. Sarcasmometer was set to 11. Let's just dial that back a bit, shan't we?

        I've never seen anyone go apoplectic over "PERL". This is apoplectic:

        GOOD FRELLING GRIEF, WHAT KIND OF FRAKING MORON ARE YOU! EVERYONE AND THEIR SISTER'S DOG KNOWS THAT "PERL" IS NOT AN ACRONYM YOU VACUOUS, TOFFEE-NOSED, MALODOROUS PERVERT! IT'S "perl" OR "Perl" YOU SECOND HAND ELECTRIC DONKEY BOTTOM BITER!

        This is what usually happens:

        "Perl" is the language, "perl" is the implementation; "PERL" is just wrong.

        See the difference?

        As to being told to RTFM, most of the time that's probably because:

        • the querent asked an extremely trivial question
        • the querent showed no effort on their part to begin with
        • it's an extremely simple question to begin with
        • TFM answers said question rather succinctly to begin with (that, you know, kinda being the purpose of having good documentation)

        The few times I've gotten RTFM'd on a couple of the Ruby IRC channels it's shown me where to find TFM that I wasn't aware of (things like ri or the standard library docs online). An RTFM is also a form of teaching you how to fish for yourself.

        A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Perl is dying (“hostile to good practice”?)
by Aristotle (Chancellor) on Jul 15, 2006 at 12:55 UTC

    What’s amazing is that the Perl community not only accepts and encourages bad code, it’s outright hostile to those who don’t.

    Are we in the same community? I’ve seen that sort of behaviour in isolated programmer cliques that have no connection to the Perl community at large and where Perl is used for what are deemed throwaway tasks – such people often develop weird notions about the value of cleverness or even outright golfing. But the larger community? Perlmonks has a sometimes unhealthy obsession with strict and warnings. I’ve been evangelizing three-arg open, tightly scoped variables, the use of foreach(LIST) over for(;;) etc. wherever it isn’t too wildly off-topic. There were long threads about inside-out objects on Perlmonks ages before they showed up in Perl Best Practices. TAP, the Test Anything Protocol that originated from the Test::Harness family of modules, is being absorbed by other languages. I could go on endlessly about the ways in which the Perl community really cares about code quality and is at the forefront of innovation and evangelism in that area.

    I’m not saying you can’t use those features, but the level of hackishness and amateurism I see regularly in Perl scripts is appalling. It seems like terseness wins out over clarity every single time.

    No doubt, but the level of roundabout pretzel logic and amateurism I see regularly in Java code is appalling too. It seems verbosity wins out over clarity every single time.

    Terseness is not the opposite of clarity. That’s verbosity. Clarity lies somewhere half-way between the extremes, but finding the balance that achieves it is a really hard discipline that few people master.

    Makeshifts last the longest.

Re: Perl is dying
by explorer (Chaplain) on Jul 14, 2006 at 16:42 UTC
      Interesting stats. Perl gets half the share of PHP, twice the share of Python, 10 times the share of Ruby. I guess there aren't as many PHP hackers as I thought.

      Well obviously now is the time to get your foot in the door with these hot new up-and-coming languages like Pascal or Ada.

      This statistics page is a lot of fun, like the computer language shootout, but I think of it for entertainment purposes only. It's part of a set: telephone psychics, political speeches, and computer language statistics.

        You are right:
        The ratings are calculated by counting hits of the most popular search engines.
        The search query that is used is +"<language> programming"

        ...
        July's Newsflash
        • From this month on we also measure the hits of Google Blogs. The languages that benefit from this are Java, Visual Basic, Ruby, and VB.NET. On the other hand, Ada, D, dBase, and Fortran have a lower rating now because they are not popular in blogs.

        • There was a funny mail from Marcelo Barros de Almeida. He suggested to search for the query "<language> sucks" (sorry for this term) to get a feeling about languages that are unpopular. The top 5 is 1. Java, 2. PHP, 3. C++, 4. C, and 5. Ruby.

        Ok... This explain the high mark of Visual Basic over Perl.
        Now, I will go to my blog page and fill it with "Perl programming"... :-)
Re: Perl is dying
by thraxil (Prior) on Jul 17, 2006 at 01:53 UTC

    I don't know that Perl is dying, but there is an exodus going on. I will offer myself up as a data point.

    I used to be a serious Perl programmer. I spent about 5 years coding almost exclusively in Perl and only occasionally sticking my head up to play with other languages. It was a hell of a lot better than Java, which those around me were using and I could crank out applications with more features and better performance in less time than they could without breaking a sweat.

    A couple years back, I got called upon to take over a project that had been started in Python. I wasn't too excited about coding in Python but hey, at least it wasn't Java.

    It took me about an afternoon to go through Dive Into Python and basically get to where the syntax of the language didn't get in my way too much. Then there was about a week of frequently looking up the things I wasn't quite sure how to do in Python (mostly library, not syntax related). It also took a little while before I'd broken myself of always putting curly braces around things, $'s in front of variable names and semicolon's at the end of every line.

    At first of course, I despised the whole whitespace thing and I felt really unproductive overall. After a couple weeks though, a funny thing happened and I noticed that I'd gone from thinking significant whitespace was the worst idea ever to not noticing it at all to actually appreciating how simple it made things (at least once I'd gotten emacs configured right). I also noticed that within the domain that I was working (a GUI app for scientific simulation), I was now feeling at least as productive as I'd ever been in Perl. A little longer spent in Python-land exploring more libraries (for web stuff, database stuff, XML manipulation, etc.) and I started looking for ways to replace our Perl applications with Python.

    What really got me was the simple elegance of the language. After a week or so I'd basically learned by heart every single aspect of Python syntax without really trying. Five years of coding Perl, hanging out on Perlmonks, reading perldoc and O'Reilly books and I'd never quite felt like I knew more than a small subset of the language. All of Python could fit in my head at once and I could just program without having to think about the language at all. Everything was simple, consistent, and as clear and explicit as possible without straying into verbose.

    I've never quite bought the "Perl is a write-only language" argument (I'm still maintaining five or six year old Perl code at work that we haven't replaced yet because the applications were too big and I never have problems reading the old Perl despite the fact that I barely touch Perl any more) but that ability of Python to get out of the way of coding in a way that Perl never could for me was a pretty significant reason that I've moved on from Perl and have no desire to go back. Perhaps other programmers have more room in their brain for language syntax and can work with Perl the way that I can with Python. If that's you, more power to you. I'm just not that talented.

    Here are the things about Perl that have tempted me to return:

    • CPAN - CPAN still kicks everyone's ass as a centralized repository of modules for doing everything and more. It was the first thing I really missed from Perl. However, in the last three years or so I really haven't run into much in Python that I thought there should be a library for that there wasn't already one for that was easily findable with google. With the Python Cheese Shop It looks like the Python community's determined to catch up. And easy_install even lets me do the same trick with downloading and installing a module by name from the commandline.
    • Text Processing - No doubt about it, Python's regular expression library is more tedious to use than Perl and no one in the Python community seemed to really care. Eventually though, I realized that Python had a very powerful built in string class and all the common things that I used to do with regexps in Perl I could do directly and more clearly with Python strings. It took some getting used to, but now I do fairly heavy text processing and barely ever use regexps. (Which is not to say that I don't still drool slightly at Perl 6 regexps (I don't use regexps much anymore, but they're still cool as hell)).
    • mod_perl - mod_python is good and improving all the time, but it's still rough around the edges compared to mod_perl. The rough transition that mod_perl had to make between apache1 and apache2 kind of leveled the playing field though. Nowadays I use TurboGears and Plone though and am much happier for it.
    • DBI - DBI is more consistent, polished, full-featured and better documented than Python's equivalent database API. Once I discovered the SQLObject ORM though and let it hide the crufty bits, it ceased to matter.
    • Perlmonks - There's just no other community like it in any language that I've found :(

    I really have nothing against Perl; I still think it's one of the better languages out there and I sure as hell learned a lot in my years working with it. And I don't think that it's dying or stagnating; There are just too many people with too much Perl experience and too many lines of production Perl code for that to happen anytime soon. I'm just trying to give you one single data point for why a programmer might be inclined to move along to something else. I'm also not particularly attached to Python. It's treated me well, but I'm a disloyal bastard at heart and I'll happily jump to another language when it makes sense for me (Erlang, I'm looking at you...)

      From a quick look at your webpage, it looks like you've been out of school for five years, so your five years of coding Perl have been since getting out of school. Do you think the ease with which you're picking up Python could be that you're now more experienced with computer languages in general? Or could it be similar to the urge to rewrite code that people have, but in this case you're kind of rewriting the whole language that you're using. The grass is always greener on the other side.

      By the way, if you like simple syntax, why aren't you programming in Lisp? :)

        I was writing a lot of Perl while I was in school. Yes, part of the reason that I picked up Python quickly was that I was a more experienced programmer. Still, since I learned Python, I've had to occasionally go back to Perl for weeks or months at a time to work on old code and it's never gotten as comfortable as Python. If the ease of learning a language was only (or even mostly) dependent on the experience of the programmer (as you seem to suggest), I should have been able to go back to Perl and be even more proficient in it than I was in Python since I then had even more experience.

        I love Lisp, but every time I've attempted to use it for something non-trivial, I hit a wall usually involving libraries and cross-platform issues. Eg, last time I attempted to write a blogging engine in Lisp, I never managed to get an ORM library, a webserver, and a templating library all installed and running at the same time in the same lisp interpreter. One or the other seemed to have issues with SBCL, Clisp, or Allegro that I wasn't able to debug. But I keep trying once a year or so and each time I make it a little farther. So maybe next time. In the meantime, I do write a lot of emacs lisp and it makes me happy.

Re: Perl is dying
by BrowserUk (Patriarch) on Jul 17, 2006 at 01:59 UTC

    I have to wonder why you, and many others, are so concerned with what language other people use? It almost seems like you're too scared to make up your own mind, when others around you claim that php/python/ruby/whatever is better.

    Either Perl does what you need it to do, or it doesn't, and that should be your only criteria and concern. Stop worrying about what the rest of the fashion sheep are doing and do what works for you,

    If Perl is dying, this could be the start of the longest bedside vigil in history.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      Well Perl could be dying. My gran said she was dying for 35 years!

      ++, [id://BrowserUk], I completely missed that point. So simple - it works for you, or it doesn't. Use it, or don't... How hard is that?

      I have to wonder why you, and many others, are so concerned with what language other people use?

      As I mentioned in a previous post, I have a graphics app (Poser) that has a scripting interface that unfortunately uses Python. And if I want to do some moderate modding in Civilization IV then I need to learn some Python (the easy stuff is modifying XML files and the really hard stuff would be writing your own AI in C).

      Anyway, the point is that the decisions of others do affect me and that is why I should be concerned about it. I mean, I wish I could easily MOD Civ4 using Perl. :-/

      -- Argel

      Update: Fixed a typo

Re: Perl is dying
by jkao (Beadle) on Jul 15, 2006 at 21:14 UTC
    My Perl wishes:
    • that snazzy open-source apps like Muine are written in Perl, rather than C# and Python
    • that we have a heavily used web framework (totally agree with chromatic that Catalyst is frightening)
    • that more new development occurs in Perl rather than in C#, Java, Ruby, Python...
    • that Perl 6 will somehow emerge from the ashes like Firefox did from the Mozilla code base!?
    To those who will say, "write it yourself!" with regards to Perlish versions of Muine and Ruby on Rails -- I'm not a professional programmer, or even a unprofessional one. I'm just a scientist and hobbyist who finds Perl occasionally useful. The point is, I would find Perl far more useful if Perl and CPAN received the sort loving care that would ensue if it were more popularly used for new applications, i.e. if Perl were growing rather than merely "sustaining".

      Catalyst is getting better by the minute. The installation is painless if you use Matt’s Shadowcat installer and the docs strengthen every time the core stabilises further. It started out scary because it went through a phase of hyperrapid development (core infrastructure was moving around with every minor release for a while) where it was impossible to document it properly. Things are settling in, trust me.

      As for new apps, I don’t know why so few people write stuff with Gtk2-Perl. It’s the coolest way to do GUIs I’ve seen – quick, easy, based on a powerful toolkit, and unlike Tk, neither your app nor its code look disgusting. I’ve been meaning to write a GUI feed aggregator in Perl for a while; Gtk2-Perl will definitely be my weapon of choice for that.

      Makeshifts last the longest.

Re: Perl is dying
by grinder (Bishop) on Jul 17, 2006 at 08:58 UTC
    What's amazing is that the Perl community not only accepts and encourages bad code, it's outright hostile to those who don't.

    Odd. I tend to see the opposite.

    A couple of crappy modules showed up on CPAN a few weeks ago, and both attracted a series of scathing reviews. Check out cwd and Template. Someone wandering into Perl for the first time would receive sufficient warning about these modules to avoid them.

    This leaves the problem of older modules that don't come up on the radar of the small core of dedicated CPAN reviewers. I know for my own part that when I bring down a new module from CPAN that solves the problem at hand (or not), I take care to find the time to write up a review.

    Peer review is about as good as it gets, and further increases the value of CPAN. While there is a lot of crap on CPAN, all the good stuff has by now begun to acquire good reviews. In some point in the future, if a CPAN module doesn't have a review, it may well mean that it isn't very good. And note that it's taken five years or so to get CPAN to this point. All the other dynamic languages are that much futher behind on the curve. I'll switch to Ruby or Lua when they have as useful a library, and as well peer reviewed, as Perl does.

    • another intruder with the mooring in the heart of the Perl

Re: Perl is dying
by kabeldag (Hermit) on Jul 14, 2006 at 17:44 UTC
    I am not a snob. I try to encourage people to use Perl.
    I do however feel that there are snobs, even within Perlmonks.
    But I like using Perl. I don't feel that my code is a mess.

    Perl hasn't become popular because of CGI, but because it is usefull. Every language has shortcomings, all areas of life have idiots and fascists and snobs. PHP is catered for web developlment. So what. Perl does all that and more. A web application server ?

    There are many areas which I believe can be improved. And that takes coordination between the community. People have to work togethor on things. Im not saying that they are not, but they have to do it more so.

    It's not use Perl and die; It's : use Perl or die;

    There are many reasons to use Perl. When people learn it in a class, they enjoy it, and find it usefull.

    One thing I have quams about is the complete over kill of available modules. But you don't have to use them. Alot of them are quite usefull.

    Blah blah blah...Im off now..
      One thing I have quams about is the complete over kill of available modules. But you don't have to use them. Alot of them are quite usefull.

      Well, I'm glad there are so many modules on CPAN, if only because it demonstrates how easy it is to write modules for Perl and get them published.

      But I think you touch on an important point, which is that the sheer volume of modules can be daunting to someone trying to establish proficiency in Perl. What's needed is guidance — someone to say "These modules are worth your attention; ignore the rest (for now)." I'm sure there are some module review efforts out there already... but they need to be better publicized. PerlMonks might be a good place to host such a beast, too. But it would need to be collaborative; so maybe a wiki would be appropriate.

      We're building the house of the future together.
      Perl hasn't become popular because of CGI, but because it is usefull. Every language has shortcomings, all areas of life have idiots and fascists and snobs. PHP is catered for web developlment. So what. Perl does all that and more.

      I just want to say amen brother. We use Perl a great deal. In some cases the CGI module was useful. I don't know where I would be without Perl helping me manage the network.

      There might be a "holy war" over which is the best web based language.

      Perl is much too useful of a language to suggest its death because of CGI.

Re: Perl is dying
by Anonymous Monk on Jul 16, 2006 at 23:44 UTC
    I was talking to a CS lecturer the other day about perl. He said to me: "perl is too useful not to teach".
Re: Perl is dying
by mrguy123 (Hermit) on Jul 17, 2006 at 13:30 UTC
    Nobody (I think) mentioned that Perl is also the number 1 language for biology computing (BioPerl).
Re: Perl is dying
by Khen1950fx (Canon) on Jul 14, 2006 at 20:02 UTC
    Don't take this personally Anonymous Monk, but I have a question for you: Why are you here? Why? I'm new here, and I've learned a lot from the all the Monks---including you. But you need to learn patience. Perl is just beginning. The best is yet to come! Keep the Faith!
Re:(dhoss) Perl is dying
by stonecolddevin (Parson) on Oct 25, 2006 at 10:30 UTC

    Maybe it's the fact that it's 4 am in the morning. Or maybe it's the fact that this post, albeit it slightly more evolved and coherent, is the same song and dance we've seen over,, and over and over.

    My history is not up to date, nor do I have the patience/willpower to dig up stats and quotes about how perl faired in the past. All I know is, I use it now for soon-to-be large web applications (online communities, schedulers, message boards, etc.) and it works spectacular. Granted it's not as shiny and easy to use right off the bat as PHP or maybe ASP, but it gets the job done, and it gets it done well, with speed and elegance.

    I'm not saying I'm solely a perl guy, I like to write my GUIs in C++/Delphi. I also am planning on porting a lot of my applications to Ruby, and Python, and creating new apps in each respective language. Why? because i want to. The fact of the matter is, perl stands as my number one web application language of choice. Regardless of whether i start to use PHP, Python, Ruby, or ASP, Perl will always have a place with what I do, not only because I've fallen in love with almost every aspect of it, but because it works, and it always has worked.

    Go post how about bad we're dying on a PHP forum, maybe they'll listen and make you feel good about yourself. I'm going to bed.

    meh.
      My experience lately is just the opposite -- for me Perl is thriving. I'm not CGI-centric, rather I use Perl for core Windows system administration, log file analysis, data munging, etc. and fail to see why admins would use a scripting tool other than Perl on unix or Windows. Granted, Windows Admins have VBScript at their disposal by default and it's a decent admin scripting choice but Active State perl is a snap to install and much more powerful (IMHO) than VBScript.

      One thing that's critically important to me for my Perl growth and excitement are good books (and an active community such as perlmonks). I've learned so much from many wonderful Perl book authors that I think they are one of the keys to Perl use and growth. Of course, the staple: "Perl Cookbook" was the first to open my eyes to the amazing power of Perl but I also highly value (and wish for more) Perl books catering to Windows admins. Books from Dave Roth and Linchi Shea's are gems for Windows admins and give us so much power to monitor our enterprises.

      Note: it's rewarding to proudly display my Perl library at the entrance to my cube. I've had many folks ask about and borrow my Perl books and some of those folks get quickly hooked. My two "Learning Perl" books are very worn but I feel I owe it to myself and the Perl community to play librarian with my Perl books and try to get others excited about Perl.

      Just my two cents worth.

Re: Perl is dying
by jdrago_999 (Hermit) on Jul 18, 2006 at 15:58 UTC
    Perl is certainly not dying.

    Granted - several other dynamic languages have sprung up in its wake, but I don't see Perl suffering for it.

    A wise man once said "Perl makes easy things easy, and hard things possible." Perl is easy to learn, and it is possible (and often easy) to do incredibly powerful things with Perl. Some characteristics that make Perl easy to learn can have the negative consequence of allowing novice programmers to write poor code. Perl is just a tool. The Community (and strict + warnings) encourages good coding practices.

    I think it is mostly myth that the Community encourages bad coding style. Perhaps the "obfus" are mistaken for this?

    That said, I have to confess my own straying ways. After 4 years of trying to pull/push/drag the rest of my company over to a LAMP Stack (P is for Perl) codebase, I gave up. We're now doing .NET and I have to admit it's pretty nice. I know that when Perl6 is released I will be applying much of what I have learned from C# (delegates, static typing, etc) and the head-start will help me write better Perl6.

    One problem I see with .NET is "There is ONE way to do it" compared with Perl's "There's More Than One Way To Do It!". The ONE way appears easier for the rest of the developers here, but perhaps because they come from a VBScript background ("There's NO way to do it!!") and wouldn't know a closure, anonymous sub or regex if it bit them on the behind.

    I still write plenty of Perl on my own, but for these yahoos .NET is ok. I get more expressiveness with C# than with VBScript, and they can just point-n-click their way through stuff without learning how to code.

    I enjoy coding and getting things done, therefore I use and prefer Perl. If I were intimidated by code, or was disconnected from consequences of failure or deadlines, I might prefer some other more corporate language (not naming names).

      FYI, .Net's regexp library has at least one feature that we'll have to wait til perl6 for: named captures. I wrote Regexp::NamedCaptures as an experiment to copy .Net's feature into perl5 but it's not something I'd want to use heavily. Also, .Net has the benefit of being parrot-like. You write code in multiple (Microsoft only) languages and they all compile down to the same thing. This lets you implement different parts of your stuff in the appropriate languages. I wouldn't be surprised if there was also support for your other two features: anonymous subs and closures.

      ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

        Yeah, you can write .NET programs in any language, as long as it’s C#… :-)

        Makeshifts last the longest.

Re: Perl is dying
by Rhandom (Curate) on Jul 17, 2006 at 15:44 UTC
    downvotes are bound to ensue...

    Gee - ya think? Sometimes I wonder why people are even here.

    Somehow I find plenty of enterprise work to do with companies who are serious about having it done - and they let me do it in this "dying language" called Perl.

    All I can say is wow - learn a little patience. People aren't writing Perl6 so that the Perl community can be on the top of some chart. It is being written to make it possible to get even more done with a beautiful language. Whether or not the media or academia likes it is irrelevant to me (not that my opinion matters - but I think that it might to somebody).

    my @a=qw(random brilliant braindead); print $a[rand(@a)];
Re: Perl is dying
by ww (Archbishop) on Jul 18, 2006 at 17:50 UTC

    Thank heavens for all those (...er, well, " MOST of those..." ) who write about code.

    I frequently benefit from their wisdom. And that's certainly true about parts of this thread. But /me can't help but wonder whether it might not be well to shift some of the energy going into comment here back to coding, per se.

    I - for one -- would rather spend time writing code and reading about better ways to do so.

    No -- I'm not implying that I see this thread as an example of the usual "religious wars" claptrap about why X is (insert laudatory or disparaging verb here) than Y... but (pretty please?) can we go back to being a quiet little Monastery on a hill, standing apart from that which even smacks of jihadism/crusading/suchlike?

Re: Perl is dying
by izut (Chaplain) on Jul 25, 2006 at 17:02 UTC

    Perl is dead as much as rock and roll. Everybody says it is dead, but while those fashion and pop new technologies come and go away, it just get its job done.

    Igor 'izut' Sutton
    your code, your rules.

Re: Perl is dying
by Anonymous Monk on Jul 17, 2006 at 08:56 UTC
    Re: a better web platform, one way to get ahead would be to solve the C10K problem - http://www.kegel.com/c10k.html. The whole CGI/FCGI thing is a dead end. In-process solutions like mod_php and mod_perl take you a little further but not far, unless you're 100% thread safe, and even then, there's a limit.

    Solution: a Pure Perl web server based on async IO, with a decent API, and relevant modules (e.g. session handling) bundled.

    And decent API does not mean CGI-like - see http://www.mnot.net/blog/2003/12/08/http_api. It also doesn't mean Catalyst, which inverts the problem to "many verbs via a single controller". Check out web.py's API (http://webpy.org/). And see STREST - http://duncan-cragg.org/blog/post/strest-service-trampled-rest-will-break-web-20/

    Practically perlbal seems to be the best candidate (http://www.danga.com/perlbal/) - repurpose as an application server and you've got an edge over the competition, for everyone that wants serious scaling. Sure it's not a solution for the low end user but right now there's effectively nothing that a high end user can take seriously, other than Java. Perlbal has already got async IO going on plus it's served enough requests to be regarded as fairly robust. Someone has already thought about it: http://lists.danga.com/pipermail/perlbal/2006-May/000205.html
Re: Perl is dying
by Anonymous Monk on Jul 15, 2006 at 13:01 UTC
    Isn't that what you said last year? And the year before? And the year before? And the year before? And the year before? And the year before? And the year before?

    Perl is not java.

Re: Perl is dying
by CountZero (Bishop) on Feb 11, 2007 at 09:57 UTC
    Yes and what is your point? Whining and criticising has never done anything good. You want a mod_perl_light? Well go ahead and write one. Eternal glory will be your reward. Now we can only pity you. I did not even downvote your article: it is just too pathetic for words.

    CountZero

    "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

Re: Perl is dying
by spiritway (Vicar) on Jul 17, 2006 at 04:53 UTC

    So, who are all these Monks who are using it? Last I checked there were >37K Monks; of these, a smaller number is active, but there are still lots of people out there using Perl.

    You seem to be saying that Perl is little more than a Web language. While CGI was one reason why people used Perl, it wasn't the only one, nor was it the most important. Yes, Perl is being edged out by other Web-oriented languages, but these tend to be fairly limited in their uses. It's a niche, and perl is far too big to fit into it.

    You say that a person who is new to Perl is confronted by a lot of ASCII. You run into this a lot - it's not unique to Perl. They're all a mystery when you're first starting out.

    The objection to Perl being used mostly by amateurs is invalid. Again, this isn't unique to Perl, but applies to most languages I've ever seen. Of course, as an amateur, I may not see the *real* languages that the big boys use... Still, no language is immune from bad programming or amateurs.

    If Perl really dies, it will be because something better has come to take its place. If that happens, then I'll reluctantly say goodbye to an old friend, and move on. But so far, I haven't seen anything come even close to what I value in Perl - ease of use, flexibility, freedom of choice, power, and - perhaps the single most valuable feature - CPAN. Most of the things I want to accomplish already have a module that does them, or that I can use as a start. I don't see this with other languages (they may exist - but I've never found anything like CPAN).

    You made an interesting claim - that Perl needs to come up with something as easy to install as PHP or Ruby in Rails. I find that interesting, because I have never yet managed to get either of those installed. They are the *only* languages that I've had problems installing. PHP and RoR defeated me. Of course, I didn't really care about that, because I had Perl, and had little trouble getting it to work. I didn't bother to track down whatever I was doing wrong with PHP and RoR, and fix it. Not much incentive.

    You referred us to "Code Complete" for advice on how to write better programs. This book is published by Microsoft Press. If their software is any indication of what the book will help me to accomplish, I'll pass. I'd be a whole lot more impressed if the publisher's parent company actually produced decent software, following their own guidelines.

    I think Perl may be able to echo Mark Twain's response to finding his obituary published in the papers: "News of my demise has been greatly exaggerated".

      Rejecting "Code Complete" out of hand because it's published by Microsoft Press is incredibly close-minded. You would do well to reconsider.

      I consider it to be one of the most significant programming books ever written and I'm a card-carrying Free Software Zealot (been using GNU/Linux as my only OS since 1999) with no particular love for Microsoft. I know there are plenty of far better programmers than I who would agree.

        I don't reject "Code Complete" out of hand. I bought and read it. I reject it because I read it from cover to cover, and found that its advice was either little more than common sense, or ideas that were too awkward to put into practice.

        In my opinion, Microsoft software is of poor quality. I can only conclude that they have so little confidence in their own book that they don't practice what they preach - in which case, they're hypocrites; or, they *do* follow their own precepts, in which case, they don't work.

    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Perl is dying
by Ace128 (Hermit) on Jul 24, 2006 at 13:17 UTC
    Speaking of Perl is dying.. http://www.slimdevices.com/ has made this product "Squeezebox" which is totally written in Perl. So, yea, Perl seems dead to me...
      Yes... but I am trying two months ago to get the Nokia SDK for to start programming Perl at my nokia 6600 and I don't have support... :-(
Re: Perl is dying
by Anonymous Monk on May 03, 2008 at 02:45 UTC
    I've been a Perl developer for 8 years. I've seen a steady delcine in sales, and a steady increase in PHP's popularity. I have no doubt that Perl is no longer king. PHP, while it may not be as powerful with RegExps, is where the masses have moved to. Proof can be found in google. Results 1 - 10 of about 2,070,000 for perl script. (0.23 seconds) Results 1 - 10 of about 11,400,000 for php script. (0.11 seconds) PHP, accoring to google is 5 time more popular than perl. 2-3 years ago they were on par. 2-3 years before that Perl was 5 times more popular than PHP. In repsonse to comments about hacks, I'm sure there are many millions of PHP hacks also.
      The question is why this happened and my answer is that while Perl hackers were so concentrated on scaling - meaning up-scaling - PHP took the world by concentrating on down-scaling.
Re: Perl is dying
by Anonymous Monk on Jul 18, 2006 at 21:42 UTC
    I agree, but Perl can be saved, and honestly, it wouldn't take the stuff that you're talking about. All it takes is a few more killer apps like WebGUI and SpamAssassin to bring it back to life. It requires developers to take off their developer hats, and stop writing perl modules as stand alones and start writing "Products". Perl is a giant mess of projects, but has only a couple real products. And that's it's problem.
    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Perl is dying
by Anonymous Monk on Jul 14, 2006 at 15:28 UTC
    Verily I Say Unto Thee, Go Ye Forth And Multiply.
      Perl is dying but only when used as web/CGI programming language. Incidently perl have more deep dent in implementing business logic/ system programming on UNIX. No acripting language can beat in that ( forget strong backed up by CPAN ? ) Long live Perl ! -Amit Singh
    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Perl is dying
by Anonymous Monk on Jul 17, 2006 at 01:40 UTC
    The rails-like thing that perl programmers need is ... Rails! As someone who used to use Perl for CGI and mod_perl and embedded perl (Mason/Embperl), Ruby is now my main focus. For me, one of the brilliant thing about ruby is it took everything I loved from perl. So there is nothing I miss. There is no reason to look back. Imitation might be the best form of flattery, but it also left perl as completely irrelevant for me. I was hoping someone could compile Ruby to Parrot but now I wonder if that will be finished.
Re: Perl is dying
by Anonymous Monk on Jul 17, 2006 at 04:12 UTC
    A scripting language overrun by sysadmins...you don't say.
Re: Perl is dying
by Anonymous Monk on Feb 10, 2007 at 02:06 UTC

    I've been a big fan of Perl for many years.

    I agree with the author of this article. Its been in decline ever since 2003.

    All you need to do is look at the cold hard stats. They don't lie and its not an opinion from a prima-donna hacker.

    * mod_perl
    * Other Apache mods

    Some points

    * There is a snobbish attitude the Perl elite have towards web development/web appliation servers.

    * Late to the game and its over.

    * Protect user base.

Re: Perl is dying
by Anonymous Monk on Jul 03, 2009 at 05:37 UTC
    I am not even going to pretend that I am Perl programmer. Perl gained popularity because of CGI. CGI has lost its popularity and Perl has gone back to what it was, a niche language. Perl could have held on to its popularity had it been an easy language like PHP. The average person is not smart enough to handle everything Perl has to offer. PHP is far less complicated. For the same reason, Visual Basic was/is popular and Java eventually has pushed out C++.
      As usual I fail to see why php should be easier than perl (ok, I'll admit that ruby IS). and C in definiely more popular than basic*. I think the issue with perl is that it lets ugly code go. think of python, feels like a jail, but no matter what kind of mess you make, pithon stays clean (so long as it compiles :P) I think what perl really need is a set of modules that go beyond the old  use Strict, something that forces you to choose a subdialect (maybe custom, maybe conventional) and follow it, although there are other ways to write the code. this way you could choose between total freedom and a language of your choice, this is something strict languages cant even try doing, as they are already strict. For instance you may remove all object oriented constructs if you wish etc... and of course limit the use of such module to your code, avoiding clashes with modules or other's code.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (8)
As of 2024-03-28 15:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found