I’d recommend against installing Unix/Linux unless you’re already familiar with it. Learning programming and learning Unix are both non-trivial tasks. While I agree that Unix is generally a better environment for programming, I think it’s better to focus on one thing at a time. Optimizing your programming environment is secondary to using an environment you’re comfortable with.
“If you are not currently a Unix user, your biggest decision may be whether you want to become a Unix user. Because most of the programming language stuff (that you don’t have to pay big bucks for) assumes that you work in a Unix-like environment. If saving money is important to you, and you don’t currently know much Unix-speak, then you will find that learning Unix will be just as difficult and time consuming as learning a programming language. But also just as useful—maybe more so.”
I think that learning best practices from the start is much better than getting used to doing things sub-optimally. Yes, one can program on any system, but UNIX and its derivatives are designed for programming in a way that Windows just isn’t. You can learn to play music on a guitar with only five strings if that’s all you’ve got—and it’s easier to start with, one less string to worry about—but you’ll always be at a disadvantage to those who’ve got an extra string on their guitar.
I’d recommend against installing Unix/Linux unless you’re already familiar with it. Learning programming and learning Unix are both non-trivial tasks. While I agree that Unix is generally a better environment for programming, I think it’s better to focus on one thing at a time. Optimizing your programming environment is secondary to using an environment you’re comfortable with.
I disagree—I tend to agree with Perplexed above:
“If you are not currently a Unix user, your biggest decision may be whether you want to become a Unix user. Because most of the programming language stuff (that you don’t have to pay big bucks for) assumes that you work in a Unix-like environment. If saving money is important to you, and you don’t currently know much Unix-speak, then you will find that learning Unix will be just as difficult and time consuming as learning a programming language. But also just as useful—maybe more so.”
I think that learning best practices from the start is much better than getting used to doing things sub-optimally. Yes, one can program on any system, but UNIX and its derivatives are designed for programming in a way that Windows just isn’t. You can learn to play music on a guitar with only five strings if that’s all you’ve got—and it’s easier to start with, one less string to worry about—but you’ll always be at a disadvantage to those who’ve got an extra string on their guitar.