Well that's such an incredibly broad question that I don't know where to start. It's a bit like asking which world language to learn - there are so many, and they're so different, and they're useful for different things. If you're going to South America, learn Spanish. If you're going to Asia, maybe learn Chinese. Africa? You'll get quite far with French or English. It all depends what you're aiming at.
If you're a total beginner, I would recommend a structured, logical language like
BASIC as a good starting point, and investigate related languages such as
Pascal (see also
this). Then you can more easily branch out into
C,
C++,
C#,
Perl and others, which are basically all convoluted versions of each other.
However, you may be thinking of web design. I'd then learn the basics of
HTML (and associated
CSS), and then consider looking at
PHP. If you want to continue with web programming in real programming languages, look into
Java or
Javascript, as well as
ASP and related languages.
And then, somewhere between these, are database languages such as
SQL and
MySQL
As you can see, this is already a huge range of specialist languages which are completely different from one another. There are plenty of tutorials online for starting in these, as well as various For Dummies-type books. Can you give any more information on what you want to be able to do, and at what level?
Home server: Asus P5Q Pro, Core2Quad, 8GB DDR2, ENGTX260 876MB, Zalman 800w, Antec P180 case, 2x1TB and 2x2TB Samsung Spinpoint F1, Windows 7 64-bit, etc
Work server: HP ProLiant ML350 G6, hexacore Xeon E5645 2.4GHz (12 logical cores), 16GB DDR3, 3x300GB SAS RAID5, Server 2008 R2, nVidia GT560Ti 1GB for Hyper-V RemoteFX acceleration