Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Please allow me to state a contrary view.

It is my personal belief that neither Perl 6 nor any other mainstream language will ever be based on Parrot. Parrot is likely to continue to be an interesting project in its own right, but it won't ever do what people are hoping for from it. This view finally crystallized for me last summer when I was at Sam Ruby's follow-up Piethon talk. Since then I've only heard confirmation.

Despite much work, Parrot still can't run the Piethon. Not even close. We like to talk about how Parrot will be optimized for dynamic languages, unlike the JVM and .NET. Yet there is a version of Python that runs on the JVM and passes the Piethon. There is a version that runs on .NET and passes all tests but one of the Piethon. (The failing test is the number of comparisons that a sort does.) But Parrot doesn't have one.

Worse yet, according to Sam there is no good way to do it! The problem is that the Piethon heavily exercises Python's meta-model, so it really smokes out hidden assumptions about how Python is internally structured. Assumptions that are in direct conflict with how Parrot thinks Python should be structured. So you either have to alter how Parrot is designed, or else you need to write an interpreter in Parrot and run Python on that - losing all of the speed advantages that Parrot was supposed to give you. (In fact you're inevitably going to be a lot slower.)

Sam indicated that with some changes Parrot could work well. But whenever he pointed out the necessary changes Leo would say "that's stupid", Dan would avoid the argument with Leo, and nobody else would say anything. Which indicates that the technical problems reflect people problems. Which is bad because technical problems are easier to fix than people problems.

OK, now Dan is gone. But as Dan pointed out, he left in large part because of Leo. Well Sam left before him for the same reason. And Sam is a big loss. If you're writing a project like Parrot then you want people who have lots of experience in implementing interpreted languages on top of virtual machines. You also want someone who has been heavily involved in the core of multiple languages. It would be nice to have someone who has served on multiple standards organizations, and therefore has experience in sorting out competing technical needs. Sam has done all of those things. AFAIK, Leo has done none.

Therefore my belief is that Parrot will not be used for running any widely used high-level languages.

Now I'm sure that I will be criticized for saying this. "Bitch, bitch, bitch. Can't you do something better than complain?" "If you think it needs help, why don't you contribute?" etc. So let me respond to that in advance.

First of all what I am saying is not just a complaint. I am stating a measured negative opinion on the likelyhood of a project succeeding. I am showing the reasons for that opinion. Saying that people are not allowed to have and express such opinions is tatamount to saying that people are only allowed to listen to one side of the story.

Secondly the problems that I'm talking about are not ones which I feel that my personal contribution can affect one way or the other. They are intrinsic to the core people and design of the project. Unless I am willing to become one of those people and change that design, I can't affect that. And I'm not willing to do that because I lack background, time, and energy for the task. Contributing to a project that I feel is going to fail regardless of my contribution is a waste of energy.

Thirdly I believe that my opinion is reasonably well-informed. OK, I have not exactly been an active participant in Parrot or Perl 6. But I have followed the project over the years. For instance I've read most of Dan's Squawks, seen Larry and Damian's pronouncements, gone to multiple talks by multiple people, read many weekly (or often fortnightly) summaries, donated money to the cause, and so on and so forth. I'm not a random moaner on slashdot.

Fourth, note that I've criticized Parrot, not Perl 6. That's because I believe that Perl 6 will happen. It won't hit all of its original goals, but thanks to Audrey there is an implementation coming along.

Fifth I have a strong impression that there is an unfortunate amount of groupthink about Perl 6. People have invested enough into the dream that they don't want to hear that it might not work. And they don't want other people to hear that because they fear that it will drive away potential contributers and become a self-fulfilling prophecy. That's understandable, but I don't have that investment. I see no reason not to call it as I see it. And the way that I see it is that people are being told to shut up unless they agree with certain opinions. And that offends me, not the least because I happen to hold some of the opinions that are not supposed to be expressed.

In reply to Re: Why Perl 6 is taking so !@#$ long by tilly
in thread Why Perl 6 is taking so !@#$ long by dragonchild

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • 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, 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, 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others chanting in the Monastery: (5)
    As of 2018-01-23 14:21 GMT
    Find Nodes?
      Voting Booth?
      How did you see in the new year?

      Results (247 votes). Check out past polls.