Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: If you've tried it, what are your thoughs on Perl6?

by masak (Scribe)
on Apr 11, 2012 at 11:43 UTC ( #964515=note: print w/ replies, xml ) Need Help??


in reply to If you've tried it, what are your thoughs on Perl6?

I've been a day-to-day Rakudo user since 2008. Here are the things I really like:

  • Classes and roles, available out-of-the box.
  • where clauses and subtypes. Pretty.
  • Grammars. Easy to parse just about anything.
  • Meta-operators. It's fun and easy to think composite thoughts with a single line of code. And it becomes second nature quickly. I miss it in Perl 5.
  • Multisubs and multimethods. Just plain convenient.
  • Gradual typing. The types stay out of the way when I don't need them, but are there when I want it. I can choose to give a variable a type or not.
  • Neater syntax generally. Some things just read nicely in Perl 6. I never thought Perl 5 would feel like boilerplate, but in some cases it does after writing lots of Perl 6.

Things I still miss:

  • Heredocs. Niecza has them. Rakudo doesn't.
  • Shaped arrays and hashes a la Synopsis 9. Some multidimensional primitives related to this.
  • Speed, generally. We got faster at startup recently (jnthn++), and it makes a great difference. Niecza is faster than Rakudo once it gets going. But we still have ways to go in terms of performance.
  • Call me impatient, but I want the vision of mutable grammars, and a plug-and-play Perl 6 where you can add your own parsing rules or sublanguages, to come to fruition as soon as humanly possible.
  • Things need to get a lot more polished. A lot of the bits are in place now, but we're disorganized in terms of documentation and in terms of helping a newcomer become productive. We're very grateful for all the feedback we get from newcomers; the early adopters sandpaper the barrier to entry and make it easier for their successors to just pick things up.


Comment on Re: If you've tried it, what are your thoughs on Perl6?
Download Code
Replies are listed 'Best First'.
Re^2: If you've tried it, what are your thoughs on Perl6?
by jdporter (Canon) on Apr 11, 2012 at 18:11 UTC
Re^2: If you've tried it, what are your thoughs on Perl6?
by Anonymous Monk on Apr 11, 2012 at 18:05 UTC
    Things I still miss:

    Is your list things that you wish were in the language, or things you wish the implementations had?

    Shaped arrays and hashes a la Synopsis 9.

    Could you briefly explain what "shaped arrays" are? I've never heard that term, and Synopsis 9 is pretty dense.

      Is your list things that you wish were in the language, or things you wish the implementations had?
      • Heredocs: implementation missing.
      • Shaped arrays and hashes are specced, but haven't been implemented by anybody yet. So while it's mostly a question of the implementation, the spec will need to be tuned to respond to feedback from the compiler writers
      • Speed: an implementation thing, although of course language design decisions influence it too
      • Mutable grammars: needs work on both fronts.
      • polishing: everything (compilers, specs, docs, module installers, ...)
      Could you briefly explain what "shaped arrays" are? I've never heard that term, and Synopsis 9 is pretty dense.

      Arrays where you can exactly declare the dimensionality, index ranges and types. For example you could declare a two-dimensional array where both indexes run from 0 to 2 and and only store Num objects -- the perfect base for Matrix arithmetics.

      Those predeclarations allow both type checking and much more compact storage.

        If you can give a number what percentage of the spec has been implemented so far.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (15)
As of 2015-07-28 16:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (258 votes), past polls