I started tinkering with computers at age 8, so I can relate to you very well.<p>At your age, I would start by installing a Linux distro of your choice (if you haven't done that first). Ubuntu is pretty easy to setup if you are a complete beginner.<p>Why use Linux?<p>You should start tinkering with Linux, because it is the most common development environment used.<p>Using Linux will allow you to learn basic troubleshooting and debugging. Those two skills are necessary if you desire to build any kind of application.<p>Linux will also allow you to try out different languages with a simple command (such as sudo apt-get install clojure1.2 (which I did two hours before writing this post)).<p>Then you can pick a language to learn the basics. By basics I mean how to write variables, functions, etc. A nice language to learn this is python, because it has a very simple syntax (syntax is how a language is written (like the difference between written English and written French)).<p>After learning how to write the basics, you should decide on a simple project to work on. One project that I reccomend beginners is to do a simple Rock/Paper/Scissors game. Focus on making it work, then focus on making it play against itself.
This exercise will allow you to see your code work, and will keep you busy for a couple of days.<p>After that, you should head out and build a web app. Anything is fine, but a good project to start with a simple blog. You can use Python, but PHP is simpler to run, and is super simple to setup on your computer, thanks to a program called XAMPP (look it up, and install it).
With PHP you can do all sorts of things. From calculators, to message forums, to whatever you desire.
You can also pick an existing app and try to copy it. One fun project would be to copy hacker news, and adapt it to whatever topic you'd like.
Or even build your own basic facebook, or a simple search engine. Try and build existing stuff.<p>One great thing about web apps, is that you can also learn to code various languages that interact with each other. You can mix PHP (or any other server side language) with javascript ( client side language (client means that it runs on your web browser and not on the server)).<p>At this moment, you should be pretty good at the basics, and may be ready to explore other more complex stuff. Maybe pick up a LISP-type of language. Or maybe you could try an polish your javascript skills. Who knows?<p>Here are some other pointers:<p>You should not limit yourself to one platform, one language.<p>Learning how to program takes years, not because writing the code is hard, but because designing real applications that work is quite difficult. This is the engineering side of it (and where most people fail, and/or quit).<p>Don't be afraid to try new (to you) things. You broke Linux/Windows? Who cares! Re-install and try again.<p>I started to tinker with computers at age 8. Took me years before I could even write coherent code (though I still wonder if my code is coherent). Yet, I'm here, enjoying it.<p>One final note: Don't quit. Quitting will make the biggest diference in your life. Keep going, even if slowly. You will get it.<p>Good luck!<p>My best,<p>code pockets