Its a bit different world today than when I really started learning how to program (1994-1995) but the general idea is the same so I'll give it a shot.
I'm a big believer that programming fundamentals are best learned in simplistic programming languages. I think that people who begin to learn programming on complex langauges ultimately end up having bad style and generate inferior code than those who took their time and learned it the 'right way'.
Most of my early programming was in QBASIC or Pascal. I think that Pascal is and was a great language for beginners. I also think that pure C (not C++) is pretty good for beginners if you have a good book on it.
The biggest thing is to get familiar with a console programming environment. If you're comfortable with a DOS prompt, thats perfect. All your programming is going to be text based at first, so forget about most of the languages that offer higher level graphical features, since you won't be needing them.
The main reason that I say start with a simple language like C is that you will be expected to be able to read and understand it if you do ANY work in computer programming. It is an absolute must have. And its easier to start with C and work up, than it is to start with C++/Java/C# and work downwards.
Now, I know a lot of people are going to disagree with this, but I think that simple is better. You're going to want to find a compiler that you are decent at using, which means you'll probably not want a super full featured one. I still used Borland Turbo C++ 3.0 (DOS) as recently as a few years ago for writing tiny little console applications. It is hardly possible to get simpler than a compiler like that, and its a pretty good environment for writing console based applications, even if it is very old. You can still find it floating around Google in a ZIP file or two, if you look. You might also take a look at LCC-Win32, which is a very very basic Windows C compiler.
I know many on here are fans of much more complex IDEs, but to be honest its not neccesary. If running GCC on Windows was less complicated, I'd probably reccomend that. I've done more than my fair share of programming in a simple text editor and then compiled with GCC at a command line.
In short, I think big complicated IDEs can be intimidating, and make programming seem needlessly difficult.
As far as languages, you can barely get simpler than C. If Pascal weren't so outdated, that'd be even more ideal, but C suits this task fairly well. As long as you stay away from some of the more odd features of C (you'll learn about them much later on) you can get going fairly quickly.
The most important reason to learn a language like C is that everything is derived from it. Also, it is probably the next most prevalant programming language next to COBOL (which is archaic). Also, it allows you to program in a way that is more suited to the tasks you will be doing early on. You do not need (and should not need) to know about objects to get going. You do not need to know about what a static method is, and you don't need to understand the concept of a Class or a member variable or member method.
Here is possibly the simplest C program one could write:
Code:
#include <stdio.h>
void main()
{
printf("Hello, World!.");
}
You need not do any more than copy and paste that into your C compiler/IDE of choice to get started.
As far as books go, theres literally thousands of books on C. I reccommend you go to your nearest bookstore or library and start browsing through them to see what appeals to you.
Good luck!