First, yes, Perl 6 is awesome. Everything that's come out as a result
of this effort is awesome.  The rest is inline below.

On Fri, May 25, 2012 at 10:32:35AM +0200, Moritz Lenz wrote:
> Hallo Parrot,
> 
> we are well aware that the documentation for Perl 6 is quite lacking. 
> Any contributions in that area are greatly appreciated.
> 
> Am 23.05.2012 01:35, schrieb Parrot Raiser:
> 
> >The problem we have is to provide a path for learning 6, that presents a
> >comprehensible but useful subset of the language to the average user
> >as soon as possible, while leading the programmer with more complex needs,
> >(and greater abilities), to the features they need or will appreciate.
> >
> >The Synopses are comprehensive. They define the language in great depth,
> >feature by feature, (some features bordering on the pathological, "do not
> >try this at home"). Since they specify what the language is to become, not
> >what is implemented at present, they can be frustrating to follow. Maybe
> >it's just an effect of advancing age, but it's easy to forget the contents
> >of a previous synopsis by the time one has read the next. The Perl 6
> >Tablets have a similar organisation, and hence the same problem.
> 
> The synospis were not originally meant as learning material, and they 
> still are not. It's easy to forget, because they are the most 
> comprehensive documents out there. But you don't learn Java by reading 
> the specification either.

Some people do - the kind of folks interested in standards and the
like; just sayin' :)

> 
> >I haven't recently revisited the book in Rakudo*, but it struck me, last
> >time I looked, as a powerful deterrent to learning the language. It starts
> >with the tricky stuff.
> 
> It's by design that it starts with tricky stuff, because it's not 
> directed at somebody who is new to programming. There are a lot of 
> programmers who know several programming languages already, and who 
> don't want to read a whole page on how to print 'Hello World', 5 pages 
> on if-statements and while-loops and another 10 pages explaining lists 
> and iteration.
> 
> At this point, Rakudo mostly appeals to language enthusiasts and early 
> adopters, so that's quite a good fit.

I have been following Parrot and Perl 6 from the start and in the shadows.
As an extreme Perl 5 enthusiast and general language geek, I can say
that for me (and I might be the only one), from the start calling it
"Perl 6" has caused a stumbling block for me.  I know, it's
a bikeshed - but a name speaks volumes to me.  For one, you have to
automatically explain to someone familiar with Perl 5 (your most
obvious target user base) how it is different. What I suggest below is
superficial, but I believe semantically significant the the branding
of what the project is attempting to accomplish. If anything, my
suggestions below would make it easier for me (as a beginner to Perl
6, but not to Perl 5 or a host of other interesting languages) to join
in the fun.

A lot of cool new languages have surged in popularity since Perl 6 was
started (e.g., Go, Chapel, D, Qore, etc), and so has one particular
old one - Perl 5 (for a lot of good reasons, including the benefits
trickling down from Perl 6).

As an outside observer and long time fan, Perl 6 for me is more of a
formalization of the Perl language as it evolved (greatly influenced
by non-languages, such as Unix itself and natural language goals).
But, the truth is that it's not Perl 5 and it's not meant to replace
it (right?).  It's an evolutionary step as the language itself moves
towards a more formalized specification.  My point is that while it
started out as a way to improve/formalize Perl 5, it's developed
sufficiently to the point where it is its own language and not the
"next" version of 'perl'. 

> 
> In the long run, we need a book for beginners too.
> 
> An attempt to write materials for beginners is at.
> https://github.com/perlpilot/perl6-docs/
> 
> But much more is needed. Please help us with it.
> 

Rebranding this as a new language is one step in the right direction.
Having the language called the same thing as whatever the defacto
reference implementation is would be a nice way to go. But it's more
than just a name to me, it's a signal saying that it's okay to stop
thinking of Perl 6 in terms of Perl 5 - and therefore it won't be
necessary to unlearn what I already know and love; rather, it'll allow
me to tap into the part of my brain that is willing and ready to learn
new languages.

Perhaps simply renaming the specification (OpenPerl?) and allowing the
reference implementation (Rakudo) to take center stage.

The Rakudo site has yet another caveat to the "Perl 6 is not Perl 5"
baggage:

"In the Perl 6 world, we make a distinction between the language
('Perl 6') and specific implementations of the language such as
'Rakudo Perl'."

Seriously, this is a ridiculous and unnecessary qualification (IMO).
The most it should say is something like, "Rakudo is the reference
implementation of the OpenPerl (formerly known as Perl 6).

For that matter, I also shouldn't have to be hit with the fact that
it's built on Parrot. We don't have to get reminded that Java is based
on a JVM each time it's mentioned. Let's let that fade to the
background, too. (Yes it's cool, but language enthusiasts will soon
discover this on their own).

And finally, if the formalization becomes known as "OpenPerl" or
something as standards "sounding", then the 'perl' interpreter (aka
Perl 5), can clearly state as a goal something like, "progress towards
the OpenPerl standard while maintaining strict backward compatibility
with <insert qualification>." All of a sudden you have a Perl "family" 
that includes crazy uncle 'perl' and a C++ based, SMP capable half
cousin 'qore'. (FWIW, it's so similar to Perl in some ways, that it's
trivial to write programs that work the same under both interpreters.)
But I digress; C and Lisp have deep and dysfunctional families, and dammit, 
Perl deserves one, too.

Sorry if all of this has been bandied about before, but if you're
looking for the perspective of someone who wants to jump in, but gets
really confused about where or when, then there you go (and here I am
:). I hope I've at least given something to think about it. Hopefully, 
it won't cause too much collateral damage. :) 

Cheers,
Brett

> Cheers,
> Moritz

Reply via email to