Categories

Posts in this category

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.

[/perl-6] Permanent link