develooper Front page | perl.perl6.language | Postings from November 2005

Perl6 perlplexities [was: "Re: $1 change issues..."]

Thread Previous | Thread Next
From:
Michele Dondi
Date:
November 4, 2005 05:59
Subject:
Perl6 perlplexities [was: "Re: $1 change issues..."]
Message ID:
Pine.LNX.4.62.0510211140010.21523@spock.pcteor1.mi.infn.it
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.

<thepoint>
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.
</thepoint>

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.


Michele
-- 
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

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About