Skip to content

Instantly share code, notes, and snippets.

@gigamonkey
Last active January 18, 2016 08:49
Show Gist options
  • Save gigamonkey/7a49d1410599a23d8e5f to your computer and use it in GitHub Desktop.
Save gigamonkey/7a49d1410599a23d8e5f to your computer and use it in GitHub Desktop.
Answer to email asking how to start learning to code

There are a bunch of ways to start. The main thing is to get some simple programming environment where you can try things and learn from your mistakes. Depending on how you like to learn you might want to start with a good book. I haven't read it myself but I've heard good things about How to Design Programs which you can read online here http://www.htdp.org/. There are also sites like https://www.codecademy.com/ and https://studio.code.org/ that have online instruction for starting programming. The latter may be aimed somewhat at kids but that doesn't really matter.

Another approach is to start by learning HTML, the language used to make web pages, which is not exactly a programming language but which will let you play with making a computer do something as well as giving you a chance to learn some of the mechanics of dealing with files and debugging your mistakes, etc. From there you can learn to make web pages more dynamic with Javascript, which is a programming language. In this case your programming environment is simply a text editor and your web browser.

Finally, try to find a balance between simple and hard: on the one hand, don't set out to write some super complicated program; just getting the computer to print "hello, world!" is a great start (and something I still do when learning a new programming language) and then you can try something a little bit harder. On the other hand, it can be very motivating to come up with a problem that you actually want to solve and then figure out how to write a program to solve it—the desire to have an actual thing can sometimes motivate you to press on through whatever difficulties you encounter.

Sorry this advice is so scattered—there are a lot of paths and the one that's best is the one that starts wherever you are now and goes where you want to go. Hope you find one that works for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment