I would like to learn programming but haven't been able to get started. Advice appreciated, both high-level (you should try learing language X) and low level (you can find a program that will run language X here), the latter has been a particular problem for me, I don't really know how this sort of thing works.
I am currently studying maths and physics, and I have a particular talent for the former, so I would probably do well with a language that plays to that strength. My only actual experience with programming was when my father let me play around with Jython a bit when I was about 13, I had some fun calculating prime numbers and approximating pi but never got any farther.
Thanks in advance for all suggestions.
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.