Aspects of a Novice-Friendly Distribution


Scott Walters suggested a Perl optimized for the novice user experience. Adam Kennedy called it Perl::Tiny.

If someone were to build such a thing, what would it be? How would it look? What features would it have and why?

I'd start with Adam's Chocolate Perl, a full distribution of Perl 5 which includes the toolchain necessary to build and install CPAN modules as well as supplementary tools and external modules such as Task::Kensho. In short, it's a modern, enlightened Perl 5 distribution.

Next, I'd add Padre. It's not the only Perl IDE, but it's under active development with responsive maintainers, frequent releases, and a plugin mechanism that allows the bundling and use of several other interesting pieces of infrastructure.

I'd use the Perl::Critic plugin and make it active by default. It'd take some work to choose the right set of default rules, but I'm sure we could come up with something modern. This will help novices avoid common problems which the Perl 5 core doesn't warn about.

I'd set a default template which enabled Modern::Perl by default. There's no sense in giving novices good tools without asking the compiler to give them as much assistance as possible.

I'd include Moose, of course. I'd include other CPAN modules such as Try::Tiny, though I wouldn't include all of perl5i. The goal here is to provide better alternatives to core syntax which is difficult to get right.

I'd provide a plugin which can explain Perl 5 magic variables by extracting the appropriate documentation from perldoc perlvar. I don't know if I'd recommend the English equivalents.

I'd also provide a plugin which can use Perl::Tidy and even B::Deparse to canonicalize code -- and explain syntactic constructs, keywords, and operators with the appropriate documentation from perlsyn, perlop, and perlfunc.

I'd love to see -- though this may be an additional project -- a graphical CPAN client similar to Ubuntu's Syntaptic, which can browse and search the CPAN indexes.

It might be worthwhile to add a plugin to search PerlMonks and other sites for help and questions.

I can imagine that there's a small bit of income available from selling training material -- especially katas and interactive lessons, but that's a different story altogether.

Would you have used such a system when you were a novice? Would you recommend it to others now? Am I missing things?


A GUI for graphically finding and installing CPAN modules.

As far as I know, what you're describing is pretty much what Adam envisaged for Chocolate Perl to start with!

Modern Perl: The Book

cover image for Modern Perl: the book

The best Perl Programmers read Modern Perl: The Book.

sponsored by the How to Make a Smoothie guide



About this Entry

This page contains a single entry by chromatic published on September 11, 2009 11:19 AM.

The False Dilemma of Novice and Savant User Experiences was the previous entry in this blog.

Befriend a Novice is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by the Perl programming language

what is programming?