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'
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 | [reply] |
|
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
| [reply] |
|
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
| [reply] |
|
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) ;
}
| [reply] |
|
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
| [reply] |
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
| [reply] |
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. | [reply] |
|
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'
| [reply] |
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 :-)
| [reply] |
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.
¤
| [reply] |
|
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
| [reply] [d/l] |
|
| [reply] |
|
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?"
| [reply] |
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.
| [reply] |
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 | [reply] |
A reply falls below the community's threshold of quality. You may see it by logging in. |
Re: Does 5.8.0 suck?
by Tardis (Pilgrim) on Aug 10, 2002 at 04:50 UTC
|
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 :-) | [reply] [d/l] |
|
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 | [reply] [d/l] |
|
| [reply] |
|
|