First off, do
not use Redhat, Mandrake, Lycoris, or Lindows. Granted, they're easy to set up, but in the long run you're not using linux. They're too weird and proprietary, too different from a true linux OS.
I've heard good things about Gentoo, but haven't had a chance to use it as it doesn't like my onboard RAID controller (arg die). I've used CRUX and it's hard. I've used Debian and it's manageable but still difficult. What I would recommend is
Slackware.
Slackware is not extremely easy to set up; that is, you'll need to read some instructions as you're doing it. But it does have an installer system and tips to help you along the way. It ships with a large number of software packages; you'll likely be happy with what it has, but if not, you can install anything from either pre-compiled Slackware packages (not common, but they're around) or just install it from source yourself, which is about as difficult as using IRC. In other words, it's only hard if you have typing-phobia.
As for coding, well, Slackware certainly comes with all the resources for you if you should need to write some programs, but you are by no means required to do so. I'm no coder. I know some python, I can tell what a bash script does by reading it, and the best C program I ever wrote was a number guessing game. And I've
customized the hell out of my Slackware system. (The desktop environment pictured in that screenshot is Enlightenment, which is so malleable that it's the Winamp of linux window managers. Slackware ships with several window managers, including GNOME and KDE, both of which mimic a windows style, with menu bars and desktop icons.)
Slackware's most recent version is 9.1 and the ISO images can be acquired from
here.
If you have any questions, I'm constantly in the IRC channel. Just ask.