Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^4: Why Perl in 2020

by eyepopslikeamosquito (Archbishop)
on Dec 11, 2020 at 21:27 UTC ( [id://11125036]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Why Perl in 2020
in thread Why Perl in 2020

In my recollection, Perl 6 did not start with marketing. It started out of frustration because of several problems that were needed to be solved to move forward with Perl 5, and solving those problems would mean breaking backward compatibility. It started with a cup-throwing moment. With groups of people sitting around and discussing and writing down things that needed to change. It took quite some time before marketing came into it.

Interesting. I remember a lot of discussion about Perl 6 history a while back in a very long thread, Curious about Perl's strengths in 2018, where the second-system effect was mentioned. Though there are many historical examples of when rewriting worked well (like the Perl 5 "rewrite" of Perl 4) ... and where it worked not so well (like the Perl 6 "rewrite" of Perl 5) ... I still find it a hard and perplexing problem.

The early Perl 6 folks acknowledged this potential pitfall from the beginning, even using it in their slogan (Apocalypse 12):

The official unofficial slogan of Perl 6 is "Second System Syndrome Done Right!"

Larry gave further background in InfoWorld Larry Wall Interview (2015):

So early on, our slogan, or at least one of them, was "Second System Syndrome Done Right." And how do you do that? Well, you just have to take long enough. Companies can't do that because they have a bottom line and a burn rate. But we're an open source community, not needing to make a profit, only to do good in the world. So you know the saying, "Good, fast, cheap: pick two." Well, by definition our community has to do it cheap, so the saying reduces to "Good, Fast: pick one." And we quite intentionally picked good rather than fast.

See also: Three Tales of Second System Syndrome (blog by Brent Laabs where he discusses Perl 6, Python 3, and PHP 6 circa 2015).

Replies are listed 'Best First'.
Re^5: Why Perl in 2020
by LanX (Saint) on Dec 11, 2020 at 22:12 UTC
    > like the Perl 5 "rewrite" of Perl 4

    Was P5 really a rewrite of P4, or did you put it in "quotes" for irony?

    I always thought it was a very clever piggyback of new concepts on top of P4 to keep full compatibility. Which was brilliant from a marketing perspective.

    The resulting problem was high complexity in many aspects not least because of very different concepts breaking orthogonality (I could name dozen of examples).

    And that led IMHO to the believe that P6 needed to be the opposite, a total rewrite which must break compatibility.

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery

    update

    clarified grammar, fixed typos ... ( English = TIMTOWTDI Wrong )

      Was P5 really a rewrite of P4, or did you put it in "quotes" for irony?
      No irony this time LanX. I was being deadly serious ... just as I was last time I got into heated arguments about the definition of "rewrite" vs "refactor" ... seems to go with the territory. :) Please note that Larry Wall at least seems to agree with me that Perl 5 was indeed a "rewrite" and not a "refactor".

      Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community.

      -- Larry Wall from Perl 6 archive

      See the full Nobody Expects the Agile Imposition (Part VI): Architecture thread for gory details of many more heated arguments around the definition of rewrite vs refactor.

      Update: Just noticed that tilly also agrees that Perl 5 was a rewrite of Perl 4.

        well ... it really depends on the definition of "rewrite" and the dictionaries are not helpful. °

        When in doubt, explain your point:

        I can hardly imagine reinventing Perl5 from scratch and keeping that degree of compatibility with Perl4, so he must have reused the old code base somehow (think of all those complex parsing rules alone)

        Perl6 on the other hand was recoded from scratch, AFAIK.

        Cheers Rolf
        (addicted to the Perl Programming Language :)
        Wikisyntax for the Monastery

        °) the German translations include both "reshaping a text" and "writing it new"

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11125036]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (2)
As of 2024-04-20 05:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found