Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: What is Perl6?

by Cody Fendant (Hermit)
on Nov 22, 2010 at 03:01 UTC ( [id://872870]=note: print w/replies, xml ) Need Help??


in reply to What is Perl6?

I think punkish has a very good point, and I'm a bit disappointed with the sarcasm in the responses.

I almost never have to think about the compiler or the runtime or any of that other stuff. I feel, just like punkish, that the stuff that makes it all work is just there, at a more fundamental level on my computer which I don't have to think about.

Surely someone can talk us through why all this Rakudo/Parrot stuff is a Good Thing for perl in general, or indeed for programming in general, without being condescending?

Replies are listed 'Best First'.
Re^2: What is Perl 6?
by chromatic (Archbishop) on Nov 22, 2010 at 04:21 UTC
    ... the stuff that makes it all work is just there, at a more fundamental level on my computer which I don't have to think about.

    Someone has to think about it.

    Why is Parrot a good thing? Perl 5's internals won't support Perl 6, not without a huge amount of work. Add in the strong tendency for Perl 5 to remain as compatible as possible with Perl 1 code, and it's an immense engineering effort to consider trying to do so while providing the technical foundation to make Perl 6 possible.

    Perl 6 has to run on something, and you have to build the features it needs (continuations, multiple dispatch, gradual typing, lexical scoping, overridable and scoped grammar modifications) somehow.

    You need a VM which runs on the desired target platforms, which does not have license or patent encumbrances, which allows these features, and which permits the development and invention of these features with relative ease and as little performance penalty as possible. (If you can connect that VM to Perl 5 somehow, even better.)

    As to why a specification for Perl 6 is a good thing, consider the fact that there is a single implementation of Perl 5 and that the specification for Perl 5 is, essentially, whatever that single implementation does and whatever unforeseen and incidental behaviors have accreted from the synthesis of various features p5p decides are worth supporting. That's one reason you don't see Perl 5 on the JVM or the CLR, for example.

    With a specification for Perl 6 independent of any single implementation, volunteers will volunteer as volunteers do and can and will write multiple implementations of Perl 6. Thus you need individual names to refer to them.

      Is there an implementation that matches the complete spec currently. Which is stable, with libraries, documentation and tools around?

        No. Rakudo Star is the most complete implementation of the Perl 6 spec thusfar. If you read the Rakudo Star docs, this is pretty obvious, cuz they repeat it all over.

        I used to find the whole Perl 6 thing confusing years ago. I think the confusion probably originates from the fact that unlike other languages, Perl's never been about PR and world domination. It's about getting the job done. So you don't have Sun and Microsoft Beating each other up--and the need to adopt simpler naming simply hasn't been an issue. Perl's complicated enough that if you're gonna use Perl, this sort of thing is the least of your worries.

        Perhaps this is too laid back. Perhaps we need a glossy veneer for the press. But who has time for that? We're known to be the most lazy programmers out there. :)

      This is one of those things where you have to talk to me like I'm an idiot ...

      Perl 6 has to run on something ... You need a VM

      why do we need a Virtual Machine? Why does Perl 6 need one and Perl 5 doesn't? What does Perl 5 "run on"?

      As far as I'm concerned, with my obviously embarrassing levels of knowledge, my perl scripts don't "run on" something, they run by using the perl interpreter, and they "run on" my computer.

        Perl 5 runs on a virtual machine, but its ad-hoc , without formal spec...

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2024-04-19 21:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found