The previous chart helped beginners pick a language, this one shows them what resources to use to learn it. It’s better to spend time doing things than to passively read or watch content, so I selected interactive websites, books and courses. Start by going through an online tutorial, and then either read through some of a book or watch an online course. Personally I think a book is better than a video since they’re more concise and easier to reference, but most videos below are short and to the point. The chart is based on these posts: Picking a Language, General Tips, Java and Python, Web: HTML Javascript and PHP, Learning Ruby and Rails
Free Resources For Learning a Programming Language
| Java | Python | Ruby | Javascript | |
| Good For Kids / Game Programming | Greenfoot | Invent Your Own Computer Games | Hackety-Hack, Games: Ruby4Kids | CodeAvengers |
| Interactive Tutorial – Codecademy? | No, You can try Programr | Yes | Yes, there’s also TryRuby |
Yes |
| More Practice and Help | CodingBat Problems | Visualize Python executing (also CodingBat) |
RubyMonk* (1st part is free) |
Use Firebug or Developer Tools. (See Waterbear for visual coding) |
| Good Free Book for Teaching Programming | How to Think Like a Computer Scientist | How to Think Like a Computer Scientist | Learn to Program Humble Little Ruby Book |
Eloquent Javascript |
| Interactive Video Course | Intro to CompSci - Programming methodology (Warning: full Stanford course) |
Udacity – Intro to CompSci – Building a Search Engine | CodeSchool’s RubyBits* | .AppendTo Javascript 101 |
| Advanced Book | Effective Java* | Dive Into Python 3 | Pickaxe Guide* | JavaScript: The Definitive Guide* |
| More Training / Bootcamps | See Local / Online colleges | See online courses or corporate PythonTraining | Most Bootcamps are for Ruby on Rails | Catalyst. For kids: CodeHS.com |
* Not free. Update: added affiliate code to Amazon links.
See also: the Zappable Guide to Finding a Web Host.
How to Think Like a Computer Scientist is a fantastic book. That’s how I got started, and I recommend it to everyone.
title -> *language
Title Fixed. Thanks.
A really great compilation. I am bookmarking this.
Thanks for the mention of my site! The CodeAvengers courses target the total beginner. Yes, we have put a focus on making the lessons fun for high school kids… but our main focus is on delivering high quality effective lessons. We have been getting lots of fantastic feedback from people who have struggled with all sorts of approaches to learning (including trying CodeCademy) but finally feel they are learning with CodeAvengers. It may look like a CodeCademy clone, but trust me there are hundreds of hours of careful thought that has gone into the design of the course material and framework.
A tad surprised you didn’t mention Ruby Koans up there. http://www.rubykoans.com/
I thought it might be slightly confusing for a beginner, and that they should get experience creating more code at once.
Looks great, thanks!
This is a very cool list. I’d suggest adding Learn Python the Hard Way by Zed A. Shaw, I believe he also has Learn Ruby the Hard Way and I vaguely remember reading something about the possibility of a Learn Java the Hard Way book. All of the Code the Hard Way books are freely accessible for the HTML versions, I think some/all have PDFs you can buy. You can access the books through learncodethehardway.org
Thanks! As I commented on Hacker News, I think the books I put offer a more interactive approach.
http://news.ycombinator.com/item?id=4822907
Thanks for attaching hacker new link, it provides more insight and helpful comment on topic. I love to read discussion on reddit and hacker news Java
Thanks everyone for all the visits, feedback and votes! The post reached the front page of Hacker News and Reddit.
http://news.ycombinator.com/item?id=4822907
http://www.reddit.com/r/programming/comments/13oj4t/learn_programming_in_java_python_ruby_or/
1.5 days after posting, I figured I should add some Amazon affiliate links, but I hope that won’t bias me!
[...] of good helpful information, especially for JavaScript at http://www.zappable.com/2012/11/chart-for-learning-a-programming-langauge/ Start by going through an online tutorial, and then either read through some of a book or watch [...]
I really love the information you’ve shared with us. I am planning for a venture to start teaching Programming Languages online. This chart is gonna be a real boon for me.
Would love to hear your ideas for what you plan to do… send me a message mike at codeavengers dot com! If there is anything I can do to help would love to.
Hello, sir i would like to ask that what is the scope of java training, what all topics should be covered and it is kinda bothering me … and has anyone studies from this course http://www.wiziq.com/course/1779-core-and-advance-java-concepts of core and advance java online ?? or tell me any other guidance…
would really appreciate help… and Also i would like to thank for all the information you are providing on java concepts.