I'd agree. I think two languages which put in a great position to quickly grasp other languages are C and Java. Learn C first to get to grips with using a statically typed language, memory management, compiling, linking and debugging. Learn Java to get to grips with object-oriented programming and study design patterns inside out while you're at it. Play with JUnit and jMock or EasyMock to get a grip on TDD, then come back to C-related technologies and have a go at Objective-C and C++.
If you've never programmed at all in any language I definitely think C is a good base to venture out from, although the learning curve is steep!
EDIT | Java is also often seen as a generic language which is understood by most programmers and so is often used in many non-language-specific books for code examples.