I completely agree with you: the easiest way to start programming is go grab some tutorials. I did just the opposite to learn C++ when I was in school: I searched how to set up my environment. Then I learned the syntax of the language. And then I opened a C++ template and asked myself: "Ok, I know how to do loops, create variables, assign, arithmetic operations, functions... What the hell do I do now?" I don't know if "For Dummies" books are good (never read one of them), but I suppose any book will be OK as long as it teachs you the basics and leaves you ready to dig deeper in the language.<p>About the language to begin with... well, I started with C++ and I'm still alive. There are maybe easier languages, but I don't think that does really make a difference if you have a good guide to get you started.<p>If you want to continue programming in one language, once you have a basic idea I reccomend to start building things. Whatever it is. If you have any doubts, search Google. Any basic question has been probably asked before. If it's not, StackOverflow is your friend.<p>Last, when you feel comfortable with the language, grab a reference book/web and keep it. I don't recommend getting one of these when you're just starting because those books dig deep in the language, and it's hard to understand a concrete thing if you don't have prior, strong knowledge on other features of the language.<p>With this reference you can solve a simple doubt just taking a look, and you can also learn new things (and strengthen your knowledge on the things you already knew) just by reading it. In my case (I'm a WP7 developer) I have the MSDN .NET documentation and a C# In A Nutshell book. Reading this last book I've learned a lot of things that don't appear so easily on the internet (never heard of yield-return until I read this book, and it's really great). It's from O'Reilly editorial which, by the way, is the best for me in this kind of programming/reference books.
If I could tell my 17-year-old self (who had already learned a high-school-friendly subset of C++, SQL, and a scripting language or two) the fastest accelerator for learning general programming concepts, I'd say learn a form of Lisp. I started by doing some of the 99 Lisp Problems ( <a href="http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html" rel="nofollow">http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/func...</a> ) and then took a class in my Master's program that taught with Paradigms of Artificial Intelligence Programming by Norvig. I like functional programming in general because I haven't found a simpler way to represent certain types of sophisticated algorithms like searches, sorts, pattern matching, etc. You may want to try it out and see if you like the style.
Hey everyone,<p>Thank you guys so much for the feedback. I didn't know if I should be making the blog more techy about my experiences as a programming at 17. Or my high school/startup experiences. Any ideas?<p>@benjlang I did change my twitter name. I wasn't really expecting anyone to follow me, but I guess now would be the best time to change my name. It is @Spshulem (It was recently Shuby_Doo, my nickname), feel free to follow :).<p>@andrewcooke I will be crediting the photos and doing that, I simply forgot when writing this post, thank you for telling me.<p>Any ideas on fixing the loading of the site for you guys? Or is it working again? It seems to load fine for me now.
I'm 21, admittedly not much older than you. Incidentaly 17 is also the year when I really started programming (I had fiddled in html/css and php before that).<p>What I found that is that learning tend to accelerate. The more you know, you faster you'll learn new things. So go out and learn, anything, it doesn't matter. Don't get bogged (like me) on searching for the perfect language or framework or whatever.<p>Also, build things. For some reason I'm very appealed by the idea that you can learn something out of a book. But looking back, doing stuff is always the best learning experience, and it also tends to stick a lot better.
Hey guys!<p>Thank you guys so much for the support and tips. I tried to follow what I heard from you guys and made a new blog about my tech and programming, not so much about me being in high school and being a teenager trying to work with adults.<p>So check out my latest post! Tell me what you guys think: <a href="http://shsceo.com/2012/08/18/starting-my-first-programming-project/" rel="nofollow">http://shsceo.com/2012/08/18/starting-my-first-programming-p...</a>
<a href="http://learnpythonthehardway.org/" rel="nofollow">http://learnpythonthehardway.org/</a><p>There's a free HTML book. I used it in a class at my hackerspace. I also taught CS 101/102 as a grad student. Learn Python the Hard Way is a very good beginner text. Do as it says, and it will teach you the game inside the game of programming. (For beginners that's the Edit-Test-Debug cycle.)
Good on ya for putting yourself out there.<p>Your blog could be interesting, especially if you can talk about programming projects that worked and didn't work for you.<p>(Your hosting service doesn't have the mojo to appear on the front door of HN.)
I used GoSquared(.com) to see where all of you guys are viewing from. It's really interesting: <a href="http://cl.ly/image/323G26341W3e" rel="nofollow">http://cl.ly/image/323G26341W3e</a>
It takes guts to put yourself out there, so I appreciate the bravery, but the content quality is pretty sub-par. Compare to /r/learnprogramming's FAQ:<p><a href="http://www.reddit.com/r/learnprogramming/faq#HowdoIgetstartedwithprogramming" rel="nofollow">http://www.reddit.com/r/learnprogramming/faq#HowdoIgetstarte...</a><p>Keep writing, though! It's completely okay to write articles over subjects that have been discussed to death; they make for good practice. However, submitting those types of articles here is generally discouraged (unless you offer a truly unique perspective on the issue)