Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Perl Programming

Perl 5.16.0 Released 192

An anonymous reader writes "Perl 5.16.0 is now available with plenty of improvements all around. You can view a summary and all the change details here. With Perl on an annual release schedule, and projects like Mojolicious, Dancer, perlbrew, Plack, and Moose continuing to gain in popularity, are we in the middle of a Perl renaissance?"
This discussion has been archived. No new comments can be posted.

Perl 5.16.0 Released

Comments Filter:
  • by BitterOak ( 537666 ) on Monday May 21, 2012 @03:50PM (#40069361)
    I love Perl, but I'm curious. Whatever happened to Perl 6? I remember hearing about it way back when I was in grad school, which was a long time ago.
    • by Anonymous Coward

      That is a very good question!

      https://en.wikipedia.org/wiki/Perl_6

      • Re: (Score:1, Troll)

        Make no mistake, despite those who'd predict an "Epoch fail", Perl 6 is the future - and it always will be.
        The fate of Perl 6 is tied to that of IPv6. Widespread adoption of each is expected at the same rough timeframe.

      • Oh, BTW: Hey, Perloids! Thanks for the unecessary version precision! I had a whole surplus of ".0"'s hanging around, clogging the undersides of my keyboard. Now I can disperse them, almost at will in referencing this release. :-)

        • Sorry folks, this version "number" as described in the above article is actually an artefact of Zero Terminated String (mis)representation.

          The ACTUAL version is correctly displayed 5.16.
    • by Chemisor ( 97276 )

      The same thing that will happen to Windows 8.

    • Re: (Score:2, Informative)

      by Anonymous Coward

      Perl 6 is quite a departure, with many breaking changes from 5. People had code written in 5, and 6 became moored in WIP status for the last 6-x years.

      • by vlm ( 69642 ) on Monday May 21, 2012 @04:06PM (#40069557)

        became moored in WIP status for the last 6-x years.

        12 years, not 6.

        The killer is no one in the perl dev community wants it. This says it all "Backward compatibility with earlier versions of Perl is not a goal". The problem is I don't love perl because of its syntax, although some of it is pretty cool, I love it because of the CPAN which does all my work for me. All my problems seem to be solved by combining at most ten or so CPAN modules. Its kind of like how the whole world is built out of only a hundred or so elements... if I wrote a perl program that used 100 CPAN modules, the result would be a new universe would spring into being, like the big bang. Or something like that.

        • have a look at Apache camel : http://camel.apache.org/enterprise-integration-patterns.html [apache.org]
          I have the feeling that it is the kind of problems you have to solve...

        • "Backward compatibility with earlier versions of Perl is not a goal".

          Have listen to the FLOSS Weekly interview with the fellow working on Rakudo. They do intend to get perl5 modules running.

        • by TheLink ( 130905 )
          Yeah what I'd actually want is for someone to do to Perl 5 what Google did with Javascript: make it run much faster.
        • The killer is no one in the perl dev community wants it. This says it all "Backward compatibility with earlier versions of Perl is not a goal".

          The first sentence would have more credibility if you had some evidence or if it wasn't stated so categorically as to be obviously false. I'm in the perl developer community, and I do want perl 6 -- I'm just not holding my breath for it to be usable very soon for real-world projects.

          The second sentence seems to be quoted from the WP article, but you made it misleadin

    • by vlm ( 69642 ) on Monday May 21, 2012 @03:55PM (#40069439)

      The problem with trying to do absolutely everything is it takes awhile to implement.

      http://perl6.org/compilers/features [perl6.org]

      Its kind of like that Arthur Clarke story "The Nine Billion Names of God". If, one night, you glance at the sky and see the stars start going out, you'll know that someone has finally implemented all the Perl6 features. Either that, or its cloudy and going to rain.

      • This scares me. The fact that there are two compilers (which sows confusion) and none is feature complete... and it looks like Parrot was dropped.

        This is beginning to look like the HURD. A lot of thrashing around for cool features, nothing ever released.

        • by chromatic ( 9471 ) on Monday May 21, 2012 @04:19PM (#40069721) Homepage

          If that scares you, cover your eyes: there are more than two compilers.

          ... it looks like Parrot was dropped.

          Not exactly. The Rakudo (Perl 6 on Parrot) people want to write a VM independence layer and port that to multiple VM backends.

          Don't ask me to explain that.

        • and it looks like Parrot was dropped.

          Nah, he's only resting...

        • This scares me. The fact that there are two compilers (which sows confusion) and none is feature complete

          Why is that so scary or "confusing"? There are a lot of compilers for C and C++ out there, and they aren't all "Feature complete" (MSFT's C++ compiler for example is not fully C99 compliant and they don't seem in much of a hurry to make it so). Doesn't seem to me to indicate that a language or platform should be discounted.

          ... and it looks like Parrot was dropped.

          Can you give a citation showing this? A new release of Parrot came out just last week [parrot.org]. It looks far from dropped--in fact it looks like a VERY actvie development community--they see

      • The problem with trying to do absolutely everything is it takes awhile to implement.

        http://perl6.org/compilers/features [perl6.org]

        That list shows "Rakudo" having most of the features in place already...

        • by vlm ( 69642 )

          And with only 12 years of development in, they've only got maybe another 10 to go. Excellent.

    • by Surazal ( 729 ) on Monday May 21, 2012 @04:02PM (#40069525) Homepage Journal

      I love Perl, but I'm curious. Whatever happened to Perl 6? I remember hearing about it way back when I was in grad school, which was a long time ago.

      Perl 6 isn't dead, per se. A quick google search shows that there are a few implementations running around, although none are even close to production-ready yet. Here's the Perl 6 portal [perl6.org], in case you were wondering.

      I did run and download one of the more complete implementations, and part of the problem I think is that perl 6 is not ANYTHING like perl 5. The reason I use perl at all, and the only reason I still use perl 5 TO THIS DAY is the regex capabilities. They completely ripped that out of perl 6 and re-implemented it to make it more user-friendly, and they did so poorly, IMHO. Instead of calling htis perl 6, they should have named it something completely different. Call it "perl" does a disservice to what made perl so powerful in the first place.

      • by chromatic ( 9471 ) on Monday May 21, 2012 @04:16PM (#40069691) Homepage

        ... part of the problem I think is that perl 6 is not ANYTHING like perl 5.

        The parts of Perl 6 I like are a lot like Perl 5, and the parts I really like are much better than Perl 5.

        ... the only reason I still use perl 5 TO THIS DAY is the regex capabilities. They completely ripped that out of perl 6 and re-implemented it to make it more user-friendly, and they did so poorly, IMHO.

        I like Perl 6 grammars far, far more than I like Perl 5 regex. That's one of the best parts of Perl 6. Regex as borrowed from Unix and enhanced over the years have accumulated a lot of mutually incomprehensible cruft. Perl 6 cleans that up.

        The problem with Perl 6, of course, is that no implementation is anywhere close to practically useful. Almost twelve years after the Perl 6 announcement, there's still no reason to hold your breath.

        • Almost twelve years after the Perl 6 announcement, there's still no reason to hold your breath.

          The real reason why Perl6 hasn't been completed ready for production is that some aspects are dependent on (some of) those same people who are holding their breath.

      • by zmughal ( 1343549 ) on Monday May 21, 2012 @04:23PM (#40069773) Homepage

        As far as the matching capabilities of Perl 6, I think they're trying to do something that will advance the state-of-the-art in terms of programming langauge integration in the same way that Perl 5's regex did. The Perl 6 rules [wikipedia.org] are similar to the tricks [p3rl.org] and hacks [p3rl.org] that people do with regular expressions to build up full grammars. By separating out the parts into logical components, you will get better readability and reusability. Not only will we get cleaner text processing, but this (along with the VM architecture) will aid the development of DSLs that will extend the language into an exciting future.

        Yeah, it's some good Kool-Aid and the Perl community been waiting for a while, but bringing these ideas into a production-ready language isn't trivial. I'm still using Perl 5 because of CPAN, but I feel that Perl 6 will eventually get to the same level especially with a source-to-source compiler. The hardest part would be dealing with native-code bindings.

        • by skids ( 119237 )

          As far as the matching capabilities of Perl 6, I think they're trying to do something that will advance the state-of-the-art in terms of programming langauge integration in the same way that Perl 5's regex did.

          It's also one of the more functional feature sets already. Very useful if speed is not your priority.

          For people that actually enjoy learning new things rather than endlessly traversing the March of Progress [dipert.org], following Perl6 development is very refreshing.

    • by youn ( 1516637 )

      forget perl 6, what happened to perl 8, 9. 10... they should by at least at version 42 by now :)

  • PERL spend many a night modifying my Everyauction script/site.

  • Modern Perl book (Score:4, Informative)

    by Anonymous Coward on Monday May 21, 2012 @03:56PM (#40069445)

    Chromatic's Modern Perl book [onyxneon.com] is also available as a free download. It's useful for Perl programmers who want to know what's new in the Perl world in the last several years.

  • by Anonymous Coward

    .. for prototyping and scripting. I'm a non-coder working for a software house with highly experienced coders. I taught myself Perl and C. But none of these guys will use Perl. For anything. All they will use for scripting and prototyping is *Python*. They make the usual cliche jokes about Perl being unreadable etc. I'm really beginning to think that I wasted my time learning Perl.

    • by ThePhilips ( 752041 ) on Monday May 21, 2012 @05:11PM (#40070327) Homepage Journal

      All they will use for scripting and prototyping is *Python*.

      NOT using Perl for prototyping IME is a good thing.

      Many of my program and libraries begin their life as proof-of-concept in Perl. And the problem is that from Perl implementation it is pretty much never possible to devise how much time it would take to implement C/C++/etc equivalent.

      I had totally bad cases like where I have spent 2 weeks writing a library in C++ for which Perl's equivalent took me only 30 minutes. As a proof-of-concept, Perl implementation could be a quick hack - but C++ has to be a production quality. With the vast utility of Perl many corner cases seem trivial and work easily without performance regressions - while in C/C++ one ends up feeling like reimplementing the wheel for every one of them.

      Perl is BAD for prototyping for C and C-like languages IMO. The difference between the languages and the libraries is way too great.

      P.S. I'm not sure how better it is in Python. It should be better: the utility of the Python is much more limited compared to the Perl.

      • by Junta ( 36770 )

        Basically, most of any scripting language pretty much makes you throw out the codebase when you go to C. Exploring a concept to assess feasibility can work, but don't expect to not have to nearly start over, just with the benefit of knowing which algorithms/development paths just won't pan out.

        • Exploring a concept to assess feasibility can work, but don't expect to not have to nearly start over, just with the benefit of knowing which algorithms/development paths just won't pan out.

          My problem with Perl is precisely that: it is nearly impossible (or very time consuming) to implement conventional data structures like list or tree in Perl. One generally doesn't need them in Perl - but they pop up pretty often in C/C++/etc.

          Now, when prototype is implemented using the Perl's arrays and hashes, they are orthogonal to data structures C++ code it going to use. Assignment of arrays and hashes (even during their mutation in loop) is optimized well in Perl - but in C++, it would end up being

      • If you're writing in "C/C++" then you're either writing C, or terrible C++, so no wonder it is taking you so long.

        Try using C++, or even C++11.

    • by rduke15 ( 721841 )

      Whether you wasted your time depends on whether you can use what you learned occasionally, or whether you had fun learning it. But anyway, learning anything is seldom a waste of time.

      If your coders know several languages, and happen to not like Perl, that's OK. But if they know only a single language and really never use anything else, they are just not very competent and probably also quite boring.

    • by cheekyboy ( 598084 ) on Monday May 21, 2012 @06:43PM (#40071205) Homepage Journal

      If they write their own code, its unreadable?

      Fire them.

      Its easy to write code in perl that looks like C and is readable, and still fast. (Often faster than java btw)

      Yes, using shortcuts and lots of login in one line is cute, but its horrible to read, so DONT do it.

      • Yes, using shortcuts and lots of login in one line is cute, but its horrible to read, so DONT do it.

        Once I met an absolute bastard in the Perl community, sneering at my code because every module was documented. The cheerful dogma "it was hard to write, it should be hard to read" still lingers. Gives you the same demoralising feeling as middle-managers stating that "If it's that easy to understand it must have been dead easy to develop."

    • When I write quick scripts and prototypes I want things to work, and not discover at runtime that a typo in a variable name breaks.
      That's why I love "perl -c" combined with "use strict" and have abandonned Python a long time ago.

  • Parallax (Score:5, Insightful)

    by hessian ( 467078 ) on Monday May 21, 2012 @04:24PM (#40069791) Homepage Journal

    We're seeing Perl as having moved because we have moved. Perl has kept doing what it has always done at a high level of excellence.

    The market shifted. First, many Perl programmers shifted to PHP once the net decided security and economy of processing power were not goals on the table. Second, a lot of newer programmers are reliant on frameworks and other pre-built systems and learned the languages that go with those.

    However, among those who've just kept making things work for the past 15 years, Perl remains alive and well. It is still the fastest way to get the widest range of tasks done. And if you don't code like an obscurantist maniac, it's easy to maintain.

    It may look to us like Perl went away, but what really happened was an infusion of other people and trends. Now that the free money from a dot-com booming economy has gone away, Perl is shining through once again as the reliable and powerful option that it is.

    • by Eil ( 82413 )

      The market shifted. First, many Perl programmers shifted to PHP once the net decided security and economy of processing power were not goals on the table. Second, a lot of newer programmers are reliant on frameworks and other pre-built systems and learned the languages that go with those.

      Do you maintain the website linked as your home page? If so, what's it running under the hood [deathmetal.org]?

  • Boy, a sweet five-16th birthday! Happy congratulations, Perl!

    So what to get a language for their 5.16th? A new Car-p? Or maybe an actual car from Dad's dealership [perlauto.net]?

  • Perl's strength (Score:5, Interesting)

    by Okian Warrior ( 537106 ) on Monday May 21, 2012 @04:26PM (#40069833) Homepage Journal

    Perl's strength is that it's expressive. It's not a language which is easy to learn or which generates heavily optimized code.

    In the demo phase, you're not really worried about performance. The goal is to have something showing as quickly as possible, and not worry too much about how fast it runs, or how much memory it takes. Overspec your demo system for the time being (ie - make it really fast and install lots of memory), and once you have a reasonable interface go back and recode it in a simpler language which can be more easily optimized.

    Languages which are simple to learn (c++, for example) are generally not very expressive. You end up wasting tons of time debugging issues of memory allocation, library interface details, and datatype conversion.

    Languages which are expressive are a little harder to learn, but any individual line in the expressive language does a lot more. Since you are writing fewer lines, and since the fewer lines do more, you end up making programs more easily and in less time.

    Yes, the programs will execute a little slower, but as mentioned, this is not important in the demo stage. Your productivity will be much higher.

    And there are lots of places where performance simply doesn't matter. Scripts usually fall into this category.

    Perl was written by a linguist, not an engineer. As such, it's harder to learn (it's got tons more keywords and context), but once you get the hang of it it's much more expressive. The following single line:

    @Lines = sort { $a->{Name} cmp $b->{Name} } @Lines;

    unfolds into several lines of C++, plus a subroutine definition with datatype definitions. The following line:

    @Files = <c:/Windows/*.exe>;

    can be implemented using one of over a dozen possible library calls in C++, but is builtin in perl. You don't have to look up the library call interface specific to your system.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      Well put. Except perhaps for the part about C++ being "easy" to learn. C++ is a fucking mess.

    • by Eil ( 82413 )

      Languages which are expressive are a little harder to learn, but any individual line in the expressive language does a lot more. Since you are writing fewer lines, and since the fewer lines do more, you end up making programs more easily and in less time.

      I'm not disagreeing with this in any way, but an expressive language which does a lot in a single line of code by definition means that it's harder for humans to read. And readbility is (in my opinion) directly proportional to maintainability. This is, perh

    • slashdot is written in perl

      in todays i7's , perl runs as fast as P4.

      http://shootout.alioth.debian.org/u64/perl.php [debian.org]

      Sure, a mandolbrot may be way faster in java, but real world solutions, are not 100% math, but a combination of data transforms, logic and db acesss or rest access, with disk io or net io.

      And if most of your data is text, ie xml/json/csv, then perl can be as fast as java, but with less layers.

  • by Fished ( 574624 ) <amphigory@@@gmail...com> on Monday May 21, 2012 @04:32PM (#40069905)

    are we in the middle of a Perl renaissance?

    I hope not. I have to maintain a large body of Perl code at work, and it's a nightmare.

    • by kwoff ( 516741 ) on Monday May 21, 2012 @05:06PM (#40070285)
      Have you maintained any (large) body of code that isn't a nightmare?
    • I have to maintain a large body of legacy C code and guess what... It's also a nightmare. I love Perl. I use it daily to help me organize and maintain my archives, compare code, and manage it. Of course, I understand the language and have taken care to document the times I get overly idiomatic or use cryptic syntax, so that when I return to my perl scripts later, they aren't entirely unintelligible.
    • are we in the middle of a Perl renaissance?

      I hope not. I have to maintain a large body of Perl code at work, and it's a nightmare.

      Funny that. I've had quite similar nightmares with Java and PHP, which are supposed to be all that. My history with Java has really REALLY put me off that languaage (and now with Oracle on the litigation warpath I've resolved to avoid Java whever reasonably possible--I'd even wipe my Galaxy S2 of the Java-esque Android and put on boot2gecko if the latter was really ready for prime time). In the case of PHP I found it to be like a walk in the pasture--an easy hike to start but then you step in a pile of c

  • I've been using Perl on small and big projects [both my own and commercial] since about 1994 and am very aware of its defects, terse and sometimes confusing syntax, especially 'things that work but somewhat unexpectedly', weak typing unless you add module magic etc. etc.

    However, it has always felt incredibly intuitive and efficient, because, I suspect, that a linguistics person rather than a hard-IT construct-elegance person is behind its design. That and the fact that you can find a library for anything
  • From the link:

    According to the developers there are 590,000 lines of changes across 2,500 files from 139 authors in Perl5.16.0. Perl5.16.1 should be published on 20 June, addressing any significant bugs found in the 5.16.0 release. Work will then begin on the 5.17 development branch which should arrive as Perl5.18 in May next year. /blockquote?
    Sounds like a HUGE amount of development! I had no idea of the scale of the effort and love and use Perl myself.
    Hard to imagine how anyone intelligent could ever say

  • Awesome (2nd try) (Score:4, Insightful)

    by mattr ( 78516 ) <`moc.ydobelet' `ta' `rttam'> on Tuesday May 22, 2012 @02:42AM (#40073965) Homepage Journal

    From the link:

    According to the developers there are 590,000 lines of changes across 2,500 files from 139 authors in Perl5.16.0. Perl5.16.1 should be published on 20 June, addressing any significant bugs found in the 5.16.0 release. Work will then begin on the 5.17 development branch which should arrive as Perl5.18 in May next year.

    Sounds like a HUGE amount of development! I had no idea of the scale of the effort and love and use Perl myself.
    Hard to imagine how anyone intelligent could ever say Perl is not timely with this kind of mass coordination going on. (Not to mention Slashdot being written in Perl IIRC...)

    Personally I am excited about the Modern Perl book (I seem to have self-censored myself into using older versions).
    I have used and liked Catalyst but have also imagined even easier ways to build systems with it and say Moose.
    So I am going to have a lot of fun trying out Dancer and PSGI/Plack.

Ocean: A body of water occupying about two-thirds of a world made for man -- who has no gills. -- Ambrose Bierce

Working...