RFC Perl for education
For some time now, I have an idea of ePerl in my head. A subset of Perl or Perl in a sandbox. You might guess why? well Perl is great language, backwards compatibility makes your old code still run, even if some of the ancient designs are considered wrong nowadays. It’s all fine, except it’s not suitable for education.
In my opinion, to make Perl more acceptable in School/University curriculum we need to sell it to lazy teachers/lecturers, who need something like:
- Current best practises upfront
- No backwards compatibility
- Strict, warnings, utf8 and newest Perl features on by default
- Sub signatures and postfix dereferencing should be on and without experimental warnings
- Most of the greatest CPAN modules should come preinstalled, and I am really talking about modules that helps beginners! i.e. Devel::REPL, Devel::DidYouMean, Moo, and many many other like Mojolicious, Dancer, Catalyst, whatever…
- Forbid/remove special cases like split emulating awk.. or indirect object notation and many other silly leftovers
- etc. etc.
Other languages break backward compatibility, they make current developers angry, but future generation don’t need to care what or why happened 10 years ago. Don’t get me wrong, backwards compatibility is superb, but it’s biggest Perl’s weakness today. Beginners don’t care about the core nor how to achieve thing X in Y different ways. Furthermore, this would allow them to learn quicker and safer Modern Perl.
What do you think?
...While I am writing about Perl5, I believe Perl6 will have exact same problem...
...and yes.. I am aware of breaking CPAN. Though if it was running in a sandbox, it would still be able to escape and use CPAN modules..
… I believe Perl is unique language, that needs it, because:
- Modern Perl’s best practises are rapidly changing, but core is very very behind ( due to backwards compatibility & that feature must first appear on CPAN )
- Perl’s “There is more than one way to do it”....