First, you really want a long-term support release. Your main options here are Debian and spinoffs (Ubuntu LTS, for example) and RedHat Enterprise and spinoffs (CentOS, Scientific Linux, etc). If you know one of these groups go with it.
Second, GUI's usually come separate from the distro. You can choose GNOME, KDE, XFCE, etc. depending on your taste. Really the best way to go is to try a bunch out and see what you like.
If you are doing development, you want a cutting-edge distros (so something like Debian Testing, Ubuntu, or Fedora).
Best Wishes,
Chris Travers