I think Anno has a very good point, and it is certainly something we have been thinking about a lot in the design of Perl 6. The Damian quote is good as far as it goes, but you have to allow for the fact that it was written more than four years ago, in explanation of one of the earlies Apocalypses, back when people were still in a panic that things were changing too rapidly. Heh.

Anyway, if you read up on the design of Perl 6 since then, you'll discover a lot of things that will (hopefully) make Perl 6 a good language for both the wizards and the non-wizards. There's a lot of power in Perl 6, but we've tried to add that power in such a way that people just trying to get their job done are unlikely to fall into traps. In particular, the entire OO design is based on the notion that there should be one fairly complete and fairly standard way to do OO in Perl 6, so that people aren't obliged to roll their own OO systems. The hooks are still there underneath to break out of that, but ordinary folks aren't going to be tempted to do that if the standard way is nice enough, and just sort of "lays under the fingers".

Perl 5 has a lot of power too, but it tends to make all the options equally likely. It's almost too orthogonal in that respect. In contrast, Perl 6 gives you a default OO system, a default switch statement, a default exception system, a default grammar system, and so on. It gives you standard ways to extend the language without negatively impacting other people's code. Concepts that are confusing in Perl 5 because of excessive overloading are detangled in Perl 6 by use of separate keywords or operators. You can define your own operators, but we try to give you most of the operators you need by default so that you don't need to define your own except for specialized needs. And, of course, strictures and warnings are on by default (though you can still turn them off).

In short, Perl 6 is designed to be just as good for small programs, and much, much better for large programs. People can still write screwed up Perl 6 code and put it into CPAN, but it won't happen by accident nearly as often as it does in Perl 5, and even when it does happen, you'll be much better isolated from its effects because Perl 6 takes lexical scoping much more seriously than Perl 5.

Since the language is designed to much more mutable, it's actually quite likely that stricter subsets of Perl will develop and be enforced by local policy. I doubt ANSI will ever get involved, though. If such a dialect arises it will be by common consent of the community that uses it, not because some standards body decided it knew was good for the community.

In reply to Re: TMTOWTDI... and most of them are wrong by TimToady
in thread TMTOWTDI... and most of them are wrong by tlm

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.