And once again the Cult of Simplicity At Any Cost rears its head...
We are, in fact, trying to make Perl 6 simpler and more regular and hence more easily learnable in various ways. If you look at all the operators carefully, you'll see a lot of that regularity built-in. However, we are not optimizing Perl primarily for learnability, but for expressiveness.
How hard it is to master a language has very little to do with how useful it is. We've said this many times before, and plan to continue to say it until it sinks in, but the important thing is not how simple your language is, but whether there is an impedance match between the problem space and the solution space. Your problem has a certain natural complexity that has to be reflected in the solution.
If you artificially push complexity out of the core language and into the libraries, all you're doing is forcing the user to learn a complex set of libraries instead. And you have fewer guarantees that the various library interfaces will have been designed coherently.
That is not to say that the Worse is Better style of development doesn't work--it's been amazingly successful in the case of C and Unix and HTML, and you can even view Perl's current success that way. See CPAN.
However, just look at what happens with something like shell programming. Every command has its own ideas of how to parse its arguments, and as a whole they are much less learnable than they could be. Shell programming has always been a pain precisely because of this tendency to shuffle the complexity out of the core syntax.
Misplaced complexity results in "induced complexity" in your solution, and that's like leaving your landing gear out while trying to fly supersonic. Or take Java. Please.
So occasionally you have to take a Better is Better design cycle to try to recapture some of that complexity into the core solution space. And sometimes you lose big when you try that, if the Worse is Better hordes manage to outcompete you anyway. But if the design is sufficiently advanced over the state of the art, and if you can stand to the popularity "hit" while you redesign, you eventually win back big. And even if you can't stand the "hit", you come up with a lot of really good ideas for other languages to steal. That's how Perl initially won out over shell programming. And that's what we're going for with Perl 6. We may fail to jump out of the pot, but we're not going to be boiled to death without at least trying to jump once. |