Teachable languages should provide a small and orthogonal set of features.
Perl's grade: D
If you just ignored 80 % of Perl's fetures, perhaps
you could grade it higher.
At least on this criterion.
Subsets do not count
brian_d_foy on 2003-01-09T01:04:11
Damian (and Linda McIver, the co-author) point out that choosing a subset for a language does not raise its grade---indeed, it makes it worse.
Although you can teach a subset of a language in complete isolation, the perl interpreter does not limit itself to that subset (at least not yet), and other books the students may consult may use a different subset. Since the best way to answer one's own questions, in my opinion, is to search Google Groups, the good students will run into things outside of the pedagogical subset.
Larry has said that it is fine to speak "baby Perl", but that does not mean that everyone does, and that is the problem.
:)
Teachable != Usable
dws on 2003-01-09T03:35:39
The problem with simple (or even on-simple) teachable languages is that they often fail miserably to satisfy the urge that 5-10% of students have to
actually build something interesting.
Re:Teachable != Usable
Damian on 2003-05-06T08:01:57
The solution to this (very real) problem is, however, not to change or extend the teaching language. It's to allow that 5% (and you're fortunate if it's as high as 5%) to move on quickly to a more powerful language.
For example, in a follow-up paper to Seven Deadly Sins... we propose a "zero'th" programming language that would only be used for a few weeks, or at most a month or two, prior to learning a first programming language.