On Thu, 20 Oct 2005, Nate Wiger wrote:

 just to be sure we're on the same page:  You say that the thing that
 is going to hinder migration to Perl 6 is the fact that it's different
 from Perl 5.

Intentionally trite oversimplification. My problem is that it's
different in some ways which are not truly useful, and that cause
unnecessary relearning/rewriting/incompatibilities.

I've waited long before answering this mail because I wanted to see more along the way of the Perl6 fears "thread".

Now the observation above gives me a chance to express my own perlplexities. I'm not bothered by the changes in themselves nor am I concerned by the necessary (or not) relearning/rewriting/incompatibilities.

But there's an observation I can't help doing: it seems to me that the ratio of increase in the complexity of (some aspects of) the language _is_ _much_ _bigger_ than that in the functionality such complexity is supposed to provide.

Let me explain: we all know that Perl5 has a very simple parameter passing mechanism for subs and an even more rudimentary {prototyping,signature} mechanism that one actually seldom uses. With this simple mechanism one can implement or fake quite a lot of parameter passing paradigms.

It seems to me that this covers at least 90% of one's common needs. But for simple subs in Perl6 I will probably still use @_; err... that or the new pointy subs which are indeed so cool! Whatever, the new system by contrast seems to me to be at least 400% more complex, but it won't buy me 400% more functionality.

Quite similarly the old OO support was so light to the point of being immaterial, so that many people even thin it plainly sucks. But in retrospect it was amazing to note how many OO paradigms and techniques one coudl get out of simple, tiny, appearently innocent function called bless()! Of course these implied lots of workarounds and hacks, be them damn sexy hacks, but hacks: ok, granted! But the new system is what? 10k% more complex? The question is: does this buy me all that 10k% more functionality, or would have been a _simpler_ design, say "only" 1k% more complex be enough?

It is always amazing, both in a programming language (or CS) context and in totally unrelated ones, when from a simple scheme you can draw a rich, huge set of consequences. But of course is not in Perl's nature an aim for extreme simplicity; nothing to say... Perl5 is full of inconsistencies in the form ad hoc dwimmeries and magic, while Perl6 already cures them by trying to make them into "structural" magic of a globally more coherent and consistent framework. But it's still my impression that it's pushing in quite _too_ much structural complexity as well.

This is fundamentally the _only_ perlplexity about Perl6 I have...

Of course this is only a meditation and I know that I'm not knowledgeable enough to be fully aware of all the implications of some aspects I've touched upon in this writing, and thus I'm not expecting it to change or influence the direction of evolution of language (re-)design. Just wanted to let you all know.

Ira Kane: You wouldn't understand.
Dr. Allison Reed: No, how could I? I'm just a humorless ice queen in
desperate need of a good humping.
Ira Kane: Oh... you heard that, huh?
Dr. Allison Reed: Loud and clear.
- "Evolution", Ivan Reitman

Reply via email to