Categories
Posts in this category
- A shiny perl6.org site
- Creating an entry point for newcomers
- Sprixel, a 6 compiler powered by JavaScript
- Another perl6.org iteration
- Blackjack and Perl 6
- Why I commit Crud to the Perl 6 Test Suite
- Report from the Perl 6 Hackathon in Copenhagen
- Custom operators in Rakudo
- Defined Behaviour with Undefined Values
- Dissecting the "Starry obfu"
- Perl 6: Failing Softly with Unthrown Exceptions
- The first Perl 6 module on CPAN
- Google Summer of Code Mentor Recap
- Building a Huffman Tree With Rakudo
- Immutable Sigils and Context
- Is Perl 6 really Perl?
- Perl 6: Lost in Wonderland
- Lots of momentum in the Perl 6 community
- Musing and the future of feather and the Pugs repository
- Musings on Rakudo's spectest chart
- My first executable from Perl 6
- Trying to implement new operators - failed
- Let's build an object
- Perl 6 is optimized for fun
- How to get a parse tree for a Perl 6 Program
- Perl 6 in 2009
- Perl 6 ticket life cycle
- The Perl 6 Advent Calendar
- How to Plot a Segment of a Circle with SVG
- Publicity for Perl 6
- Rakudo architectural overview
- Rakudo Rocks
- Rakudo "star" announced
- Rakudo's rough edges
- Rats and other pets
- Releasing Rakudo made easy
- Set Phasers to Stun!
- Starry Perl 6 obfu
- Recent Perl 6 Developments August 2008
- Strings and Buffers
- Subroutines vs. Methods - Differences and Commonalities
- A SVG plotting adventure
- A Syntax Highlighter for Perl 6
- Test Suite Reorganization: How to move tests
- The Happiness of Design Convergence
- Perl 6 Tidings from September and October 2008
- Perl 6 Tidings for November 2008
- Perl 6 Tidings from December 2008
- Perl 6 Tidings from January 2009
- Perl 6 Tidings from February 2009
- Perl 6 Tidings from March 2009
- Perl 6 Tidings from April 2009
- Perl 6 Tidings from May 2009
- Perl 6 Tidings from May 2009 (second iteration)
- Perl 6 Tidings from June 2009
- Perl 6 Tidings from August 2009
- Perl 6 Tidings from October 2009
- Timeline for a syntax change in Perl 6
- Visualizing match trees
- We write a Perl 6 book for you
- When we reach 100% we did something wrong
- Where Rakudo Lives Now
- Why was the Perl 6 Advent Calendar such a Success?
- What you can write in Perl 6 today
- Why you don't need the Y combinator in Perl 6
Thu, 15 Oct 2009
Creating an entry point for newcomers
Permanent link
This is a direct reply to a blog post by VM Brasseur, telling about the difficulties to get started in the Perl 6 community. I started it as a comment on that blog, but it got too long pretty quickly.
The problem is known: far too many Perl 6 sites, far too many of which are out of date. I hoped to kill fire with fire by starting one more (which is perl6.org), and trying to make it easy and attractive to keep it up to date - by making it central, easy to contribute to, and by making it light on content and rich on links.
However being a "seasoned warrior" in the community, it is sometimes hard for me to assess what we have to present to the newcomer, and in what way.
I also like to keep in mind that Perl 6 has multiple implementations, and even a newcomer should have the choice. Being involved with some of the implementations I also feel it's unfair against the others to just point to one of them.
So, what would a newbie need? I'm guessing here, please do tell if you have different opinions.
- Introductory documents/tutorials
- A way to run a Perl 6 compiler to try it out
- Ways to contact the community
- A list of what needs to be done
- Further reading
The first one is maybe the toughest: frankly speaking, we don't have any. We have my 5-to-6 blog which I put up here in chronological form, but which assumes Perl 5 knowledge, and which talks about many features that Rakudo does not implement yet, and which mostly isn't practical. We have examples, but the rest is unorganized, out of date, or woefully incomplete. D'oh.
On the second point we're doing fairly well with a big download button - at least I hope we do.
We also advertise our IRC channel (which I consider the heart beat of Perl 6 development) and mailing lists, another score here.
The fourth point is a tough one again. Being a completely volunteer driven project, we are not used to handing out tasks. There is a huge variety of tasks that all have vastly different requirements in terms of interests, skills, time and commitment. The larger such a list becomes, the harder it becomes to maintain. And TODO lists are one of those things that go out of date rather quickly. Which is why I'd encourage newcomers to contact the community, tell about their interest and skills so that we can search for suitable tasks together.
However that's quite a hurdle for some people. I usually suggest to write tests and applications, which sometimes finds resonance. But any ideas how to perform better is greatly appreciated.
The last point, further reading, is mostly covered by the Synopsis/specification.
But all in all I think we need a better presentation, though I don't yet know how. Ideas?
Also somebody mentioned that our IRC channel is friendly, but still not very accessible to the newcomer, because we use lots of technical terms when talking among ourselves. That's something we can't really avoid, but it does scare off some people. So far we have tried to avoid splitting into many subchannels (with the possible exception of per-project dedicated channels), but maybe the time has come to fork off a newbie or users channel?
Anything else we can do right now to improve newcomer experience? And yes, we're working on improving introductory material. More on that next Friday.
Comments / Trackbacks:
Trackback URL:
/blog-en/perl-6/an-entry-point-for-newcomers.trackback
wtgee wrote
I think also part of the problem in getting started with Perl 6 is that, in the case of someone like me or (I am assuming) VM Brasseur, we really want to get started with perl6, i.e. Rakudo rather than with Perl6, i.e. Parrot. And further, it is hard to tell if someone wants to help *with* Rakudo, or to merely start using Rakudo to write scripts or whatnot. Approaching any of the sites doesn't really let you grok Perl6 as a whole so then you are left with a bunch of confusion as to what you can actually get coding on.
Also, I could be confused about all of this which, again, is part of the problem.
wtgee wrote
Maybe a nice big shiny graphic that says "This is Parrot, this is what it can do and what you can do with it. Want to work on Parrot?" and that is somehow connected with friendly arrows that point to Rakudo and Pugs and all that and they say, "This is Rakudo, this is what it can do and what you can do with it. Want to work on Rakudo?"...and so on.
A lot of the time it is hard for a newcomer to see how it is all connected as there are a whole bunch of new keywords just in the Perl6 ecosystem.
muixirt wrote
I think the language specification of Perl6 is a problem, too. It's sometimes hard to find something, some things are discussed thoroughly and some things aren't covered well. Granted, most language specs suck, but in this case it is mostly our only manual.
Moritz wrote
Specification
The specification also has problems, but since they aren't meant as reading materials for newcomers that's only a tangential point in this discussion.
muixirt wrote
These newcomers might not completely dumb and in the absence of good material they might what to read the spec. No one expects a language spec to be a good read, but anyway...
And, of course, the poor souls who want to write a manual for newcomers have to look in the specs ;-)
Tim Bunce wrote
A concrete proposal:
Add a "Getting Started" page that explains, at a very high level, about Perl 6, the specification, the fact there are multiple implementations, where parrot fits in, how development is done, the role of IRC channels etc. Do that in about one or two pages of simple friendly text (assuming little), with lots of links.
Change the text below "Welcome to Perl 6" on the perl6.org home page like this: Split "You can help too. ..." into a new paragraph. Change "Go to #perl6 ... glad to help you get started" to "Read Getting Started then goto #perl6 ... glad to help you further". (Where "Getting Started" is a link to the new page described above.)
Lars Johansson wrote
I have no perl5 knowlege at all, I've read about perl6 for some years now, and I think it is time for me to start perl6 now. What I need is a brief 'get started' tutorial and examples, a reference manual, and above all an introduction to the perl community and how to use 'already made functions classes etc'.
I do not need an 'introduction to programming'.
VMBrasseur wrote
Thanks for getting the ball rolling even faster, Moritz. So far all of the suggestions here would be great but I think Tim has hit closest to the mark with this: "Add a 'Getting Started' page that explains, at a very high level, about Perl 6, the specification, the fact there are multiple implementations, where parrot fits in, how development is done, the role of IRC channels etc. Do that in about one or two pages of simple friendly text (assuming little), with lots of links." That's *exactly* the sort of thing that I think would help bring more people into the fold.
I'll gladly pitch in on this effort and may, if time allows this weekend, start to sketch out something.
Tim Nelson wrote
I'd say two things:
1. Get a few of the older/higher pagerank P6 sites to link to the shiny new one. I'm talking about http://www.perlfoundation.org/perl6/index.cgi and about dev.perl.org/perl6/ both of which need to have a link to the new site.
2. Our thing that directs people to places (ie. where to help) should be a modified version of "Perl 6 is my MMORPG" (masak's blog post).
Moritz wrote
Thanks...
Thank you all for the discussion. I think a newcomers page it will be.
Tim Nelson, if you could provide a modified version of the "Perl 6 is MMORPG" that explains things we need, that would be great. I personally don't know how to turn it into such an introduction.
Tom legrady wrote
I make my living with Perl 5, all day, every day. I've been reading the Perl 6 material for the last 15 or 20 years ... well, maybe only 6 or 7, Apocalypses, Revelations, and the original pair of stone tablets. Probably the greatest obstacle between my current status and understanding, is the ability to differentiate between what once was, what is mentioned in one place, what is used in several places but explained only in one, ... you get the idea.
Write a comment
The comments on this blog post have been disabled; the comment form below will not work.