Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Monday January 06, 2003
09:20 PM

Grading Perl: How Sinful is it?

[ #9805 ]

[ 100th journal entry! ]

A while ago I ran across a paper by co-authored Damian Conway, and since I can also brush up on my Klingon, Latin, or quantum mechanics, I tooks a look at it. It came up again in on the Perl Advocacy mailing list ( "Seven Deadly Sins of Introductory Programming Language Design".

The authors do not talk about Perl, Klingon, Latin, or quantum mechanics. They list seven areas where pedagogical programming languages tend to screw up. I graded Perl (that is, quantified my personal opinion) on these areas.

  1. Less is more: A
  2. More is more: D
  3. Grammatical traps: D
  4. Hardware dependence: A+
  5. Backwards Compatibility: B
  6. Excessive Cleverness: A-
  7. Violation of Expectations: B

Overall Grade: B

The authors also list seven guidelines to design languages that are more teachable. I graded Perl on these too.

  1. Start where the novice is: A
  2. Differentiate sematics with syntax: B
  3. Make the syntax readable and consistent: B-
  4. Provide a small and orthogonal set of features: D
  5. Be especially careful with I/O: A
  6. Provide better error diagnosis: A
  7. Choose a suitable level of abstraction: A

Overall Grade: B