Comment pedagogical langauges suck (Score 1) 175
I've had some experience in programming in early "pedagogical" languages. Typically the environment that surrounds them is terrible.
The compiler is slow and buggy, and to top it off, the languages might look good on a whiteboard, they tend to have fundamental flaws (oversights really) that make them painful to program in. Kernighan has a fairly famous essay enumerating a big long list of such flaws.
Contrast this with a "real" language rather than a pedagogical language, which has had its environment optimized and its corners rounded until it works well for industry, and has glaring flaws fixed and is more or less feature complete.
I guess I'm not arguing against any particular language so much as arguing against a novel language invented specifically for pedagogical purposes by someone with no industry experience and then push that onto students before it has had a good 10-20 years of industrial exercise and development. The result is students who find programming painful and hate programming.
Programming the early versions of C wasn't great either. Things like function prototyping made a big difference. C++ has had its fair number of changes over the years too. And how long has python been around, and even python has had some annoying corners rounded in the last two years.
I haven't looked at Racket, I don't know how well honed it is, sounds like it is old enough to maybe be mature in this sense, but really, how many lines of real applications have been written in it for it to be mature? Python certainly is plenty mature. But please don't push your invented novel unrefined pedagogical language on new students. Maybe in the 90's there were not a lot of good options, but today there's plenty.
As other commenters have said, the point is not learning the language, but learning the methods and algorithms, so the language really shouldn't matter. So what's wrong with doing that in python?
If you're going to do a painful language for pedagogical purposes, use C or assembly. Don't invent a new painful language.