Python 2/3 versus Perl 5/6

Mario Figueiredo marfig at gmail.com
Sat Mar 28 15:36:28 EDT 2015


On Sat, 28 Mar 2015 21:32:31 +1100, Steven D'Aprano
<steve+comp.lang.python at pearwood.info> wrote:

>The famous Perl coder Allison Randal writes about why Perl is not dead (it's
>just pining for the fjords *wink* ) and contrasts the Perl 5/6 split to
>Python 2/3:

A shame Allison doesn't frequent these groups. I would have a few
questions for her.

Perl 6 is in fact a bit like Python 3. Perl 6 is an attempt to
recreate the language, addressing (by throwing away or heavily
changing) all the things that gave an indication the language would
stiffle and die and bring in new ideas to address the demands of
modern software design and implementation...

But that's not the thing that confuses me most about Allison's post.
The whole conversation about Rakudo not being Perl was.

Perl 6 is Perl. It is part of the Perl family. And Perl 6 has been
developed exclusively as a language specification. Which means it is
not a language implementation. Rakudo is one such implementation, for
the JVM, of the language specification known as Perl 6. Therefore
Rakudo is Perl 6, which means Rakudo is also Perl.

I mean, we can all agree Jython is Python. Maybe not CPython, but
Python. Maybe not pythonic in all its body, but Python. Rakudo is no
different. It's a shame(?) it is gaining no traction (and I think
Alisson optimism is either misplaced of whishful thinking). But Rakudo
is a reminder to everyone about the design principles and motivations
behind Perl 6. For good or bad, because no other implementation of
Perl 6 exists yet that can produce working code, which after all this
years can only mean that Perl 6 is in deep trouble.

The attempt at an analysis of Perl decline seemed to me also largely
unable to touch the real spot of why Perl has been declining over the
eyars (or rather, why it has declined into a stable but unconfortable
low). It doesn't help to try and come up with elaborate, albeit
sterile, language constructs. The Cookie Slap! Effect, Singularity
Paradox, or the Awkward Adolescent Fallacy are not only vain, but fail
to address what I believe is a much simpler explanation.

Simply, Perl did come at the right time. But Perl came with a grammar
and set of semantics that couldn't survive for long as soon as other
languages started to follow on its footsteps. Perl wasn't designed to
be a language of the future, rather to be a language that could solve
the present problems without much regard to how painful that solution
could be to maintain in the future.

And Perl solved a whole lot of problems. But now others are doing it
too. And in a way more in accordance to the requirements of modern
software development. It was simply necessary that languages like
Python or Ruby showed up or we would be knee-deep in maintenance hell.

Perl also addressed the problems of the so-called Web 1.0. But the Web
2.0 didn't present many of those problems anymore. Suddenly Perl
powerful text parsing features weren't so important as other
non-generic and more specialized languages started to address the
server and client side of web programming.

Maybe Perl has a future. I wouldn't count on it though. I think Perl
is really dying. I don't say this as a language advocate. That's
something I am not. At all. I don't defend or attack programming
languages, period. And that's because I find the exercise of
programming language advocacy one of the most tragic things to have
ever happened to computer science. Objective analysis is a dying art.

And if Perl eventually dies. It is no tragedy. It's the loss of a
programming language with no real place in the problem domain of
modern computing.



More information about the Python-list mailing list