I want to learn to program in a UNIX/Linux environment. I'll be using the C, C++, and Perl programming languages (as well as learning bash, of course). I just keep getting fascinated over POSIX and other differences between Windows and *
nix libraries (and also just bought the Perl Llama book), and I want to try programming for a different operating system for a change. Also, this will give me some experience writing more portable code.
However, I feel like a lost little boy in a large, overgrown forest of *
nix distros and I don't know anything about them. What are some good, common ones? What does just "UNIX" refer to (if I said I run UNIX, what would I really be running?)? Which ones are more for average computer users (I think Ubuntu is like this) and which are better suited for programmers? Is there that much of a difference between them? Should I be hardcore and compile the kernel myself or just download some easy-to-use distro and install emacs?
I think this sort of walks the line between programming related and "doesn't belong here," so I'm tagging it with not-programming-related to be safe.
I'll be installing this on a portable hard drive, and not replacing my precious Windows XP (if it matters).
update
I guess I'm going with Ubuntu to start. Thanks for the quick answers.