Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Does 5.8.0 suck?

by grinder (Bishop)
on Aug 08, 2002 at 09:01 UTC ( #188533=perlmeditation: print w/ replies, xml ) Need Help??

I'm extremely conservative when it comes to upgrading Perl on production servers. Mainly because when I do get around to doing the upgrade, I recompile all the modules I've downloaded that contain XS code (not to mention all the other pure-Perl modules). I don't feel the need to place any faith in "binary compatibility", I just think it's safer to recompile the world.

Case in point: I finally upgraded 5.6.0 to 5.6.1 on my company's Sun server about two months ago after I finally encountered a show-stopping bug: when testing cpanplus, I hit a segmentation violation in LWP::Request. Run it in the debugger and it works fine. Run it from the command line and it crashes and burns. Eeeew, my favourite sort of bug :)

The thing is, everyone said for ages that 5.6.0 really stank more or less from the beginning, and it was rapidly deprecated, and replaced by, 5.6.1. So I knew that I was treading on thin ice, but until I ran into a bug I figured I'd wait. It turns out I was able to wait for nearly two years.

What I can no longer recall, though, is how quickly did people realise that 5.6.0 was a doomed release? How does that timeframe compare to the amount of time that 5.8.0 has been released? In any event, I'll probably install 5.8.0 on a couple of minor servers, just as I'll continue to keep 5.005_03 running on another server. I'd just hate to install 5.8.0 only to find out that I need to then install 5.8.1

And then I guess the next step is to get around finally to installing 5.9.x when they start to appear, somewhere it doesn't hurt too much if things do break (for the good of the community and all that).

update: in this thread tilly mentions that 5.6.0 was considered a bad release. This was eleven months after the fact. Can anyone find an earlier reference?

update 2003-07-02: Speed of 5.8.0 versus 5.6.1 would appear to sum up the issue, about one year after the question was first posed...


print@_{sort keys %_},$/if%_=split//,'= & *a?b:e\f/h^h!j+n,o@o;r$s-t%t#u'

Comment on Does 5.8.0 suck?
Re: Does 5.8.0 suck?
by frankus (Priest) on Aug 08, 2002 at 09:14 UTC
    IME any release of software ending in .0 is worth avoiding.
    Of course this doesn't apply to Microsoft Software, which is always worth avoiding (IMHO ;o)

    --

    Brother Frankus.

    ¤

      Althought I'm not a fan of Microsoft and has been known to speak against it, I've learned it's best to avoid such generalizations. Microsoft could be credited for a number of achievements. For example, their COM, OLE and etc. model is unique (although not prone to hacker attacks ;/). Getting inside Windows, one could find a number of good as well as bad features. However, even some of the open source projects are far from being perfect, unfortunately.

      There are places where Microsoft products are indispensable. I'm working with Windows Media Services server now and it doesn't look bad. In fact, I very much like the way they've organized the Server API. Writing custom plug-ins is relatively easy and straightforward (even in C++, which is what I'm using now). Not to mention their latest release of Visual Studio .NET, so far it's proven to be an excellent tool.

      Certainly, blue screens of death could be a nuisance at times ;-)

      _____________________
      # Under Construction
        Here are some of the criteria I apply to all Software:
        1. Is it free? If not, is it worth the money?
        2. Is it proven to be robust and secure?
        3. Is there an effective way of reporting bugs and requesting enhancements?
        4. Are upgrades made frequently and at no cost between major releases?
        5. Does it conform to existing conventions? If not does it improve on existing standards?
        6. Does it use proprietary file formats?
        7. Are the file formats well documented and that documentation publicly available?
        8. Does using the Software exclude me from using other manufacturers software?
        9. Does using the Software bind me to using other software products that I must purchase?
        10. Does it only run on certain platforms?

        From my criteria you will see that .0 releases (in my opinion ) only fall down on point 2.

        --

        Brother Frankus.

        ¤

Re: Does 5.8.0 suck?
by mirod (Canon) on Aug 08, 2002 at 09:41 UTC

    One thing to remember is that there has been a lot of work done on the test suites (thanks to Schwern, Chromatic and other unsung heroes). So even though the language gets more complex with each release (with Unicode support for example) you can also be a lot more confident that glaring bugs will have been caught.

    So in short my bet is that 5.8.0 is a lot more stable than 5.6.0 was.

    5.9.n OTOH will be a development track, so it might not be such a good idea to install it on a production system.

    --
    The Error Message is GOD - MJD

Re: Does 5.8.0 suck?
by PodMaster (Abbot) on Aug 08, 2002 at 10:05 UTC
    I'm not aware of LWP::Request, so i'll assume you probably meant HTTP::Request.

    It's been 2 years and you've updated your perl, but have you updated your LWP?

    libwww-perl-5.65 is available.

    ____________________________________________________
    ** The Third rule of perl club is a statement of fact: pod is sexy.

      Ahem, yes, HTTP::Request. Indeed, I updated all that I could lay my hands on, and yet the bug remained. It was only after I had exhausted this line of attack that I bit the bullet and upgraded to the next version of perl.

      And the bug went away :)


      print@_{sort keys %_},$/if%_=split//,'= & *a?b:e\f/h^h!j+n,o@o;r$s-t%t#u'
