Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

What are the opportunities with Parrot?

by tjh (Curate)
on Aug 10, 2002 at 15:49 UTC ( [id://189187]=perlmeditation: print w/replies, xml ) Need Help??

Now that some time has passed, and much work continues to be done on Perl6 and Parrot, I've been trying to think through how Parrot will affect a variety of issues. I reviewed many threads here on PM, as well as looked through a variety Googled resources and found mostly discussion of the internals, scoping and other issues related to the creation of Parrot itself, which makes total sense at this stage of development.

Mostly, since I'm not a CS grad or have other Deep Knowledge of many things, I seem to be focusing on the eventual gains that might be possible from the application level. What are some Big Picture possibilities? I thought it would be interesting to hear what more experienced Perlminds might say.

This usually leaves me thinking that Parrot will likely:

  • Facilitate distributing bytecode (no source code) and a VM if needed, and;
  • Probably(?) result in faster execution speeds.

I'm guessing that as I come to understand more about Perl6, other things will occur to me.

But this leaves me in wait-and-see mode (and probably rightly so) and I'd rather be thinking more clearly about what the potentials are.

  1. Will Parrot make it easier to plan and create distributable applications with a smaller footprint and faster-than-java execution speed on the average x86 box?
  2. Will any monks begin to architect desktop or client-server applications that they've not considered they could easily do (in Perl) before?
  3. etc...

So, in the spirit of meditating about the future, a few questions spring to mind that I hope you won't mind commenting on.

Where's the application-level sweet spot most likely to be in designing and implementing for Parrot? Language specifics or internals aren't really on my mind in this question.

What thoughts have you had about how Perl6/Parrot will actually affect your work and projects? Will the runtime engine become invaluable for you in any fundamental (or killer app) way?

And philosophically (and possibly rhetorically): Since Parrot will be extensible to allow runtime use by many languages, is this the logical extension of "glue language" philosophy applied to the now separate VM? Is Parrot the result of many Secret Meetings in order to conquer the world with a Unified Language Theory in practice? :) If Parrot succeeds on a grand scale, will it take on a life of its own and no longer be necessarily associated with Perl itself?

Ultimately, I suppose I'm looking for what you're thinking some of the opportunities may be. What are you anticipating doing with Parrot that somehow wasn't possible, or feasible, before?

TIA

Replies are listed 'Best First'.
Re: What are the opportunities with Parrot?
by BrentDax (Hermit) on Aug 12, 2002 at 06:22 UTC
    (Full disclosure: I'm a Parrot core hacker.)

    Where's the application-level sweet spot most likely to be in designing and implementing for Parrot? Language specifics or internals aren't really on my mind in this question.

    Although this may fall under the internals category, I think it'll be in embedding and extending. Their interfaces will be far more well-defined than in Perl 5, which will be a big win. If these interfaces are only as clean as the rest of Parrot (and they're expected to be cleaner), C-level work will be much more accessible to J. Random Hacker.

    And philosophically (and possibly rhetorically): Since Parrot will be extensible to allow runtime use by many languages, is this the logical extension of "glue language" philosophy applied to the now separate VM? Is Parrot the result of many Secret Meetings in order to conquer the world with a Unified Language Theory in practice? :) If Parrot succeeds on a grand scale, will it take on a life of its own and no longer be necessarily associated with Perl itself?

    It is my hope that Parrot's association with Perl eventually becomes irrelevant to anybody but computer historians. Not only does this mean that Parrot can survive even if Perl doesn't (which I don't expect to happen, but who knows?), but it'll help users of other languages (*cough*Python*cough*) to see Parrot for its own benefits and not just as part of The Enemy's language. And that, I believe, will benefit everybody.

    =cut
    --Brent Dax
    There is no sig.

Re: What are the opportunities with Parrot?
by FoxtrotUniform (Prior) on Aug 10, 2002 at 21:33 UTC

    I'm starting to wonder whether parrot would be a useful extension language VM for games, similar to QuakeC or UnrealScript. I'm not sure how easy it's going to be to integrate code running on a parrot VM and, say, C, or whether parrot would have too much overhead, but I think it'll be worth looking into.

    --
    F o x t r o t U n i f o r m
    Found a typo in this node? /msg me
    The hell with paco, vote for Erudil!

      It should be reasonably straightforward--easy embeddability was one of the goals from the beginning. With the JIT enabled, parrot ought not have any overhead problems. Granted, you wouldn't write quake in a parrot language, but it should be up to the task of being a plugin language no problem.
Re: What are the opportunities with Parrot?
by chromatic (Archbishop) on Aug 10, 2002 at 16:53 UTC

    Translating one language into another, and working on a refactoring browser.

Re: What are the opportunities with Parrot?
by Elian (Parson) on Aug 10, 2002 at 17:39 UTC
    So what you're looking for is essentially a "Parrot, what's the point?" document/presentation/whatever?
      Hmm. Sort of. I'm looking for what monks are thinking that they'll do with Parrot. What are they interested in doing with it; whether they think it brings them new possibilities and what those are.

      The general idea of a VM is well understood, but of course, Perl has never had one, more or less. Are there any projects they'll now get to do in Perl? Is anyone thinking that Parrot somehow elevates Perl to a more mainstream enterprise platform (along with typing options, etc.) versus Java (for instance).

      I'm thinking Parrot, along with Perl6, may be a bit groundbreaking, but I'm often quite naive and am looking for outside comments and ideas to help shape or stimulate my thinking.

        Leon Brocard put together a presentation about parrot; its worth taking a look at.

        Actually, Perl5 already compiles code to execute in some form of VM, except it uses optrees rather than bytecode. But it is a set goal for the Parrot/Perl6 combo to achieve (IIRC) about twice the speed that Perl5 typically does.

        Makeshifts last the longest.

Re: What are the opportunities with Parrot?
by jlf (Scribe) on Aug 14, 2002 at 17:17 UTC
    I've had an itch to learn some flavor of assembly language for some time and after reading this article I've decided to start with Parrot assembler rather than x86.

    The reason is that I presume that it will be very straightforward to use inline Parrot assembly sections in my Perl code for speeding up critical sections (my C is rather rusty).

    For me, the speed penalty of using VM assembler instead of a true (hardware-based) assembler is overshadowed by the ability to have my Perl+assembler code be portable across my PC, Sun workstation, and an OS X laptop I have my eye on.

    Josh

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://189187]
Approved by jeffa
Front-paged by kvale
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2024-03-19 11:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found