I never studied BASIC in any form. I skipped over that in High School and went straight to the AP course (Pascal at the time).
Pascal wasn't well known when I started as a self-taught H.S. student in the late 1970s. We all used BASIC. My school hap APL (!) and my college used it too.
I have a few problems with C(++). The compilers I've used have not been very clear in compiler errors. I TA'ed a few courses in college, and almost all of the questions I got were not about programming concepts, but were oriented around "What on earth does this compiler error mean?!" or "what the heck caused that segmentation fault?!".
[...]
I guess debugging is part of the learning process though. Teaches patience
Here's my point exactly, and it cuts both ways. Time spent dealing with compiler errors detracts from learning the concepts, yet it teaches one debugging skills and the importance of proper syntax. What's better--someone who knows the concepts but can't actually make it work, or someone who can inspect a core dump and find a memory usage conflict but can't design a decent program? Obviously, both types of skilles are needed. (well, maybe not inspecting a core dump precisely, but debugging code that won't compile.) My fear is, in part, that using Python lets the CS faculty teach what's fun for them while avoiding doing the "dirty work" of making sure the students actually know how to get the job done in a practical work environment--which for our students usually means C, Fortran, or MATLAB (the latter eventually recoded in one of the two former languages).
Right now they're using Java and emphasizing OOP. They learn a widely used language, but can't do structured programming when needed. Going to Python is likely a step forward in some ways, a step back in others, and perhaps a wash overall. But C would be better for our folks, I think.
It just feels like pro-Python advocacy!