Front page | perl.perl6.users |
Postings from February 2011
RE: FOSDEM - perl 6 critic
From: Mason Kramer
February 22, 2011 08:48
RE: FOSDEM - perl 6 critic
Message ID: firstname.lastname@example.org
I don't grant the premise. Perl 6 is less complex than Perl 5. Number of
operators is not remotely a measure of complexity. Neither is "size of the
interpreter at runtime". "Number of things that the language does for you
in a standardized way" is actually a measure of simplicity, not complexity.
That is to say that the extra size of the language & interpreter comes from
the complexity-reducing features that are built in to the language.
Complexity is about such things as seeing action happen in the expected
place, keeping concerns separating, reducing the code to the essential ideas
that are being expressed, self-documentation, and non-redundancy. Perl 6
does a better job of all that than Perl 5 does. Part of the way that Perl 6
accomplishes this complexity reduction is by generalizing and standardizing
the best practices that the software industry has developed since Perl 5 was
written, which means more things are included in the language itself.
Put another way: whether or not there's an operator that does what you need
in a standardized, optimized way, or you roll it together from primitives in
a function declaration that anyone maintaining the code will have to read
and understand on a case-by-case basis, the action that you take in the code
still needs to get done somehow. Perl 6 programs will be smaller, when
measured in LOC, than their Perl5 counterparts. As a maintainer, your
sysadmin should be happy about that.
Maybe we just need to lay off of the cute one liners and * operator abuse
when we demo Perl 6. My guess is that those one liners are not nearly as
impressive to most workaday coders as the type system, MMD, grammars,
private data, and method keyword. These at least are the main features of
Perl 6 from my point of view (even though I fully grant that Perl 6 is
different things to different people - he might be able to get excited about
the behavior of the MAIN type sig, for instance).
I'm not saying anything about performance because I think we're all on "wait
and see" mode right now. I don't think there are any theoretical obstacles
that make Perl 6 fundamentally slower than Perl 5, Python, or Ruby, (right
guys?) and there are actually provisions to let it be faster for certain
applications - particularly the type system.
From: email@example.com [mailto:firstname.lastname@example.org] On Behalf Of Gabor Szabo
Sent: Tuesday, February 22, 2011 10:58 AM
Subject: Fwd: FOSDEM - perl 6 critic
At FOSDEM I met Arne Wichmann who is a long time sysadmin, Debian developer
and Perl user. We had a short chat in which he expressed his concerns about
the complexity, the size (memory footprint) and speed of Perl 6,
Without even taking in account the current memory requirements and speed of
Rakudo, I guess, even after lots of improvements we can expect Rakudo to be
significantly slower than Perl 5.10
- at least for start-up time - and significantly more memory hungry.
I know it will do a lot more so the comparison is not fair but that's not
( For a better comparison that takes in account the features as well see
He, as a sysadmin would like to do the small tasks in a relatively small
language. He would like to make sure the modules/applications he will
download and will have to support are in such a relatively small language.
I wrote him my opinion but I think it would be important to address these
issues. (Of course if there already is a page somewhere answer these
concerns I'd be happy to just get a link)
Here is his e-mail. (forwarded with permission).
---------- Forwarded message ----------
From: Arne Wichmann <email@example.com>
Date: Mon, Feb 21, 2011 at 4:00 PM
Subject: FOSDEM - perl 6 critic
You gave me your card when we were leaving FOSDEM, it took me some time to
write a mail...
The topic was: why I am very sceptic about perl6...
First, my background: I am a perl hacker since '91 (or so), but mainly I am
a sysadmin. That means, I do not write a lot of code, but I do a lot of
debugging of other peoples code.
From that background, what I have seen in perl6 does not look like a good
idea to me: it is too complex. When I read other peoples code I have to be
able to understand whatever subset of the perl language they choose to use
- which means I have to be able to grasp any concept used in the language.
And given the number and complexity of operators in perl 6 I do not feel
that this is really doable.
My other gripe is that perl5 nowadays already is too big - it takes too much
memory and time for small tasks. But that is only secondary.
[...] If you don't want to be restricted, don't agree to it. If you are
coerced, comply as much as you must to protect yourself, just don't support
it. Noone can free you but yourself. (crag, on Debian Planet) Arne Wichmann