|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
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?
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:
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.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Tuesday, 12 November 2019 )|