I've been following this discussion for some time... because right now I am about to learn Perl 6. I have been intending to do this for quite a while now, occasionally invigorated by problems which are cumbersome to solve in Perl 5. The main motivations were:
- The object system: I liked the ideas set out for Perl 6's object system from the beginning. But then, it turned out that it was easier to bolt on many of the ideas onto Perl 5 with Moose than for Perl 6 to come close to maturity. Moose is awesome but somewhat syntactically challenged because it needs to feed its stuff to a Perl 5 parser, so Perl 6 still has a slight edge here.
- The grammars: Several years ago I had a problem which could be easily formulated as a grammar, but was tedious to do with regexes. Unfortunately, the same several years ago Perl 6 was just too slow to process a 15MB file. I'd expect this to be no longer an issue as of today, but I won't re-implement my Perl 5 program (because I don't have that problem any more, for a start).
- Parallelism: Doing this right in Perl 5 needs a lot of boilerplate which can go away with the Perl 6 builtin mechanisms.
On Perl 6 IRC I see a lot of nifty one-liner solutions in Perl 6 for problems which I never had in the past, and probably never will have in the future. I'll simply ignore those, though they add noise to the manuals. So while I am walking through the
Perl 6 intro and am typing experimental stuff into an interactive Perl 6 shell, I am also accumulating a list of things I would prefer
not to see in productive code. I'll most certainly never use these myself. Here are a few of them:
- Single quotes and minus signs in variable names.
- Letters with diacritics in variable names. I'm getting old, my eyesight isn't the best. For my own code, I'll stick to ASCII.
- Literals like ½ for numbers.
- Quoting functions with three or more letters. qqw qww qqww. Seriously? The whole quoting manpage looks more than scary for me.
- Unicode operators which I don't see on my keyboard.
- ...and maybe more to come.
Bottom line: I will continue to learn Perl 6, though I'm slightly annoyed by the noise of incredibly clever features which don't contribute much to solving my problems. I expect to see benefits from using Perl 6 in case of complex object setups (the syntax is easier on the eye than Moose can ever achieve), for server software (parallelism, and also the builtin exceptions), event handling (where is the Perl 6 native GUI?) and the like.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.