[plt-scheme] HtDP in Python!
The other thing Python is missing from an HtDP-replacement standpoint
is a hierarchy of languages that limits students' ability to shoot
themselves in the foot. If you could create a set of language grammars
that limits what students can do at any particular point, you can
create programs that are reasonably idiomatic but still don't use
confusing/dangerous constructs.
HtDC does this with Java, to some extent. In the early languages, you
can only use the assignment statement in constructors and only to
assign values to the fields. What that means is that you've excluded
mutation syntactically.