Hacker News new | ask | show | jobs
by erichsu 4497 days ago
In my opinion, they buried the key point... the dead end of Perl 6.

Up until last year, I did a lot of web development in Perl. Its strengths were CPAN & community, ubiquity and top-notch text processing. Its acquired taste was very elegant expressiveness once you grokked the grammar.

Then all the Perl leadership focussed on the black hole of Perl 6 which was solving a problem no one had but CS linguists. So Perl users like me felt there was no future in Perl. Perl 6 would have to be relearned for no tangible benefit so why not learn something new with a growing rather than stagnant/declining ecosystem? No one was forced to leave, but like a trap door, as soon as a Perl programmer learned something new, they were only going to continue to decrease their use of Perl.

The rise of Python and Ruby (and Ruby on Rails especially) and even PHP, were grave wounds to the health of Perl, but Perl 6 was the self-cutting that bled the community beyond the point of self-repair.

2 comments

I don't think Perl 6 is a dead end. Far from it. From what I know is that its nearly feature complete. A small set of features remain, but those are only like what should be added for completeness sake.

Bulk of the effort is in developing MoarVM, which is likely to become a suitable replacement for Parrot. Documentation, Speed and standard libraries remain as open issues. Of which last I heard was Larry Wall was writing a Camel book equivalent for Perl 6. So its mainly speed and standard libraries.

I would give end of next year, by the time its ready for prime time.

I would give end of next year, by the time its ready for prime time.

I wish this claim wouldn't come up in every Perl article because that's a big part of Perl's perception problem. P6 is entering its 15th year of advocates claiming that it'll be ready in "about a year and a half".

If that claim is true this time, then it puts off people doing interesting things with Perl now as they figure they'll wait for a successor to look at it.

If that claim isn't true, then it puts off people doing interesting things with Perl now as the claim will change to be "about a year and a half from now" in another 18 months.

I agree with this as well, but from the other side. Giving out timeframes based on volunteer schedules in an industry that is already famously known for not hitting release times is not really useful. I think it's more useful to say "Perl 6 is already useful for many tasks, feel free to download one of the implementations and take a look. If you find it lacking in some area, let us know and maybe we can fast-track a solution for that." IMO that's not only more accurate and truthful, it's also much better way to draw in potential users.
Yes, predicting schedules based on volunteer effort is much more difficult than predicting schedules based on paid developer effort. Your proposed wording is a lot friendlier, but it doesn't match my experience with the project. (However, I've already written far too much on that subject, so I won't bore everyone again.)
Well, I know it's in use in a few places now (I personally know someone using it at Google's engineering as a tool to retrieve and collate information, utilizing the newer async features), but of course there are still many rough spots. Whether it fits the bill for that person will be highly dependent on what they need.

I'm of the opinion the only way to solve the chicken and egg usage problem is to convince a few people to be chickens. That's not going to happen without them trying it out. (I'm aware you've thought quite a bit on this issue).

> once you grokked the grammar

Perl has a grammar? In seriousness, the old aphorism that "the only thing that can parse Perl is Perl" didn't help Perl. The tooling lags behind that available for other dynamic languages.

Perl6 is pretty awesome in that regard. The grammar specification is written in the language itself[0] in a single file using the language's rules[1] feature. Perl6 is an amazing language, but it is hampered by a runtime that is currently too slow, a bad public perception, and a tiny community.

[0]: https://github.com/perl6/std/blob/master/STD.pm6

[1]: http://en.wikipedia.org/wiki/Perl_6_rules