The diagnosis of CS education seems correct, at least. My high-school AP CS course, in C++, seemed primarily dedicated to teaching and then testing an arbitrary grab-bag of C++ syntax and STL features. There is no way that class would have gotten me interested in programming if I weren't already. What did get me into programming was writing scripts in mIRC's idiosyncratic custom scripting language, on my own time.<p>But I think it's more than the language choice that's the problem. You can make a course into arbitrary memorization in just about any language, though some languages may make it particularly easy. In one nice turn of phrase, Seymour Papert quoted a student contrasting two uses of Logo: "In the summer, we learned to program. At school, they are teaching us to write a program." [1]<p>[1] <a href="http://www.kmjn.org/snippets/papert85_logovisions.html" rel="nofollow">http://www.kmjn.org/snippets/papert85_logovisions.html</a>