Going from a basic language to a high level one is the way to go. That way you still have an idea what's happening in the back.
- C - Pointers & memory management
- C++ - OO basics and still very popular
- Java/C# - Most popular languages
- Some basic assembly
- Functional language - E.g. Haskell
- Script language - E.g. Python