“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 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.