pauamma: Cartooney crab wearing hot pink and acid green facemask holding drink with straw (Default)
Res facta quae tamen fingi potuit ([personal profile] pauamma) wrote in [site community profile] dw_dev2011-05-15 05:44 pm
Entry tags:

Versions of perl

So Perl 5.14 was released today, and Perl 5.10 (and Perl 5.8) is no longer maintained. This raises the question: which version(s) of Perl should we allow, recommend, or use in development and production?
outlier_lynn: (Default)

[personal profile] outlier_lynn 2011-05-15 04:58 pm (UTC)(link)
Not that my opinion about Dreamwidth development should hold much sway, but I'll give it anyway.

In all my development work, I usually use the next to last "stable" release of everything unless there is a particular added feature that I really want to use. No matter how long something stays in beta, I tend to find the edge case bug in new versions of languages. I prefer to let other people find it first. :)
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2011-05-15 05:05 pm (UTC)(link)
I say we spend some time testing things under 5.14 and see what breaks before we make any decisions. :)

(I believe our general policy should be to stop requiring versions that are no longer supported, but I know that perl upgrades can cause massive problems.)
dreamatdrew: An orange leopard gecko half hiding behind the leaf of a 'lucky bamboo' plant, looking directly at you. (Default)

[personal profile] dreamatdrew 2011-05-15 05:51 pm (UTC)(link)
Supported by whom?

Ubuntu is currently at 5.10 in 10.04 LTS, and marked as Canonical supported. I doubt that 5.14 will make it into the ubuntu repos untill 11.11 at the earliest.


That being said, find me the .deb and tell me what you want poked, and I'll poke it.
dreamatdrew: (Daria)

[personal profile] dreamatdrew 2011-05-16 01:11 am (UTC)(link)
Not arguing that trying to update is a good idea. Kinda all for that, actually.

The consideration in my brain actually is that if we're going to require specific versions that may not be in the standard distro-install channels, we'd prolly wanna provide that version. Prime Example: perlbal.
sophie: A cartoon-like representation of a girl standing on a hill, with brown hair, blue eyes, a flowery top, and blue skirt. ☀ (Default)

[personal profile] sophie 2011-05-20 04:03 am (UTC)(link)
Oh, does perlbal require a specific version? I didn't know that.
dreamatdrew: An orange leopard gecko half hiding behind the leaf of a 'lucky bamboo' plant, looking directly at you. (Default)

[personal profile] dreamatdrew 2011-05-22 08:35 pm (UTC)(link)
Um, was using that as "Stuff we supply". Not sure that DW requires a specific version, but why else would we supply it?
cdybedahl: (Default)

[personal profile] cdybedahl 2011-05-16 07:25 am (UTC)(link)
(I don't know about Dreamwidth development, but I work as a Perl consultant, I give courses in it and I follow the Perl development).

Backwards compatibility is taken very seriously by the Perl developers. There are new features in 5.10, 5.12 and 5.14, but you have to specifically ask to have them activated before you can use them. In general, the most likely reason to get problems when going up to a newer Perl version is that you've accidentally relied on buggy behavior that got fixed, or that you're using a feature that got deprecated (one major version will warn before anything is removed, so only really a surprise if you jump several major versions in one go).

It is much more likely that you'll have problems when upgrading any external modules you rely on, but you'll probably run into that one even if you stay at an old Perl version.

My recommendation: If you just want a newer more-supported Perl version, aim for 5.12.3. I've moved two projects from 5.8.9 to 5.12.3, and it was very smooth both times. If significant work with non-latin alphabets and/or IPv6 is in your future plans, wait a couple of months and try 5.14.1 instead.
cdybedahl: (Default)

[personal profile] cdybedahl 2011-05-23 04:12 pm (UTC)(link)
Oh. In that case I'm sorry to say that there has been extensive work done in that (UTF-8/Unicode) area in every version after 5.8, and that since it sounds like you're using it in a not-really-intended way, you're quite likely to run into problems.

I can definitely see how doing it the way you describe was a good choice a bunch of years ago, but I don't think it is any more. It also sounds like the sort of thing that's a huge amount of dull and fiddly work to change...
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2011-05-23 04:17 pm (UTC)(link)
It also sounds like the sort of thing that's a huge amount of dull and fiddly work to change...

Siiiiiiiiigh. We needed another one of those like we need a hole in the head...
pne: A picture of a plush toy, halfway between a duck and a platypus, with a green body and a yellow bill and feet. (Default)

[personal profile] pne 2011-05-23 04:27 pm (UTC)(link)
Yeah.

Back then (Perl 5.6 or so?), Unicode support in Perl was kinda flaky, if I recall correctly, so it made sense not to rely on it. (Plus LiveJournal originally didn't even support Unicode; that may have influenced the way things were handled. Do you remember the character set conversion widget people had to use to tell the system what charset their previous journal entries were stored in, once Unicode started being used internally?)

Now, doing the Unicode explicitly in Perl would totally be the way to go. But as Calle said, a *huge* amount of dull and fiddly (and error-prone!) work to change.

Once it's done, things will be better (no more opportunities to miss a place where you forgot to tell Perl, "No, I want to do this by myself, the hard way")... but until then... yeah.
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2011-05-23 04:32 pm (UTC)(link)
Hell, we still have to point some people at the UTF-8 conversion page on LJ, because their old entries were never properly converted and they're trying to import!

But yeah; it's probably the sort of thing we should've done before opening, but it would've delayed us another six months at least, and, meh.