Wow. There's a wealth of good information in the links above. Good job black_death and phishphreek80!

As for programming ease and Linux, I feel that Linux definitely encourages programming. There are very few things in Linux that happen "by magic". You can usually trace everything that happens through bits of evidence on the file system (no windows registry here). On top of that, everything in Linux is treated as a file, so you can even go in and read several configuration files to see exactly how things work. When you get good at it, you can even make your own modifications, and see what they do. You'll soon be amazed at how simple some programs really are when you can read the packets travelling back and forth with a client. You'll find that the bulk of programming today comes in the form of fluff for the end-user.

I also think you'll grow to love the power you have on the command line. There are tools to do everything you could imagine right from the comfort of your own shell prompt. Just remember, Linux has a steep learning curve, and it's important to have patience with it. Since Linux has an entirely different philosophy behind it than Windows does, it will probably take you a while to learn it. Just keep at it, read documentation, and ask questions whenever you need (preferrably in that order... ). Keep us posted on your progress.