What is the best way to learn programming?
I'm interested in programing (as many others) and just don't know the right approach to get into into it. Suggestions or ideas? First, this post:
http://blog.zackshapiro.com/want-to-learn-to-code-start-here
gives a good foundation of troubles you should expect, although point #1 is more than a little impractical for most people. You should also be aware that the only way to learn to code is to actually do it. Try going with a book tutorial, such as
http://eloquentjavascript.net/ You can click on the buttons next to code entries to try stuff out. Learn how to develop code outside of a browser. Pick a text editor and learn it. Sublime text (http://www.sublimetext.com/) is a great choice for beginners. Learn how to use the command line. After you have an OK foundation, check out the problems at
http://projecteuler.net/
working your way through them sequentially (apparently, most people don't go beyond ten problems) Create a GitHub account. Learn basic git, and start putting your code out there. Come up with something you want to make and start a project to actually do it. Be sure to start small, since a lot of software development skills only come with practice. There's no one universally best way, but there are lots of available ways that are good, and you need to try some out and find which is best for you (self-study from books; traditional classes offered via, e.g., local community colleges; MOOCs like EdX, Coursera, Udacity, etc.; non-MOOC online interactive-learning tutorials like those offered by CodeAcademy, etc.; etc.) -- and there is no reason to limit yourself to one of these approaches. Try more than one, and keep doing more than one if you find they work together for you. Whatever basic approach(es) you use, the most important thing is to take whatever you are getting through it and find ways of applying to problems that interest you -- that is, the most important thing to learning to programming is to practice programming. Personally, I think the mix of convenience, structure, and cost (free) of the MOOCs is hard to beat; the self-scheduled nature of Udacity makes it the easiest of the big 3 MOOC providers to jump into an intro programming class since you can do it whenever you want. So, I'd probably recommend that as the first thing to try if you want to start learning right now. But the introductory programming offerings from other MOOC providers (particularly EdX's MITx 6.00x class) are also worth exploring, as are other approaches. Write programs.