

What is the best way to learn programming?  - usmcnapier

I'm interested in programing (as many others) and just don't know the right approach to get into into it. Suggestions or ideas?
======
cmaher
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.

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

------
stray
Write programs.

