I learned in this order: BASIC, C, ASM, PASCAL, C++, ADA, AWK, Perl. Everything from C to ADA was in actual courses, the others were by myself. I have to say that although I would not start a new programmer on C, it was the one that taught me the most about data structures, and I learned the most about a wide variety of programming concepts from Perl. That's why I've participated (lightly) in the development of Perl 6, and I have to say, it has set itself up to be a fantastic learning language. For example, much of the typing system is optional, and you can get as strict as you want gradually, so you can start with easy code with just variables, then get into types and multi-dispatch as the students get more sophisticated.