Skip to content

Commit

Permalink
Create State Of The Onion 2000 introduces Perl 6.md
Browse files Browse the repository at this point in the history
  • Loading branch information
raiph committed Apr 17, 2018
1 parent c204e46 commit 776395e
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions 2000/State Of The Onion 2000 introduces Perl 6.md
@@ -0,0 +1,33 @@
Back in the day Larry Wall gave a speech each year called "State Of The Onion". (The Onion had become the metaphor/logo representing the Perl community.)

The last third of his [State Of The Onion speech in 2000](https://www.perl.com/pub/2000/10/23/soto2000.html/) announced the start of the Perl 6 project and discussed how he thought it would unfold.

Some excerpts follow:

> I’d like to announce to the world that the effort to write Perl 6 has begun in earnest. [Applause] ... We really, really like [Perl 5] ... but we can think of lots of ways we can do it better
> the language itself could use some revision ... it’s time to steal all the good ideas we can ... we have the opportunity to make some incompatible fixes to Perl while preserving a migration path for the current code ... it’s the first chance to make that sort of changes and, since it is the first chance, it probably is also the last chance, so I think we should [take that chance] ...
> easy things should stay easy, hard things should get easier, and impossible things should get hard, as it were.
> Another place we’d like to do better is in the implementation of the language as opposed to the language itself. ... We could scrap XS for something better, and, of course, we want the core to be smaller and faster ... we could design the extension system so that installing a new version of Perl doesn’t break all your existing extension modules ...
> neither language changes nor implementation changes will happen unless we also reinvent how we do things. ... we’ve already started a redesign of Perl culture, trying to keep the good aspects and leaving behind the nonproductive aspect ... we’ll break down the design of Perl 6 and the maintenance of Perl 5 into manageable tasks given to meaningful working groups ... We have collectively resolved to make these working groups work, and where they do not work to work at making them work until they do work.
> It is our belief that if Perl culture is designed right, Perl will be able to evolve into the language we need 20 years from now ... it is our belief that Perl 5 will be better supported than it would be if we merely tried to guard what we already have ... this is not going to happen quickly .... We expect to have alpha code a year from now, for some definition of alpha
> Many commercial interests will guarantee that Perl 5 continues to be well-maintained and stabilized for quite a few years to come, and we fully expect [that] five years from now a lot of people will still be using Perl 5 ... we intend to proceed at the fastest speed at which we can efficiently propagate our cultural values to newcomers in our culture, but no faster.
> We are determined to do the right thing by everyone. To this we pledge our lives, our fortunes, and our sacred honor, as it were, what there is of it.
> The way I look at it, Perl 5 was a composition largely by a single composer - me. It’s a fine classical composition, but in essence it’s one person’s view of how to make music. If you work with Perl 5 you have to follow the score pretty closely. Perl 6 is going to be designed by the community. We’re going to be doing some jamming.
> The language design is now going to be separate from the implementation design ... there is some value to using the reference implementation approach ... but, obviously there are benefits to having things justified well enough that you could implement another one even if you didn’t want to, so we’ll definitely be working in that direction ... what we particularly want to stress in terms of - is not perhaps so much the spec as developing ... real regression tests into a validation test of what the language actually means and actually go out and explore all the nooks and crannies and say, “This is Perl, this is not Perl,” and then we actually have a machine-readable spec.
> Each working group will have somebody in charge who makes the final decisions ... official inner ringers but anybody can listen in and contribute indirectly ... an official RFC sort of kind of mechanism ... not just this sort of off-the-top-of-your-head “Oh, wouldn’t it be nice if this,” “Wouldn’t it be nice if that.”
> Everything is negotiable, but everything will not be traded away ... I really trust my instincts on where things will be going ... We’ve been getting a lot of feedback for the past 10 years on things that people think are kind of grouty
> if we can translate with 95-percent accuracy 95 percent of the scripts, and 100-percent accuracy 80 percent of the scripts, then that’s getting into the ballpark, but on the other hand, sometimes you have to break a few somethings or other to make an omelette ... if we have to get a little incestuous with the compiler ... I enjoy doing things like that, so I don’t think you need to worry about that not getting done reasonably adequately.
> when you see all the new languages coming out and they all have a garbage collector and that helps them fit together into browsers and things like that better, you start thinking, maybe we ought to think about that.

0 comments on commit 776395e

Please sign in to comment.