Best Linux distribution
The best Linux distribution for programming is ... all of them. There is really no distribution that I know about that would be bad for programming. The tools and languages that you use are available on every Linux distribution. The differences are not with tools or languages but with package management systems, versioning, philosophy, release schedules, default desktop or software installed by default, but this can usually be changed easily.
For example if you use Debian Stable then you're system will be rock solid but would not get any new features after release, only bug fixes and you never know when the new Debian Stable version comes out: it's released when it's ready.
If you use Debian Unstable then you will have a running version that is always on the cutting edge but you pay the price that not everything is tested as thoroughly as on Stable.
Ubuntu is based on Debian but the versions are more recent than on Debian Stable and it has a predictable release timeline so you can plan your upgrades ahead of time and you can use the Long Term Support version and be sure to get bug fixes for 5 years.
The other difference is that Ubuntu doesn't support as many architectures as Debian so software that is only available on intel architectures can be used by default while it cannot be used by default on Debian.
The most important difference of Ubuntu other than cosmetics is AppArmour and Upstart but if that is an advantage or disadvantage is entirely up to you. Both Debian and Ubuntu are very developer friendly in my experience.
Arch Linux, CentOS, Fedora, Gentoo, openSUSE, Slackware...
You may also want to see what distros offer commercial support, or if they are available in hosting companies that offer shared hosting, dedicated servers, VPSs etc.
For example Linode currently offer those distributions:
Arch Linux 2012.10,
Ubuntu 10.04 LTS,
Ubuntu 12.04 LTS and you pretty much can't go wrong choosing any of them. It's nice to have the same system on your laptop than on your server, but then again you might not care. It may give you some idea on how tested and widely used they are, though.
Another way to make your mind would be to take a look of the online communities of the distros that you are thinking about. For example Ubuntu has Ask Ubuntu here on Stack Exchange so you can check it out.
The documentation is also something that may be important to you. There is a nice documentation and wiki for Ubuntu. There are various Debian resource and documentation.
Those are just examples. Every distro has some community and documentation so search for it and see if it satisfies you. Keep in mind that not always the biggest community must be the best for you, you may feel more comfortable with a smaller, maybe even a very special purpose distro, with a community that would highly value your interest and possible contributions.
I would suggest to try as many different distros that you can reasonably try on Live CDs and choose whatever feels right for you.
You can start from the list of Linux-based live CDs on Wikipedia and read the Wikipedia articles about the ones that you are interested in for a good start.