Saturday, July 24, 2010

Parrot – everything we have heard so far seems wrong

Emerging Languages camp - day 1 | Ola Bini: Programming Language Synchronicity

Allison Randall gave a talk about what’s currently happening with Parrot. It seems they are going for a new rewrite of most of the subsystems. One of the changes is going from a CISC style op code system to a RISC style. Parrot apparently has over 1200 op codes at this point, and they want to scale back everything to about 20-30 bytecodes instead. As a preparation for this, they have ripped out the JIT and will revisit most of the subsystems in Parrot to see what can be done. Allison also gave the audience the distinct impression that Parrot is still quite slow for user programs.

It looks like everything we have heard so far and what we told others seems wrong. Isn't that embarrassing?

3 comments:

Casan said...

I think it is just great. I love parrot's vm+hll's, my perception is that the feature set is quite versatile and powerful, yet can also be simple if that's what you are into, and I am.

But for years I've been sceptic about the performance, which I believe would halt it from being adopted for anything other than mock ups and prototypes, proof of concepts etc..

I also knew that people would realize it eventually, and when more feature complete, the attention would switch to performance, as well as deployment tools, cpan like archives etc..

now the feature set is coming of age, with lorito, we are tackling performance.

I look forward to the day, where I can open Padre..(running on parrot and coded in various hll's)..

and choose: create project
options:
1. script
2. daemon
3. webapp
4. desktop app

etc.. and I have it with integrated gui based testing tools, like Nunit etc.. git/svn like tortoise, trac like ticketing, advanced debuggers, and I can use the deployment tool to generate a bytecode distribution of whatever I'm working on, and deploy to target platforms, without the requirement of any addititional dependencies..

and with an embedded installer depending on the platform.

all of this, with a maintenance service with the strawberry professional or whatever depending on platform package, with binary upgrade mechanisms, so I don't have to wait forever, or with traditional but automated fetch from trunk run tests, compile and install if I choose devel mode with the compile option..

Well, dreams are good. envision the future, and it can be created.

JH said...

I appreciate your comments and your enthusiasm, but you didn't actually comment on the core of my statement: "One of the changes is going from a CISC style op code system to a RISC style." Would you pls tell us what you think about this change! That would be helpful.

Anonymous said...

More info about Lorito, the planned Parrot refactoring Allison is referring can be found on the Parrot wiki: http://trac.parrot.org/parrot/wiki/Lorito