Why Perl 6 needs to be deemphasized and renamed: a response

AndyArmstrong on 2007-12-28T12:31:49

Paul Cory would like to rebrand Perl 6 into the shadows. It's the kind of Stalinist revisionism favoured by corporations that realise that their "next big thing" has become an embarrassing albatross.

Here are his reasons:

1) It emphasises the "inadequacies" of Perl 5.

All languages have inadequacies, imperfections, miss-features, cruft. Perl 5 is no different. Fortunately, instead of brushing them under the rug, the Perl community is actively seeking to right those wrongs. A question: would you rather use a language that's maintained by people who are a) in denial about it's inadequacies or b) actively developing a new language based on recognised shortcomings? I hope that's a rhetorical question.

2) It makes the development community look unorganized, at best. People comparing at the development pace of Python, Ruby and PHP to Perl 6 are likely to come to harsher conclusions about the community's focus, viability and competence, based on Perl 6's seven-year, and counting, gestation period.

Those hypothetical people are wrong and I don't want to be part of a community that panders to their views. The Perl 5 Porters are doing a great job of continuously improving Perl 5. The Perl 6 team are laying the foundations for the next generation of Perl. Perl 5 and Perl 6 have a mutually beneficial relationship: features, tools and ideas are traded freely between the two groups. It's healthy, responsible and creative.

Python and Ruby have, to their credit, somewhat similar splits between far sighted strategic development and tactical improvements to the current language generation. PHP is a bizarre bazaar that does not provide a model other language communities should emulate.

3) It creates uncertainty: what happens to Perl 5 when Perl 6 finally drops? How much new stuff will I have to learn? How will my existing code work, or not, if I upgrade? Why should I invest time in Perl 5 if Perl 6 is just around the corner, and will be far superior?

Learning to deal with an uncertain future comes with the territory of computing. Continual improvement necessarily means that things will change.

Perl 6 is visible proof that we have vision. Perl 5 is visible proof that we can maintain an extremely high quality programming language. These facts combined should give observers confidence about the health of Perl. As a community we certainly need to work to allay fears and calibrate expectations. But let's not start by hiding one of our greatest assets, ok?

4) It creates frustration inside the community. Perl 6 has been "coming soon" for 7.5 years now. It's hard to remain excited about something that long with no payoff.

Welcome to the world of free software. Instead of waiting for Godot we can go and meet him half way; help him carry his load. Let's be explicit here: if Perl is part of your life or career and you're tired of waiting for Perl 6 help make it happen.

You don't have to contribute code to help. Learn more about Perl 6 so you can explain it to others. If you find it hard to learn make it easier for others: write an article that explains some of the important points, give talks, learn so you can teach.

5) The story is confusing: Pugs? Haskell? Parrot? Two development tracks? I thought this was about Perl? Yes, I have an idea of what those things are, but most folks outside the community (and a fair few inside, I'd wager) don't know, don't care, and shouldn't have to.

If the story is confusing we need to tell it more clearly. That doesn't justify changing the underlying technical narrative.

In a commodified world criticism and spending discretion are the consumer's only levers. We crave influence over the things we consume. In the absence of direct influence over a product's design we use criticism as a proxy for control. We hope that they'll make the next version better as a result.

Criticism is still valid in the free software world but it's importance is de-emphasised. You can criticise or you can help. In fact you can criticise and help.

It's important that Perl 6 is not immune from scrutiny but if you're frustrated that it's taking a while then volunteer. The Perl 6 team is small at the moment; small enough that a few well placed contributions can make a real difference. Let's not default to bitching about it when we have the opportunity of contributing to its success.


Never has so much been owed by so many to so few.

thickas on 2007-12-29T22:05:45

I used to get a bit unhappy by what at the time I thought were delays in the appearance of Perl 6.

When I recall the sacrifice made by those who love the language (eg Audrey, Larry, Dan, Nick .. these are people whose stories have become well known. There are many others), it is not such a big deal.

My confidence is in those who have given so much to this project (and to Perl 5).

I would only suggest that people wishing to evangelise Perl realise that it really depends on others but they in turn depend on our support. Activating that support by promoting practical means of encouragement to the developers may be the best thing to do.

chromatics articles on Perl.COM about hacking Parrot, Adrians Perl 6 operators, writing tests, and Patricks articles about NQP provide concrete instances of where suitable help can start.

In view of chromatics comments about the lack of resources, it may also be helpful to suggest donating to TPF if the pace of Perl 6 needs to pick up.

Bear in mind, that when Britain alone took on itself to defy Nazism in 1940 (sowing the seeds for its subsequent impoverishment), it had no earthly prospect of success, and in fact turned it's back on compromise for the sake of (as it turned out) those yet to be born.

The Perl 6 project can take some heart from that courage and determination.

Rebranding Perl 6 ? What utter nonsense !

thickas on 2007-12-30T08:59:21

I do not think that attempting to deny the past by changing the name of the successor to Perl 5 is anything other than a ludicrous and insensitive suggestion.

This suggestion seems to me have been confounded with the Andy Lester plea for a response to the question of what has happened to Perl 6.

I don't see that renaming the Perl 6 project in any way helps with that problem.

I don't see any problems with telling the truth or so I understand it that Perl 6 has been delayed by false starts and conflicts between developers. That the creation of virtual machine capable of supporting dynamic languages, before .dot Net release 3, proved far more difficult than anyone expected.

On the other hand, pretending that there is nothing to show for 7 years of work is wrong. At the very least there is a working prototype in Pugs in mod_perl that shows many of the features of a language designed to wear out many developers.

Perl 6 is inextricably linked to the efforts of Audrey Tang, Dan Sugalski, Larry Wall, and many, many others. I will not forget their sacrifice and suggest that anything that attempts to do so is shameful.