Linked by Shlomi Fish on Sat 16th Oct 2004 07:28 UTC
General Development The purpose of this essay is to explain why I believe Perl 6, the way it currently seems to progress, is the wrong thing at the wrong time, and why I predict (with all the expected caveats of predicting something) that it won't be successful. I will also suggest a better alternative for the future of Perl which makes more sense at this point.
Permalink for comment
To read all comments associated with this story, please click here.
RE: Meh
by Shlomi Fish on Sat 16th Oct 2004 18:07 UTC


1. Perl 5 is not understood very thoroughly but it is understood enough. On the other hand, in Perl 6 many things would be different, and I don't understand things throughout the entire language, some of which are very basic. I and most other Perl 5 programmers out there are already used to Perl 5. Perl 6 will break a lot of the old habits, and introduce many new incompatibities. People understand enough of Perl 5 to do their work and can gradually learn more. But I don't understand enough of Perl 6 even to translate my simplest Perl 5 scripts to it.

2. While Perl 5 and Perl 6 would be able to run over Parrot, it is not clear whether interoperability will be straightforward. Perl 5, Perl 6 (as well as Python, Ruby, PHP, Scheme, etc) have different semantics and it is not clear whether Parrot can bridge them in a simple manner. A programmer I talked to said, he spends most of his time in API writing for high-level languages in making sure that the API corresponds to the language's conventions, rather than making the bindings themselves.

3. I did not say Perl 6 would be an adequate evolution of Perl 5. In 10 years, Fifer (the language derived from Perl 5) may be more similar to Perl 6. However, it will probably be very different from what Perl 6 is today, as well. Nevertheless, the gradual evolution will give people time to adapt their code instead of having to do so in one big swoop. We can add more features without breaking compatibility, or at least without breaking it all at once.

5. I didn't give Joel Spolsky as an authority. I gave one quote to indicate that if you don't understand a specification no-one else will. This is something I personally agree with. Afterwards, I referenced the reader to his article about the growing complexity of software engineering, which I also happen to agree with.

None of these articles were written with Perl 6 in particular in mind. But they do support this. If you think they are wrong, please say so, but don't attack the source. A given source is irrelevant for the assessment of a claim.

6. By the Perl documentation, I meant all the documentation that can be downloaded for Perl. The perl* (perlsyn, perlop, etc.) documents, etc. There is a lot of such documentation available, but a lot of it is not very accessible to beginning programmers, who just want a good reference documentation. And I explained why.

"Perl is a nasty language that peaked during the dot bomb and has been declining in popularity."

Perl is not declining in Popularity. While some languages are becoming more popular as well, Perl still has a large body of programmers, that is loyal and growing. And I completely disagree that it's "nasty".