Forgot your password?
typodupeerror
Perl Programming IT

Perl's Glory Days Are Behind It, But It Isn't Going Anywhere 379

Posted by Unknown Lamer
from the duct-tape-joke dept.
snydeq writes "Deep End's Paul Venezia waxes philosophical about Perl stagnancy in IT. 'A massive number of tools and projects still make the most out of the language. But it's hard to see Perl regaining its former glory without a dramatic turnaround in the near term. As more time goes by, Perl will likely continue to decline in popularity and cement its growing status as a somewhat arcane and archaic language, especially as compared to newer, more lithe options. Perhaps that's OK. Perl has been an instrumental part of the innovation and technological advancements of the last two decades, and it's served as a catalyst for a significant number of other languages that have contributed heavily to the programming world in general.'"
This discussion has been archived. No new comments can be posted.

Perl's Glory Days Are Behind It, But It Isn't Going Anywhere

Comments Filter:
  • Wait, what? (Score:5, Insightful)

    by girlintraining (1395911) on Tuesday January 29, 2013 @06:10AM (#42723925)

    So let me get this straight: A programming language that found a niche, became massively popular, and is now widely used... is a failure in your eyes because it's not in a constant state of change?

    You're kidding, right? The epitome of a successful programming language is that it has become flexible enough to meet the needs of its users without requiring more than maintenance fixes. This is like saying "grep is useless because nobody's completely redesigned in in the last few months!" Dude, stop drinking the Web 2.0 kool-aid. There are things in the computer world that aren't meant to change every day. I know it's hard to imagine when every pundit is screaming "release early, release often" from every rooftop, but speaking from experience... If you go mangling your programming language every few months like (cough, .NET) some companies do, you're going to find your developers bailing out like rats from a sinking ship.

    • Re:Wait, what? (Score:5, Insightful)

      by LordLucless (582312) on Tuesday January 29, 2013 @06:18AM (#42723953)

      So let me get this straight: A programming language that found a niche, became massively popular, and is now widely used... is a failure in your eyes because it's not in a constant state of change?

      Uh, no, that'd be you putting words into the writer's mouth. How about this:

      As more time goes by, Perl will likely continue to decline in popularity and cement its growing status as a somewhat arcane and archaic language, especially as compared to newer, more lithe options.

      It's not failing because it's not changing, it's failing because less people are using it. The lack of it integrating shiny new features may be one of the factors contributing to this.

      • by dkf (304284)

        [Perl is] not failing because it's not changing, it's failing because less people are using it. The lack of it integrating shiny new features may be one of the factors contributing to this.

        Maybe, but probably not. It's probably more closely linked with the culture of dodgy human-readability and the changing profile of what people want to do with programming languages. On the first point, the issue isn't that it is impossible to write readable perl — that's emphatically not true — but rather that most perl programmers don't do that; it's a culture thing. The second point is much more to do with perl not being universally present in browsers, or numpy, or rails: some niches where pe

        • by Bogtha (906264)

          One of Perl's biggest uses was web development. At one point, server-side web development was totally dominated by Perl. These days it's a niche player.

          The other biggest use was sysadmin scripting. Again, it is rapidly falling by the wayside as systems like Chef and Puppet automate away a lot of it and Ruby and Python are growing in popularity for the rest.

          This isn't about times changing and people needing different things. Perl's getting outpaced in areas where it has traditionally been extremely

      • Re:Wait, what? (Score:5, Interesting)

        by girlintraining (1395911) on Tuesday January 29, 2013 @06:38AM (#42724031)

        It's not failing because it's not changing, it's failing because less people are using it.

        Compared to the alternatives the author suggests? Ruby and Python combined are doing less than Perl. PHP is the runaway favorite [w3techs.com], but if you dig into the numbers, you'll find that most of the change is due to Content Management Systems which by and far have been developed on PHP. So these massive zomfg numbers PHP is pulling in isn't due to people programming with it as much as they are copy-pasting it en masse.

        Perl is often custom back-end stuff with little visibility. It runs in cron jobs. It happily links various back-end pieces to one another... doing its unglamorous jobs with ease. Yes, Ruby is pretty and shiny. Yes, Python is a hot thing right now. But I've developed for all of them, and you know what? Perl is still what I'd turn to for back-end work over either of them because it's easy to work with and in many use scenarios I encounter professionally... faster as well. Python starts to choke (badly) in a take-down-the-server kind of way when it gets taxed. Ruby is the same way. But Perl seems bulletproof... even in a resource-constrained environment, it just. doesn't. die.

        And for me, writing code for corporate use... Reliability trumps shiny any day of the week.

        • Compared to the alternatives the author suggests? Ruby and Python combined are doing less than Perl. PHP is the runaway favorite [w3techs.com], but if you dig into the numbers, you'll find that most of the change is due to Content Management Systems which by and far have been developed on PHP. So these massive zomfg numbers PHP is pulling in isn't due to people programming with it as much as they are copy-pasting it en masse.

          In the article, the author posits that PHP/Python/Ruby are nibbling away at Perl on the web front, and that bash is, for some reason, eating Perl's lunch in the sysadmin/code-glue areas. Besides, the article author is looking at the TIOBE index. TIOBE is based on search hits regarding a particular language, not looking at web-facing systems. That methodology has its own flaws, but it shouldn't be skewed towards public-facing websites or people passively using a CMS like your link is - and TIOBE lists PHP an

          • On the one hand, with Perl, you can't even create and use a multi dimensional array without barely comprehensible hacks. On the other, the language itself leans too sharply towards gibberish instead of natural language. But it's powerful, and mostly (excepting a few outliers like multi-dim arrays) complete.

            I speculate that the only reason that it's as popular as it is, is because people stick with what they know, especially if what they know is complex, functional, and esoteric doesn't hurt either -- it's r

            • Re:Perl's a mess (Score:4, Informative)

              by vlm (69642) on Tuesday January 29, 2013 @08:46AM (#42724617)

              On the one hand, with Perl, you can't even create and use a multi dimensional array without barely comprehensible hacks.

              Unimpressed.

              http://perldoc.perl.org/perldsc.html#ARRAYS-OF-ARRAYS [perl.org]

              $AoA[0][0] = "Fred";

              print $AoA[0][0];

              I will give you that iteration syntax over a AoA can look a little weird to the uninitiated.

              I pretty much stopped using multidimensional arrays as a complex data structure when I learned OO except for the obvious mathematical applications. Although for hard core math I tend to take advantage of octave. I've used Inline::Octave from cpan but thats kinda weird.

              I wouldn't do massive scale text processing in Octave unless I had a really good reason, much as I wouldn't do massive math work in Perl unless I had a really good reason.

              The easiest "hack" on AoA is not to use them, if the application is simple enough. If you just need a crude data store just make a simple hash. So instead of [2][3][4] as a 3-dimensional coordinate, just store "2 3 4" as a hash key.

            • by Lisandro (799651)

              For myself, I learned Perl first, but was still interested in languages, and so continued with Python, PHP, Java, and so on. For a scripting language, I settled with Python, and feel that it is far superior to Perl in just about every way imaginable (and yeah, I'm a fan of the indentation, too, though I can see that if that's not similar to how you formatted your code in the first place, you'd not be likely to appreciate it. Me, I come from a C background where indentation far more formal than the K&R style was required.)

              I love Python and use it daily, but there's one area where it lacks: speed. Perl is, by far, one of the fastest languages i've used and a very good choice if you're doing heavy batch processing.

          • by vlm (69642)

            TIOBE is based on search hits regarding a particular language,

            Massive inherent bias toward the new. "Perl? What is that? Is it new? Maybe I should google for it." Seriously?

          • by smpoole7 (1467717)

            > TIOBE is based on search hits regarding a particular language ... that methodology has its own flaws

            To put it mildly. Thanks for saving me the time and trouble of reading a useless article.

            Case in point: I just did a search on Ada after reading some of the comments here. That will, no doubt, help make it a tiny bit more "popular" to this guy's methodology. But I have absolutely no desire to learn that language or to program in it. I'll stick with my trusty ol' C/C++.

          • by guacamole (24270)

            Indeed. It's not clear to me why bash would suddenly become that important. Please. Did I miss something?

        • by Sique (173459)
          That's exactly what I use Perl for. Turning Excels whose data has to be sanitized first into lists fed into other programs. Creating batches of config files on the fly that are quite similar to each other and differ only on some parameters which I read from a list. Converting config files from one product into config files for another, which will replace the first one etc.pp.
          Backend stuff that will be never seen by a user or a customer anyway.
        • My shotshot coder kid cousin, cutely described Python as a 'legacy language'.

          I should've asked her what she considered NOT legacy, especially since Python uptake, afaict, is actually increasing.

          • I remember when the O'Reilly Python manual came out and everyone was excited - this was back in Clinton's first term of office. Python is old. Interpreted languages in general are old, and increasingly less useful. Javascript is transforming from an interpreted language into a compilation target due to its integration with web technologies - Python is just python. Jython was a thing for a while, but it's not functional-language enough to handle new virtual and cloud infrastructures, where an app has to run

        • Re: (Score:3, Interesting)

          by cmdr_tofu (826352)

          First off, I love Perl, but I hate it too. All of my backend code used to be Perl, but I long since abandoned it for Ruby. Now when I have to use Perl, it's usually called from a Ruby script and I real the Perl output into Ruby through JSON.

          As far as performance is concerned, i think Python is really a top contender with native thread support, but generally for sysadmin stuff, you don't always need a high-performance solution. For something that is easy-to-write, and easy-to-manage, and almost more import

        • by guacamole (24270)

          I am trying to remember where I read this, but I think I indeed heard somewhere that Python's solution under certain out of memory conditions is simply to die and exit. But still, I wouldn't discount Python as a fragile programming language. One good testament to Python's reliability is the fact that much of mailing list servers are now running GNU Mailman. GNU Mailman was what put Python on the map for me. Before Mailman, I thought no one in their right mind would write mailing list software in anything ot

      • Re:Wait, what? (Score:4, Insightful)

        by tlambert (566799) on Tuesday January 29, 2013 @06:41AM (#42724037)

        As more time goes by, Perl will likely continue to decline in popularity and cement its growing status as a somewhat arcane and archaic language, especially as compared to newer, more lithe options.

        It's not failing because it's not changing, it's failing because less people are using it. The lack of it integrating shiny new features may be one of the factors contributing to this.

        I agree that that's what the article author is saying; he specifically cites release timeliness and "forward progress", which he goes on to define as additional features.

        I think this is in error. Perl is less maintainable than other languages, due to the myriad of "correct" was to implement solutions to various problems, and once the challenger language in question has evolved to the point that it can map a sufficient portion of the problem space mappable by perl, it was inevitable that it be displaced. As the article author states, it's not going anywhere, but, like COBOL, you aren't going to be seeing significant new code bases written in the language.

        Python, I think, owes its popularity in no small part to being an official language in places like Facebook and Google; perl is specifically prohibited in all cases in both companies. If one language is used by a company where it's desirable to work, and another is prohibited, which language are you going to learn?

        PS: I think the best place to look for perl's health, or lack thereof, is the coverage for systems interface changes in CPAN. If perl get coverage for significant new APIs, but not other APIs, then it's still alive; otherwise, it's on its way to legacy code and/or deprecation. For example, if there's support for membuf, ioevent, and similar interfaces, I'd say perl was far from dead.

      • by Viol8 (599362)

        "The lack of it integrating shiny new features may be one of the factors contributing to this."

        Nah , IMO its because people only used Perl because there was no alternative for problems that required a scripted solution that couldn't be done with shell or awk and where C/C++ would be overkill. Now we have Python which is what most people would consider a "proper" language rather than the rather messy line noise that is Perl.

      • Re:Wait, what? (Score:4, Interesting)

        by laffer1 (701823) <luke@noSPAm.foolishgames.com> on Tuesday January 29, 2013 @09:02AM (#42724743) Homepage Journal

        I don't think less people are using Perl. I think young people aren't using perl. The hot thing is Python and JavaScript solutions for everything. Python can be used for GUIs, crazy admin scripts, etc. It can be used in place of Perl, but it will never replace Perl. Python doesn't have CPAN. Python code is just as bad as Perl code sometimes, because people who use both languages are sometimes too clever for their own good. Personally, Perl makes more sense to me than Python. I get why people like Python, but it's not for me. After trying to port it to MidnightBSD, I had to look inside and I was not impressed. Then there's the whole Python 3 thing... too many people still use Python 2.x. Python 3 is what will happen if Perl ever actually goes to 6.0 (mainstream). You'll have a fork and then death of the language long term. It's only a matter of time. I think the Python community either has to go back to 2.x or kill security updates on it so it forces people to adopt 3.x.

        No one has ever shown me a feature in Python I can't live without. I would never write a GUI in Perl, but I also think it's ridiculous in python aside from prototyping. If you want evidence of why I feel that way, look at many Gnome projects. I have done it once as a script to create PDFs of web pages with their actual rendering from WebKit bindings for my previous employer and I got a bad taste in my mouth.

    • Re: (Score:3, Insightful)

      by jellomizer (103300)

      Perl popularity is due to its text file processing ability. Back durring it's high points relational databases were expensive and resource hogs. However with faster systems and lower cost or free databases available, Perl need has declined.
      Your sites data is no longer being processes in a large text file but in a database. (Granted the database may internally doing the same thing)
      It isn't that Perl is bad but it just isn't as useful anymore.

      • Re:Wait, what? (Score:4, Interesting)

        by girlintraining (1395911) on Tuesday January 29, 2013 @06:44AM (#42724049)

        However with faster systems and lower cost or free databases available, Perl need has declined.

        I don't think that's what's driving the numbers down; It's the Web 2.0 culture. There are a lot of self-contained solutions (such as content management systems) built on PHP, etc., that pretty much you unpack into a directory, set the permissions and tweak a config file, and you have a usable app. Perl was never about that. Perl is like duct tape -- you use it to glue things together.

      • Re:Wait, what? (Score:4, Insightful)

        by dskoll (99328) on Tuesday January 29, 2013 @10:22AM (#42725461)

        That's utter nonsense. Perl's DBI modules are fantastic for DB access.

        Perl is just not shiny and new any more. It's still used in a lot of places. Our commercial products are written in Perl and I like the fact that Perl isn't changing wildly. Perl 6 worried me for a while, but it's obvious that Perl 6 is going nowhere and Perl 5 is continuing to be maintained.

    • by gigaherz (2653757)

      I have to disagree with the bit suggesting that .NET is mangled every few months.

      First of all, .NET isn't a language. I suppose you may mean C#, although maybe you have had to mess with VB.NET (which is a torture I wouldn't wish on anyone, but still doesn't apply to what you are saying). So assuming C#, any code written for .NET 2.0 works in the latest version of the compiler, and MOST of the .net 1.0/1.1 should work too.

      If you find a piece of .net 1.1 code that doesn't compile in a recent version of the .n

      • Not only that, but with most of the features released, you can compile them so they run on a lower installed version so long as it targets the same runtime, so pretty much everything that came with .Net 3.0 and 3.5 can be compiled so as to run on a .Net 2.0 base install, mainly because most of it is syntactic sugar rather than fundamental changes.

    • Second that. Perl is great exactly because it is stable, reliable and because of the prospect that it will remain so. Like the Unix shell, Latex or plain old C. Its maybe as close as one can get to mathematical tools, which by default never change. A language has to earn the status of being archane. Thats when it can be used also within larger projects without worry that basic functionality is depreciated. Its not an exclusive or. The world needs both, new languages which are exciting but change often and o
    • by TheLink (130905)
      It'll be nice if there could be a JIT or some other accelerator for Perl. Lots of smart people have managed to make Javascript rather fast in many cases, so I wonder if it's possible to do the same for Perl - after all Facebook has accelerated PHP...

      There's some work in this area being done for Python but progress isn't as fast as I'd like.

      FWIW at a previous workplace I wrote a dhcp server in perl and performance was not an issue (would be nice if it was faster though ;) ). They might still be using it at v
      • It'll be nice if there could be a JIT or some other accelerator for Perl.

        I have seen some old posts about attempts to port Perl's interpreter to LLVM to be able to take advantage of its JIT facility. As far as I can tell, it didn't went too far. (The most discussion I can find. [perlmonks.org] But about work from 2008-'09.)

        Main obstacle for Perl's advancement and progress is the Perl6.

        You can't change the Perl5 because a lot of stuff depends on it.

        You can't make new version of Perl out of Perl5 because Perl6 is already out there.

        All in all, I strongly believe that it is the miserable fa

        • by Rysc (136391) *

          Right now, the best thing which could happen to Perl IMO is a fork of the Perl5. Yet, since user/developer base is declining, I very much doubt that would happen.

          I find this funny, because after stagnating for a few years waiting on perl6 the development of perl5 did pick back up (not a fork, but a renewal) a few years ago and is going strong. Useful things are being added, the code is being improved, and so on.

    • by CAIMLAS (41445)

      I agree with you.

      OP says things which make me think they'd argue that C has failed. I'm sorry, Perl ships in the base install of pretty much every single OS I'm aware of, and it is the single easiest way to write things which will consistently work cross platform (from a sysadmin perspective).

    • by TheCarp (96830)

      I think you are missing the point of "glory days". People don't die after their Glory days.... they are their glory days precisely because they spend the rest of their lives talking about them (four touchdowns in a single game!).

      Its the end of being newsworthy and interesting, not the end of productive work.

    • ... except that it's not, despite several similar obituaries having been published.

      With all due respect to "language companies" and all the script kiddies coming out of universities today, C and Perl are the stable tools. They will remain important for any work requiring stability.

      Most "alternative" languages mentioned in this discussion have broken backwards compatibility at least once, have serious performance and other internal problems, and don't come close to the practical effectiveness of C and Perl.

      P

  • Should also compare the frequency of remotely exploitable flaws in the "replacement" language/framework (e.g. php) versus that of perl.

    When was the last actual exploitable perl flaw, anyway?

    • by prefec2 (875483)

      PHP is a nightmare. However, most problems with PHP and Perl-web-applications are the bugs in those applications and not in the language runtime environment.

  • by eksith (2776419) on Tuesday January 29, 2013 @06:15AM (#42723943) Homepage
    There's this misconception that Python (the new hotness after some people started getting bored with Ruby) was being adopted purely due to it being new and... well, popular.

    We see that Python has a sizable lead on Perl, and oddly, the popularity of Bash has risen sixfold over the past year, breaking into the top 20 for the first time ever.

    The fact is that Python today is taking over where Perl would have dominated in the past. That is applications, front-end scripting and where integration of both would be beneficial. If it weren't for Python, I doubt legacy apps that are being migrated away from Perl would have had that path ahead of them. It's a much muddier road through Ruby (not criticism of the language itself, but things are too... different than Python).

    • by Viol8 (599362) on Tuesday January 29, 2013 @06:20AM (#42723961)

      "The fact is that Python today is taking over where Perl would have dominated in the past. "

      And the reason for that is that python has equivalent functionality to perl (unless you really need to compose an entire program in 1 line of regexp and a loop), can also be used for quick-n-dirty tasks but is actually readable and structured and while its OO system isn't perfect its a damn site better than the nailed on dogs dinner that is Perls.

      • by guacamole (24270)

        I agree 100%. Python sets a new standard in simplicity and readability. I don't think Perl 6 will be an improvement upon Python in this area. Python now absorbs all the new users. It even has a big traction in the CS education now (Perl never quite got there). Suffice to mention that big CS departments like MIT and Berkeley have started using Python in their intro to CS courses instead of Lisp. It's on clear to me why anyone other than Unix sysadmins should use Perl for new projects instead of Python. In fa

  • by ebbe11 (121118) on Tuesday January 29, 2013 @06:37AM (#42724019)
    ...Perl will just as dead as Fortran and COBOL.
  • I decided to learn Perl since I got the impression it was the best scripting tool for a sysadmin dealing whit Windows and Linux environment.

    So I have to ask, is Perl still the best tool for me (I love Perl) or should I move on to something else?

    • by guacamole (24270) on Tuesday January 29, 2013 @07:21AM (#42724215)

      Perl is certainly right for sysadmins. First, Perl borrows heavily the ideas/syntax/cues from the standard unix shell scripting. I am talking about writing scripts with bash, awk, sed, grep, find, tr, etc. If you know them, you will fee right at home. Perl glues the ideas of all of these tools together into a more consistent syntax, and runs much faster than the speed most shell scripts could ever achieve.

      Another important issue is the community. Perl community is filled with people who do system administration (not that there aren't other users of perl), so there are tons of libraries, which are available to use as easily as starting Perl's CPAN shell and having it install them automatically. The best book to learn Perl is Larry Walls "Programming Perl". A new edition just came out.

      Having said this, I want to mention a that it's a good idea to develop a good sense of judgement. For example, I always got annoyed by some fanboyish coworkers who wrote Perl scripts when a simple shell script would suffice. I have seen perl scripts that are filled with calls to external shell commands, cp and rm and so on which I thought was stupid. (Need a shell script? just write a shell script). And I still loving using awk and similar tools for writing most of "one-liners". I always found awk to be a bit better suited for that than perl. On the other hand, know when to start writing Perl script instead of shell script. Shell scripts can get clumsy very fast.

      Another advise, you may also want to check out Python. I was a Perl person, and recently looked into Python, and lo an behold, I am very impressed. In my opinion Python sets a new standard in cleanness and readability. Take a look at the free book "Dive into Python" as well as the official Python 3 tutorial online. Both are short and can be covered in just a few study sessions. Still, in sysadmin world Perl may be more useful, but Python is a great all-around general purpose language.

      To see what I mean, take a look at this discussion

      http://stackoverflow.com/questions/3775413/what-is-the-perl-version-of-a-python-iterator [stackoverflow.com]

      compare the tidy Python code at the top with the proposed Perl solutions below.

      Finally, the most striking tool I have used when working as a sysadmin was CFengine. It's the bomb try it. It's a very high level declarative programming language for managing large sites/infrastructures.

      • by mvdwege (243851)

        What's wrong with the proposed solutions? If you want to do serious programming and you don't understand how closures work, you have no business behind a keyboard.

        About the worst I can say is that the sigils and braces make the Perl code look ugly. I can live with that.

      • by Rufty (37223)
        By the time a shell command get roughly to "find -xdev .... -print0 | xargs -0 awk ...." its time for a short shell script. When the shell script evolves roughly to the point of needing arrays, well time for perl. And by the time the perl script needs graphical output or objects - python. (Or that much under used scripting cruncher, octave.)
  • by tgv (254536)

    With a bit of luck, awk will outlive perl.

    • by guacamole (24270)

      Indeed. I prefer writing one-liners in awk. Awk remains a useful domain specific language.

      And did you know that there are awk implementations that beat pretty much all other competing programming languages in speed?

      See here:

      http://brenocon.com/blog/2009/09/dont-mawk-awk-the-fastest-and-most-elegant-big-data-munging-language/ [brenocon.com]

      • by tgv (254536)

        Thanks for the link. It's great. And how on earth could c++ lose from Java? Seems a certain standard template library sucks.

  • What is Perl? (Score:5, Insightful)

    by prefec2 (875483) on Tuesday January 29, 2013 @07:25AM (#42724231)

    Perl is a historically a combination of bash, awk and sed. And for purposes well suited where people would use the former three tools to implement shell scripts to help administration tasks on a daily basis. However, Perl is not so well suited for other purposes, like small and medium sized web applications. Therefore, it will not gain any more ground in that area, as better tools are available. The first Perl enemy was PHP. While PHP sucks in many ways, it was better designed to write simple dynamic web pages. Today it is used for medium sized web applications, which is clearly a dangerous thing, but still it restricts the growth of Perl in that direction, as younger coders came first in contact with PHP and all the hosters support PHP, but not everyone is supporting Perl. Also things like Joomla or Typo3 are PHP based and many people start coding by extending them.

    For custom application or other mostly larger system Java-based or .NET-based technologies are used. Perl has nothing to do in that area. It lost its job there many years ago. InterShop was once coded in Perl, but - well - who cares?

    As the Unix command shell is only a limited realm (in number of installations), Perl will never become that widespread again. At least that is my assumption considering today software base and structure, as well as the education in programming languages.

    • Re:What is Perl? (Score:4, Insightful)

      by guacamole (24270) on Tuesday January 29, 2013 @08:02AM (#42724401)

      And then don't forget the threat from Python. Python is a true general purpose scripting language. You can do web applications, sysadmin scripts, or say numerical number crunching (see scipy and numpy). It has very clean and simple syntax rules. On the other hand, Perl looks like an alien language to people who are not familiar with unix.

      • ...darn near anything [jamesblish.com] in Python. :)

        For those of you unwilling to click through, that's a custom auroral-photography / astro-photography condition reporting system. Even the graphics are generated by Python. It not only lets me look at current conditions, it texts me in case I'm not paying attention when conditions are right for auroral photography. Which leads to photos like these. [flickr.com]

    • by takshaka (15297)

      The first Perl enemy was PHP. While PHP sucks in many ways, it was better designed to write simple dynamic web pages.

      mod_php installed on every virtual hosting provider is the main reason the language took off. Had mod_perl been a safe alternative in a multi-user environment, much of today's PHP marketshare would be eaten up by frameworks like Mason.

  • When's the last time you used duct tape on a duck?

    but I s/t?$/k?$/

  • In my view Perl's greatest success was its influence on other languages. Its pattern matching capabilities are a key part of Python, Ruby, and more and are even bolted on to Java. Perl may be on the very slow decline but the best bits are still increasingly in use
  • My exposure to Perl was inheriting the maintenance of a utility written in it after the original developer left the company I was at. That lasted a few years and also went through a few functional enhancement requests from the users until I too moved on; so I'd say I was reasonably adept with Perl.

    However, despite it being quite handy for some things, I never felt the inclination to use Perl for something developed from scratch. Even something that would have aligned well with Perl's strengths. I just didn'

  • Just as with COBOL and Fortran, with the language being less popular, it's more difficult to find people who really know the language, so that they can maintain and develop existing systems.

    Most of the people with strong knowledge aren't looking for new work. Those who still know Perl 4 are around, as are inexperienced folks who can write C in Perl. (you know the type -- using

    for ( my $i=0; $i++; $i < $max) { ... }

    vs.

    for my $i ( 0 .. $max-1 ) { ... }

    or delaring and initializing every damned va

  • Language Design (Score:5, Interesting)

    by YojimboJango (978350) on Tuesday January 29, 2013 @10:12AM (#42725321)

    I wrote this a while ago, but I find it's useful to post it here:

    The precondition that you can write terrible code in any language is a mental diversion. You must design languages for people that believe in intelligent design.
    If there is low hanging fruit in your garden of eden, people are going to assume that someone vastly smarter then they are placed it there for plucking.
    Not even God himself coming down from on high and face to face telling every member of the human race not to touch it is going to keep it from being abused.
    That is the true nature of humanity and by inclusion programmers.

    perl: An unorganized, but sprawling garden full of almost every imaginable fruit. Regex is a shiny sinful apple at eye level on every single tree. The only way to navigate the garden is to ask the snakes.
    python: An organized garden that has one of each kind of fruit. But it's half way through being dug up and replanted into an even more organized garden.
    ruby: A newer garden. Heaps of fertilizer make everything grow incredibly fast, but the trees are getting tangled and there's a problem with weeds.
    c#: Someone spent a lot of money crafting this garden correctly. They also planted trees that emit a hypnotic pollen that will murder you if you try to leave the garden.
    java: A beautiful garden but only when viewed from space. Every tree has exactly 1 fruit, and getting anywhere takes forever. Recently taken over by someone interested in c#'s hypnotic pollen trees.
    c++: An industrial farm complete with tractors and combine harvesters, but no safety equipment. As a bonus 98% of the farm does not contain buried land mines.
    c: A plot of land and a barn full of seeds. Get to work.
    javascript: There's only 1 tree and it grows upside down, but you can find it resurfacing in all the other gardens. It's also sentient, growing rapidly, and trying to murder you.

    • by cpghost (719344)
      Beautiful garden analogies. I'm wondering what CommonLisp, Scheme and Prolog would be like. Or even ML and Haskell if you're truly masochistic.
  • by CaptainNerdCave (982411) on Tuesday January 29, 2013 @10:31AM (#42725577)

    A few years ago, I started trying to learn Ruby, but I quickly changed my mind because the project at large kept changing, and I didn't have time to follow it. Perl's stagnation has made it much easier to use as a resource in places where stability is key.

    Why is Perl great? Very small foot-print, minimal resources for outstanding performance, and flexibility.

    After abandoning Ruby (until they calm down), I started exploring Perl and C/C++ with much better results. In my experience, Perl can be very user-friendly, or it can be cryptic... just like most other languages.

  • Why I still use Perl (Score:4, Informative)

    by KeithH (15061) on Tuesday January 29, 2013 @01:09PM (#42727947)
    In a nutshell, I still use Perl heavily because I get paid to produce software - mostly embedded realtime telecom s/w but also a lot of tools as well. Pragmatism dictates that I use the tools with which I am proficient and which are universally available. Twenty years ago, I had to use Bourne shell more than I liked because I could only count on the availability of /bin/sh. Now, I have the luxury of being able to expect /bin/perl (version 5 no less). This counts for a lot in an environment where my hundreds of colleagues and I use hundreds of different servers with different operating systems, distributions, versions, and architectures. Yes, there is a lot to complain about with Perl but at the end of the day, Perl is still an excellent tool for many many problems and won't disappear from industrial applications any time soon.

"Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats." -- Howard Aiken

Working...