Dec 20 2003
Let’s make some generalizations, shall we?
From λ the Ultimate:
Of the programming languages that were written for teaching ankle biters (e.g. smalltalk, python), only logo seems to have remained focused on that goal.
Neither Smalltalk nor Python were ever developed as teaching languages. I think it is safe to say that LOGO was developed with pedagogic goals in mind. Like many languages, words were wasted on how “teachable” the language would be after it was designed, but neither Python nor Smalltalk were developed from the start for the purpose of teaching programming to novices. Period.
Digging deeper:
- Smalltalk has an interesting history, and the Squeak environment is certainly a well-designed pedagogic environment, but this is successful in part because of the consistency of the Smalltalk programming language.
- Despite Python being influenced by ABC (elch, and ugh), I don’t think it is right to say that Python was developed for teaching programming to everybody.
I know of very few studies predicated on the notion of designing a programming language for beginners.[1,2] Everything else is just hot air. I, for one, want research to drive the development of a programming language for novices, not ad-hoc observations. As it stands, I’ll be dead and decomposing before computer scientists (in general) acknowledge that design is a process, and linguistic design is necessarily one that must be driven by empirical research and structured interaction with the end-user–especially when you are attempting to build a usable, teachable, and learnable language.

.