DEV Community

Discussion on: Rewriting Software from Scratch: Signs of a Need And Resulting Benefits

Collapse
 
smonff profile image
🌌 Sébastien Feugère ☔

The assumption you made about Perl being obsolete is wrong. It is perfectly suitable for various tasks from system administration to web development. See the Modern Perl trend and frameworks like Mojolicious.

Collapse
 
expanicesoft profile image
Expanice Soft • Edited

Hello Sébastien! I see you're a Perl enthusiast and even a member of the Perl Weekly editorial team. And all your geese are swans, of course. Indeed, I haven't an intention to derogate from the value of the tech you're best with. But let's make sense of it. When we speak about Perl, we mean Perl 5, which initial release was in 1994. Perl 6 is in the permanent "Under construction" stage since 2000, but in 2019 the name was changed to Raku, so, actually, it is not Perl. And this fact reminds something. What's to the fifth version, it's by no means mainstream. Currently, Perl is the 17th most popular based on TIOBI Index with ~1%. Of course, there is still much working software based on Perl. And such enthusiasts like you are in high demand thanks to employee scarcity.

dev-to-uploads.s3.amazonaws.com/i/...

But please tell me how many juniors in your community? I bet there is no sign of people with less than 10 years of Perl experience in your community, not by a long shot, right? At Glassdoor, I've found just a couple of Perl-focused positions among much more where Perl was just mentioned. Almost all of them include Perl as a part of requirements kinda "Experience with at least one scripting language (Python, PHP, Perl,…)", so, Perl is just an extra here. No offense, but nowadays Perl-based software is highly likely obsolete, and most often a complete rewrite of it using something more popular and up to time is the best idea.

Collapse
 
smonff profile image
🌌 Sébastien Feugère ☔

BTW I have only < 4 years of professional Perl experience.

Collapse
 
ibrierley profile image
Ian

I would disagree with this. One of the things the Perl team does, is prevent obsolescence. There are still updates to Perl 5, it's still moving forwards, it's still keeping old software supported. I think it's different when a team decides that a language will no longer receive updates etc (eg Python 2, what happens if there's a security flaw found). We still code new things in it. We know other large sites that use Perl extensively.

Sure, there are much more flavours of the month out there, but like some other languages, Perl has stood the test of time. There are no surprises with it, no sudden breakages. I do agree about less specific Perl programmers out there, and sure, not many new teams would choose Perl as a language to start a project with (unless a good familiarity with Perl already).

Collapse
 
smonff profile image
🌌 Sébastien Feugère ☔ • Edited

To clarify: I am not a member of the Perl Weekly editorial team.

The fact the language is unpopular doesn't mean it is not suitable for most of the imaginable tasks. And it's oldness make it very stable. Also the unpopular aspect push companies to hide their own use of this language (they wouldn't like to scare people). For example, most of Unix like systems requires Perl for proper functioning.

There are all kind of trendy technologies that get much more appeal, but this one is still there after 25+ years.

I think judging anything by popularity is biased and in this way, TIOBE is rather meaningless.

In the Perl community I remember of a very good storie about "rewriting from scratch" an application that was functionning. Two years later, and an explosing budget, the rewriting project is cancelled because the initial Perl app was faster. Yes, faster! Perl 😂

Collapse
 
bbrtj profile image
bbrtj

I'm sorry but you just lost your bet. I have no more than four years of Perl experience and I'm a member of this community.

Perl 5 release date does not matter, because for many years it was locked to major version number 5 due to Perl 6 experiment. With all the new features and all the excellent community modules, it is a completely different language than even perl 5.8, not to mention 5.0.

Collapse
 
expanicesoft profile image
Expanice Soft

Hey Sebastien! We finally decided to make an update to clarify our position and make it unoffending. Thank you for the discussion, we hope the current explanation finally made the position expressed in the article neutral in your opinion. Cheers!

Collapse
 
smonff profile image
🌌 Sébastien Feugère ☔

I actually never found the post "offensive": it just looked plain wrong and sad for your company to publish such facts that show a relative ignorance of the subject.

Now you updated the post, I actually feel really offended.

« Maybe the word itself sounds too offensive for them. »

What is that even supposed to mean?

Thread Thread
 
expanicesoft profile image
Expanice Soft

We mean the question is not in the Perl or any other given technology but in the business. So, 'obsolete' here could only mean 'most often unprofitable or less profitable for the business to be used here compared with other potentially applicable technologies'. I hope now it sounds better?