Java (in this order)
Reges: "Back to Basics" - the first book I read about programming. it's very beginner friendly and it's very well thought out
Eckel: "Thinking in Java" - fleshes out things like polymorphism and concurrency in greater depth
Bloch: "Effective Java" - this book will really make it so you optimize your programming in Java with "tips" from a former Java library programmer
C:
Kochan - "Programming in C " good C primer. I switched back and forth between this one and the next while learning C. They're both very good and you can't go wrong w/ either.
King - "C Programming: A modern approach"
C++
Prata- "C++ Primer Plus (5th ed)" - it's a good intro so far to C++. I'm about half way through this one, but I've enjoyed it so far. I think the exercises in this book are probably the best programming exercises in any book i've bought
Meyers - "Effective C++" - like Bloch's book, but for C++
Python:
Gaddis - "Starting out with Python" - essentially the same as the Java "Back to Basics" book, except for Python. very good for beginners.
Beazley - "Python Essential Reference" - great reference handbook
Lua:
Ierusalimschy - "Programming in Lua" - while I have yet to open this one, it's from the creator of this nifty little scripting language. It gets very good reviews.
I've also dabbled in OpenGl and DirectX programming, but I'm still working on my C++ and trying to get it so I have a handle on everything. I've made a few games in Java, but C++ is a whole different animal. Of course, no programming book collection would be complete w/o something on algorithms and data structures. You can find a very good book (for free) here:
http://people.cs.vt.edu/~shaffer/Book/
It's what we used in our Data structures class. Also, Robert Sedgewick has a very highly praised series on algorithms that you should check out.