I would like to learn programming but haven't been able to get started. Advice appreciated, both high-level (you should try learing language X) and low level (you can find a program that will run language X here), the latter has been a particular problem for me, I don't really know how this sort of thing works.
I am currently studying maths and physics, and I have a particular talent for the former, so I would probably do well with a language that plays to that strength. My only actual experience with programming was when my father let me play around with Jython a bit when I was about 13, I had some fun calculating prime numbers and approximating pi but never got any farther.
Thanks in advance for all suggestions.
I'm a student of computer science and a professional programmer who has learned from reading SICP among many other sources, but I don't recommend that route for a novice that does not actively seek and enjoy reading mathy textbooks. I prefer fun, interactive, and game like learning, and you probably do to.
You: I want to learn to program...but I'm too lazy/shy to download anything, or even look at a book - even if its online. But I guess if the computer basically talks to me and walks me through things (interactively in the browser!)...then I might spare 20+ minutes. Me: http://tryruby.org/ Stop reading this and click it. You: Uh, first I want to see what else you have to say...and look at some other comments, and do my job or something. Me: Nope. Stop what you are doing right now and click the link. Life can wait.
You: Wow. That wasn't that bad. Ok, fine, I'll look at a book...as long as it's online, and free, and it lets me test and experiment with what it's teaching me without leaving the page. Me: http://eloquentjavascript.net/
You: Ok, that's pretty amazing. I never knew it would by that easy to dive into this stuff - with just this knowledge I can already write a complete interactive website - I mean, ruby and javascript are all twitter had to work with and look at them now! But I feel like I'm still mostly just learning to program and I yearn for more. I want to grok the deep structure of procedures and computation. What should I do? Me: http://icampus.mit.edu/xtutor/content/?6001publichints Now that you've gotten over your activation energy hurdle, it is time to unlock the sacred power of SICP - except with this site (made for the author's class) the slides talk to you and the problems check themselves. I also do highly recommend the actual book and lectures (available online for free). And for maximal learning you should download and play with a scheme interpreter outside of the site, even though you don't need to.
You: Ok, you win. I'm now well on the path to being the next Jeff Dean (http://www.quora.com/What-are-all-the-Jeff-Dean-facts). Anything else I should know about? Me: Since you asked so nicely...if you like zombies, here's a decent video introduction to a web framework with videos and checked problems http://railsforzombies.org/ And here's a great way to play around with basic programming, and if you give it to a kid they might figure it out before you do: http://scratch.mit.edu/ Let me know if you find anything else in this vein, and pass it along.
You: Thanks, will do! exit(0)