One of the BASIC languages such as Visual BASIC are probably the easiest to pick up. You can do some neat stuff with it. However, most people I know that started with BASIC didn't get very good foundations for programming. BASIC, really is that, only basic, so don't expect a whole lot with it.
Java is also a very popular learning language. It is an Object-Orient Language, so, it's a different mindset, one that some people have a difficult time grasping. Java is a very solid language, and well structured.
Personally I'd recommend Java, I find BASIC mostly useless. I can't recommend any specific books though; most of what I learned was from class or on the net somewhere.
C/C++ can be very difficult, is easy to learn really bad practices, and is really easy to shoot yourself in the foot with. However, it's one of the most useful, widely used and powerful programming languages today.
With that said, there is one condition I'd recommend C/C++ for learning, and that's solely because of the book "Who's afraid of C++" by Steve Heller. If you have a basic understanding of computers, these books are excellent for beginners. However, it is out of print, but, you can access the newer version of the book free of charge at his website.
http://www.steveheller.com/whos/
C++ is a tough language though, and it takes much more time and effort to do what Visual BASIC and Java can do much more easily. However, C++ is a language that is much closer to the machine, so, learning it correctly will give you an excellent foundation with which to program and learn virtually any other language.
Other learning languages I know of are:
-Pascal, which I had to use and hated it, it's also pretty dated.
-Turing, not all that useful for much else than learning
-Python, never touched it, seems to be popular though