All of zyxie's Comments + Replies

zyxie50

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.

2[anonymous]
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.
zyxie40

For context, I've been teaching myself programming for about 10 years, and I'm currently a professional programmer.

The most important thing in programming is that you find something that you enjoy. There's enough variety in terms of languages and problems out there that you're bound to find something that works for you. Once you find something that's fun (and therefore easier) for you, it won't be too hard to bootstrap into more complicated languages and problems.

As far as problems go, start with something simple, and work your way up. An excellent way to ... (read more)