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. http://search.cpan.org/dist/CPANPLUS-Shell-Wx/
As far as I know, what you're describing is pretty much what Adam envisaged for Chocolate Perl to start with!