Ask HN: Best way to teach yourself how to program?

14 points by cme ↗ HN
I started a business around a simple web app. I outsourced the development as I am a non technical founder and have gone into this alone. I have always been fascinated with web startups and apps in general. I would like to try teaching myself how to program. I took a basic HTML class in college, but will need to refresh on this. But once I have HTML nailed down where do I go from there? Any websites, books, or other recommendations would be greatly appreciated.

Thanks!

8 comments

[ 3.7 ms ] story [ 32.3 ms ] thread
To learn more about html and css, just download your favourite websites to your local filesystem, start to edit and watch the results. Try to get some basic concepts about programming. Those first hours are probably not very exciting, but are of great value later. Then you could start to learn more about web development by reading and modifying open source applications. Start with something simple like a guestbook. Then try to do something similar on your own. Best way to learn programming is to do it. Modify and watch the results. Have fun!
I would try to learn the client-side (the within-the-browser stuff) markup/styling/programming before jumping into the server-side programming. Understanding how browsers handle the HTML (markup), CSS (styling), and JavaScript (programming) takes time. I think it's much easier to learn and apply a server-side language (PHP, Perl, etc.) after you have a good understanding of the content the server-side language will be throwing at the browser to handle.
The best way to teach yourself how to program is to pick a program you'd like to write, and write it. It will be rough going, but it's important to learn not only the incantations, but also when each one is appropriate. There are plenty of sources for the former, but I haven't ever found a good tutorial (in any field) for the latter.

In your case, you will probably want to pick some small thing that you want to be different about the program you have, and then figure out how to make that happen.

Thanks for the help everyone!..I am looking forward to the challenge
Use the academic resources that are available on the web.

MIT's OpenCourseWare has tons of content on there. I haven't used it for anything except SICP, but you should be able to find some relevant material: http://ocw.mit.edu/

Google recently opened up Google Code University. They seem to have a lot of tutorials on there. http://code.google.com/edu

Also, I found this professor's lectures pretty amusing: http://www.youtube.com/watch?v=hE7l6Adoiiw&feature=PlayL...

There's tons more out there. Good luck!