Reini Urban wrote:

And I'm tempted to add: Actually even the 1984 version of lisps are
still technically and syntax-wise far advanced over the perl and
parrot state of today. I see not much of a progress.

Philosophically, I agree. In my usual Parrot architecture talk there's a slide right at the front with a big box saying "Invent your language here". I talk about how all the major features of programming languages were invented 30-40 years ago, and people aren't coming up with new and exciting features any more. Even worse, many systems are just now catching up to features that were invented 30-40 years ago.

There are a number of reasons why computer science progress has slowed. (You might have noticed I have a theory about people respecting the work that went before so much that they're unwilling to try new things.) The biggest reason is that the state-of-the-art in compiler technology has grown so massive that it takes 10 years to bring a new interpreter or compiler up to just the base minimum level of expectation. And once the developers of a new language have done that, they have no energy left to spare for the next step, for actually pushing forward the state-of-the-art. (Which isn't to say they do nothing, just that they aim for modest refinements that won't disrupt the working system too much.) Java is there, .NET is there, Python is there, Ruby is there, PHP is there, Perl 5 is there. Perl 6 isn't there, but you'll notice that the only person working on Perl 6 who did substantial work launching Perl 5 is Larry. (You'll also notice that it's taking 10 years.) So, it fits as a "new" language, though it's more of a "reborn" language.

Parrot is taking the 10-year hit once, so it can provide the state-of-the-art as a bundled package for new language implementors. They can start implementing new features on the first day they work on their new language. Parrot is specifically going for a pluggable architecture so someday we can rip out that tri-color generational GC and replace it with a GC strategy that really is innovative. And it's doing a few new things along the way, like basing the entire control flow on continuations, and eliminating the stack (one of the chronic sources of security flaws in modern software).

I'll be the first to admit that parts of Parrot are ugly, because I spend most of my time ripping out ugliness and replacing it with cleaner, more maintainable systems. But it has enormous potential, not only to be a solid, thoroughly state-of-the-art virtual machine, but to enable other inventors, other technologies, to push even further.

People doing exactly what we're doing, daring to do what's never been done, is the only way computer science is ever going to progress.

Allison

Reply via email to