A com­ment on the Medium ver­sion of last week’s arti­cle got to me:

I wish they’d just leave Perl sta­t­ic. Then we wouldn’t have to waste mon­ey retest­ing lega­cy Perl apps on the newest ver­sion every cou­ple of years, in case new fea­tures we don’t want breaks code that’s been unchanged for years. […] Sometimes things should just be left to die gracefully.

William Smith

Programming lan­guages, like all soft­ware, change to meet new chal­lenges. Developers add new fea­ture enhance­ments, users find bugs for them to fix, and occa­sion­al design errors need to be cor­rect­ed. In Perl’s case, the Perl 5 Porters (the group of vol­un­teers that devel­op and main­tain Perl) have had an explic­it back­ward com­pat­i­bil­i­ty and dep­re­ca­tion pol­i­cy since 2011 that tries to pro­tect the Perl user com­mu­ni­ty from the break­age of old code while still mov­ing the lan­guage for­ward. In short, they do their absolute best to min­i­mize your test­ing and changes.

To that end, the Perl devel­op­ers have done an amaz­ing job pre­sent­ing new syn­tac­ti­cal fea­tures as only enabled when adding the appro­pri­ate use feature or use VERSION con­struct. If you do not add this code, the new syn­tax will not be enabled and your lega­cy code will not break. Incompatible changes, if there are any, are always doc­u­ment­ed in a release’s perldelta doc­u­ment (hint: it’s under the head­ing Incompatible Changes”).

Given all this, it is a mon­strous thing to demand an entire vol­un­teer com­mu­ni­ty stop enhanc­ing their plat­form so that your par­tic­u­lar appli­ca­tions can remain sta­t­ic while con­tin­u­ing to take advan­tage of the sup­port pol­i­cy gen­er­ous­ly offered for recent releas­es. If you need an unchang­ing plat­form, don’t upgrade it—and take all the respon­si­bil­i­ty that implies, such as the back­port­ing of secu­ri­ty fix­es beyond the three-​year sup­port com­mit­ment offered (again, gratis) by Perl’s developers.

You have no right to demand Perl stands still and dies grace­ful­ly” any more than any­one has the right to demand that of you.

6 thoughts on “Should Perl die gracefully?

  1. […] Remem­ber that con­sis­ten­cy builds trust from your audi­ence. Make time to write reg­u­lar­ly and pub­lish posts as often as you can man­age. I set a goal to pub­lish at least once a week and have kept up this pace since Jan­u­ary of this year. You can often find new top­ics as you mon­i­tor and par­tic­i­pate in the social forums in which you’re pro­mot­ing your blog, espe­cial­ly in the com­ments. Even neg­a­tive com­ments can dri­ve new topics. […]

Comments are closed.