The Perl Master Plan - Fact or Fiction?
Written by Nikos Vaggalis   
Tuesday, 12 November 2019

Will 'the Chill' Braswell, President of the Austin Perl Mongers but mostly know for his work on the RPerl fork, spearheads the "Perl Master Plan" initiative which aims to reinstate Perl as a prime force in the programming world. As an idea and roadmap it seems good. But is it asking the impossible?

The plan proposes a number of targets that the effort should be directed to - Education, Jobs and Performance amongst others. Introducing the focus on Apps the proposal reads:

Variety is The Spice Of Programming 

  • In the past, Perl applications could be found on most computers.
  • Currently, most new apps are written in Objective-C, JavaScript, Python, Java, and dozens of other so-called "fad languages".
  • Efforts to distribute new Perl apps are met with indifference or rejection.
    (Notice a pattern yet???)
  • We are now creating a new collection of Perl apps, including video games, an office suite, various mobile tools, and solutions to the Grand Challenge problems.
  • Each Perl Mongers group will organize regular hackathons in their local hackerspaces and coffee shops.
  • The goal is to have our Perl apps on every digital device on Earth!

Instead of vague promises it's better to analyze what Perl can do, what it can't and what it could do in the near future. Most of the problem domains referenced in the master plan that Perl would thrive in look unrealistic.

Being critical of one's disadvantages is not bashing; self-reflection is a synonym to realism. As important as acknowledging what I can do, the same goes for acknowledging what I cannot. The practical aspect of it is that I don't have to allocate unnecessary resources or waste valuable time on things that cannot happen or that someone else does better already. For example, write video games in Perl? Sure, a snakes-and-ladders game maybe, but what about one like Fortnite? Not with that kind of threading model, I have to say.

An Office suite? Desktop apps are not a thing nowadays, everything runs in the browser therefore direct the effort on reclaiming the web with Catalyst, Mojo and Dancer. Add asynchronous capabilities and reactive streams into the core by means of, say, a RxPerl library?

Client browser-wise, you could point out that it's Javascript's realm, so again there is nothing to do there. All hope is not lost though as Webassembly might turn things around and breathe fresh air to in-browser Perl applications. It's already happening with WebPerl courtesy of Hauke Daempfling's one man show (haukex). Why not offer him a grant to advance the integration of Webassembly and Perl in new and innovative ways?

Python a "fad language"? Going face to face with Python on the data science and machine learning front is a lost cause. Python already excels on that front and there would have to be something extraordinary for people to look the other way. So unless someone does come up with a groundbreaking idea, it's better to funnel the resources elsewhere.

What I'm saying is that instead of looking for Utopia, work on the good parts of the language and make them even stronger. For instance, where does Perl win everyone hands down? The answer is still regular expressions, therefore focus on pushing its regex capabilities even further. As described in Can Regular Expressions Be Safely Reused Across Languages? Perl's regular expression engine makes the web a safer place by being the most effective against ReDoS (Regular expression Denial of Service). Why not reclaim the critical backend Web application infrastructure through that ?

Of course it goes without saying that work must also be allocated to those matters that are in need of revamping and modernizing; threading and concurrency, for instance.

Other promises the masterplan makes are to add: 

  • a Perl curriculum in every school
  • Perl jobs in every company
  • Perl apps on every device
  • make Perl accessible to every person
  • Perl as the fastest language
  • Perl as the most popular language 

Applaudable as an idea, but who is going to do that or how is to be done is, however, not outlined, apart from hinting that the Perl Monger groups around the world will.  The question is, are they aware of that?

The Performance goal of having Perl as the fastest language on Earth probably implies by means of RPerl -  a subset of Perl, hence the R for Restrictive, see RPerl - Running Perl 5 Faster. Again not a realistic proposition. Instead, why not work on an LLVM backend for the whole language, analogous to the work that's already been done by Perlito? I refer you to Perlito - 4 Years On.

Don't get me wrong.  The plan is not bad. It's visionary, but plagued by wishful thinking.

I believe that the Perl 5 community,c which is in a much better position right now since it disassociation from the Perl 6/Rakudo wars, (see  Perl and Raku Both Anticipating Newfound Glory) should take a step back and refocus on the things that matter most and are realistically achievable.

If we want to turn Perl into "the most popular language"? we need to brainstorm on the problem domain that everybody needs and that Perl would excel in.

More Information

The Perl Master Plan

Related Articles

Perl and Raku Both Anticipating Newfound Glory

Can Regular Expressions Be Safely Reused Across Languages?

RPerl - Running Perl 5 Faster

Perlito - 4 Years On

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Gender Differences In Coding Style
13/11/2024

A novel investigation into the gender gap between men and women regarding coding ability was undertaken by Dr Siân Brooke. Her conclusion? There is a difference in the Python code [ ... ]



Uno Announces Platform Studio
19/11/2024

Uno has announced Uno Platform Studio, a suite of productivity tools featuring Hot Design, which they describe as a next-generation Visual Designer for .NET cross-platform apps.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 12 November 2019 )