For me, I started with a copy of why_'s Poignant Guide, which teaches Ruby. I liked it because it taught me ground-up. I've only needed to learn a few new concepts (for multiple other languages) since, and information was presented in a way that appealed to my wandering, childish mind. For example, arrays were described as caterpillars stapled to walls. I still use this analogy when thinking about technical problem-solving.