Personnaly, I would say Python, it is more and more used by professionnals, and nonetheless it's very very quick to learn. Excellent for beginners, as many really boring aspects (which will be necessary for "bigger" language) are automaticaly managed as the memory, the pointers, the types of variables... the fact that python have an interactive console makes it unvaluable for beginners, that plus the excelent integrated debuger. And if you choose Python, once you have understand the concept of list (or array), try to learn a little C, you'll see that C is a hell to learn due to the pointer arithmetic needed to build list (dynamical i mean). Python doesn't have to be compiled, understand a compiler and all its options is not an easy task. If you choose that language, many possibilities are offer to you, you certainly won't be able make an OS, but this is rarely the goal of beginners.Making games are possible (Panda3D,Soya3D,PyOpenGl), for example i was able to make a graphical application (and not a simple "hello world" program) after 2 weeks of learning with no knowledge in programation (except conditions and loop) when I began.
Get used to concepts of variable, loop, functions, classes, methods, heritage, lists, dictionnary. And then, I agree with Zyxpsylon : learn a little asm(ASseMbly, and even how to disassembly) before learn the C,C#,C++... well, heavier languages.
Download python 2.5 or 2.6, but not 3.0 for now, as it has almost no third party modules
python book to begin : How to think like a computer scientist with python
http://greenteapress.com/thinkpython/thinkCSpy/thinkCSpy.pdf
then : Dive into Python
http://python.ftp-developpez.com/cours/DiveIntoPython/fichiers/endiveintopython.pdf