Re: Does 5.8.0 suck?
by Abigail-II (Bishop) on Aug 08, 2002 at 10:06 UTC
    There are bugs in 5.8.0. There are bugs in 5.6.1. There have been bugs in any version of Perl that was released. There are even bugs that take many years to be found, or years to be fixed after they have been found.

    What's important is, "will the bugs effect your system"? You can only find out by testing (you do have a test system, right? ;-)). But I would also like to point out is that running the latest release isn't a goal in itself. If you run problem free with 5.005_03, and you don't need any features from 5.8.0 (or 5.6), why upgrade? It's not that new versions of Perl are faster (they might be faster in some areas, they are slower in others, and while it will differ from environment to environment, newer versions of Perl tend to get slower overall).

    Abigail

      Why upgrade unless you need a new feature found in the new version? To me the only reasons to upgrade to 5.8.0 would be the dire need of the New IO Implementation features, New Thread Implementation (stable threads?) or Better Numeric Accuracy. Or I guess to fix a bug that there is no known or acceptable workaround for in an older version...

      -Waswas

        Well, one possible reason would be that you are a module author and want to test your modules against 5.8.0 before publishing them. Especially aginst a threaded 5.8.0 perl...

        I like the new I/O features, since I'm working a lot with Unicode these days. That made me install 5.8.0 alongside 5.6.1

      Is "I want to keep me up-to-date with the new features of Perl, or at least the ones I am interested in" a good answer to "why upgrade?"

      I am not a fan of the gimme-the-latest-version line: I prefer stability and my OS of choice is Debian Linux in fact, so I agree with you on the overall. But if you want to test the newest features, having a brand new Perl 5.8.0 aside of your older installations is a good choice, isn't it?

      Ciao!
      --bronto

      # Another Perl edition of a song:
      # The End, by The Beatles
      END {
        $you->take($love) eq $you->made($love) ;
      }

        Is "I want to keep me up-to-date with the new features of Perl, or at least the ones I am interested in" a good answer to "why upgrade?"
        For a production system? No. (The thread is about upgrading on production systems). You might want to upgrade Perl on a development server for those reasons, but not if it's important your product has to run on older versions of Perl.

        Abigail

Re: Does 5.8.0 suck?
by bjr (Novice) on Aug 08, 2002 at 17:58 UTC

    I dunno. I waited patiently for 5.8.0 and avoided the temptation to grab any of the release candidates for my production server. I, too, shuddered to think of what would happen to my nice mod_perl website if I installed a beta quality Perl. Mind you, I don't work for a multi-billion dollar company, so my production server isn't worth as much real money, but even still...

    But, while roaming looking for fun, exciting new things to play with on my development server, I noticed that it no longer said 'perl-5.8.0RC2.tar.gz'. Nope, this was the real thing. So, I had a race between my Linux Celeron 733 and my NetBSD Pentium II/333 to see which would compile first. The race was much closer than many may have thought.

    And I've had no reason to curse my impulsiveness on seeing that Perl had been deemed release quality. My mod_perl recompiled against 5.8.0 without a hitch. My development mod_perl 1.99a also compiled against 5.8.0 without a hitch. My website was safe, and the Camel looked exactly the same, if maybe a little older.

    So, if you're having problems with your Perl, I say "It's gotta be your OS, eh?"

Re: Does 5.8.0 suck?
by ehdonhon (Curate) on Aug 08, 2002 at 18:03 UTC

    My understanding from what I read when 5.8 came out was that 5.8.1 would not be around until after 5.9.0. So, if you are waiting for 5.8.1 before you install, you could be waiting a while.

Re: Does 5.8.0 suck?
by Courage (Parson) on Aug 08, 2002 at 18:28 UTC
    Personally, I already saw some incompatibilities, and following two are those who stopped for a bit my migration:

    When I tried my real-life script on 5.8.0 that used to run okay with 5.6.1, I found out that it just stopped working. It appeared that :crlf layer, which is set by default on Win32, contains a bug in respect in functions tell/seek, I reported it, it's number is #15986.

    Also, E.Page was used to release new version of "ptkdb" debugger that contains a hack-like addition to make ptkdb work with 5.8.0 - something seems to be broken in DB::DB debugger interface.

    But anyway, I have both newer and elder perls installed on my machine, and I try them both from time to time.

    Courage, the Cowardly Dog

Re: Does 5.8.0 suck?
by adrianh (Chancellor) on Aug 08, 2002 at 21:41 UTC

    I stuck 5.8.0 on a dev box a couple of days ago. It installed without a hitch.

    I then installed the CPAN modules I use regularly or find vaguely interesting (88 at the last count, not including the ones that they depend on). They all installed with no problems (I love CPANPLUS)

    I then did a global smoke test on all of the code that I've written. All tests passed (well, all them that worked under 5.6.1 did anyway).

    I've been using perl since v4 and this is the first time an upgrade has been this pain free. It's certainly the first upgrade that's not broken at least one bit of my code. A huge vote of thanks to chromatic, Schwern, et al for all of those extra tests. It was worth it!

    That said - if it ain't broke don't fix it is always my motto on production servers :-)

Re: Does 5.8.0 suck?
by Tardis (Pilgrim) on Aug 10, 2002 at 04:50 UTC
    Wow!

    weasel:~ > perl -v This is perl, version 5.005_03 built for i386-freebsd
    This is partly because of FreeBSD - until the upcoming 5.0 release they have stuck to this version of perl.

    On the other hand, I'm only just now starting to run into stuff which requires a newer version. Certainly the lack of 5.6 or better hasn't hurt any of my production stuff.

    I'm constantly amused about people agonizing about whether to upgrade fom 5.6 to 5.8 :-)

      Incidently, you can change that version of Perl on FreeBSD by doing
      # cd /usr/ports/lang/perl5.8.0/ # make # make test # make install # use.perl ports
      That last command will set symlinks and whatnot, so that the new version is used by the system, with whatever ports are being compiled etc, and the source won't get overwritten on the next make world
        Unicode and You seems relevant, it's my recent dealings with 5.8. Outside of that arena I've not noticed a difference.

        --
        perl -pew "s/\b;([mnst])/'$1/g"

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://188533]
Approved by Dog and Pony
Front-paged by theorbtwo
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2014-09-21 01:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (165 votes), past polls