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.