I can't recommend a single distribution, but here are thoughts on a few I have used the most, the ones on top are the ones I think you should try first -
Ubuntu - a good balanced distribution. Quite easy to install and use, has good hardware detection, a large collection of software you can install using tools like synaptic, but programming tools are not provided by default, you may need to download and install them. Its based on debian, so it can be configured and tweaked easily.
Slackware - fast and stable distribution, installing it requires a little knowledge of linux/unix, and it doesn't auto detect all your hardware, sound and video would have to be configured manaully. Comes packed with development tools, and its simplistic nature allows you to configure it to a very large extent. Good distro to learn about linux.
Vector Linux - tweaked slackware + easy install + fast software. Works well on older computers out of the box. It is a good starting distro for someone who wants to learn the basics of linux.
Arch Linux - this is my personal preference among all, a bit difficult to install, and offers very little hardware auto detection. Is quite powerful and can be tweaked very well. Fast and optimised for modern (i686) computers. Doesn't run on older hardware. Has an excellent package manager.
Redhat/Suse/Mandrake - These three are very easy to install and use, may run slow on older hardware without massive reconfiguration. Complex in functioning, so if you want to tweak or customise it, its not so easy. Very good choice for an absolute novice.
Ubuntu - a good balanced distribution. Quite easy to install and use, has good hardware detection, a large collection of software you can install using tools like synaptic, but programming tools are not provided by default, you may need to download and install them. Its based on debian, so it can be configured and tweaked easily.
Slackware - fast and stable distribution, installing it requires a little knowledge of linux/unix, and it doesn't auto detect all your hardware, sound and video would have to be configured manaully. Comes packed with development tools, and its simplistic nature allows you to configure it to a very large extent. Good distro to learn about linux.
Vector Linux - tweaked slackware + easy install + fast software. Works well on older computers out of the box. It is a good starting distro for someone who wants to learn the basics of linux.
Arch Linux - this is my personal preference among all, a bit difficult to install, and offers very little hardware auto detection. Is quite powerful and can be tweaked very well. Fast and optimised for modern (i686) computers. Doesn't run on older hardware. Has an excellent package manager.
Redhat/Suse/Mandrake - These three are very easy to install and use, may run slow on older hardware without massive reconfiguration. Complex in functioning, so if you want to tweak or customise it, its not so easy. Very good choice for an absolute novice.