A tutorial and reference to the object-oriented programming language for beginning to experienced programmers, updated for version 1.9, describes the language's structure, syntax, and operation, and explains how to build applications.
Sandy Metz's new book on advanced object oriented design in Ruby is amazing and a fun read (http://www.poodr.info/book/)
And Michael Hartl's online Rails tutorial is in my opinion the best place to learn Rails from beginning concepts to advanced strategies (http://ruby.railstutorial.org/)
A great second book (maybe even first if you're comfortable enough learning basic syntax on your own) is Eloquent Ruby by Russ Olsen.
- http://pragprog.com/book/ruby3/programming-ruby-1-9 - http://pragprog.com/book/rails4/agile-web-development-with-r...
Read them in that order so that you learn Ruby first. After that your'll want to polish your Ruby and Rails idioms with:
- http://www.amazon.com/gp/product/0672328844 - http://www.amazon.com/gp/product/0321601661
Enjoy!
I can tell you it isn't easy, but its worth it. I'm better at my job because I now can study the product line by line, and I am also able to script mundane tasks like lead gathering via web scraping.
But -- once again, it's not easy or quick to do it right -- get ready for a marathon and befriend as many people at local user groups as possible. Even people working in langages you don't plan on learning and in industries you'll never go in to (you never really know what languages or industries you'll be working in 10 years later anyway). I wouldn't be able to do it without the input of my local ruby group, my coworkers, and some friends I met at our office space at a mid-sized coworking facility.
To answer a potential next question: the resources I've been using/have in my queue are as follows (keep in mind I've been trying to learn full stack web dev rather than just one language):
For Ruby/Rails:
-Agile web dev with rails (practically required these days)
-Code School's Rails for Zombies (Amazing, free, and the right amount of tough for a newbie -- I plan on buying their Jquery lineup soon)
-Michael Hartl's Rails Tutorial Screencasts (I'm definitely a video guy, and you get a discount for completing R4Z)
-Crafting Rails Applications (Takes your perception of rails to another level)
-Programming Ruby 1.9 (You'll have to learn Ruby eventually, might as well learn from one of the best)
-Ruby Best Practices (Its free, darn good, and Greg Brown's a pretty cool dude from what I can gather)
-The Ruby5 podcast (It's 5 minutes, and gives you a great survey of all of the cool widget gems and the large development undertakings within the community)
-Ruby Rogues Podcast (I know one of the brains behind this podcast, so I listen. It's 75% over my head, but the 25% I do get is amazing.)
-Everyday scripting with Ruby (This book is for the audience that the author of this article describes. If you have an annoying, repeated task you're doing, make the computer do the heavy lifting.)
Non-Rails/Ruby:
-Carsonified's ThinkVitamin Membership (Absolutely the best tutorial vids I've ever seen. Short, clear, info heavy, and very quickly retained. I feel like I'm in The Matrix when I'm watching their stuff. There's actually some good stuff for Sinatra, Django, and WordPress here too)
-PG's On Lisp (I have no intention of building Lisp applications, but the book is amazingly written, and interlaced with PG's manifesto for quick, high quality development. Lisp is his weapon of choice but many of the principles here are rock solid regardless of the medium the artist chooses. Plus it's free.)
-5by5 Podcasts, particularly "Lets Make Mistakes" (They're design podcasts, and the professional design industry is particularly adept and finding client and consumer "pains" and fixing them. Plus, you will eventually have to make your products not look like crap)
I apologize for the long post, but if I were reading this thread 6-8 months ago, I would've killed for a list like this. To the "biz guys" looking to learn: you can't go wrong, in my opinion, with the above list at all. If you're low on cash, some of these resources are free, but every dollar I've paid has been money very well spent.
Now for a language recommendation. I am a Ruby programmer, so I've got a pretty heavy lean towards that.
Ruby is an exceptionally easy language to learn. There's a book called Learn to Program written by Chris Pine (http://pine.fm/LearnToProgram/) which is an amazing beginning to getting into Ruby.
Past that, there's the Well-Grounded Rubyist by David A. Black (http://manning.com/black2) which covers all the things from basic Ruby up to medium-advanced levels of Ruby). There's also Programming Ruby 1.9 by the Pragmatic Programmers (http://pragprog.com/titles/ruby3/programming-ruby-1-9)
If you want to brush up your Ruby skills, the Ruby Koans (http://rubykoans.com/) are also pretty good.
If you're looking to get into web development (well, you ARE on the internet!) then I would recommend learning HTML and CSS with a book such as HTML 5 and CSS 3 by Brian Hogan (http://pragprog.com/titles/bhh5/html5-and-css3). Then a good JavaScript book, perhaps something like JavaScript: The good parts (http://oreilly.com/catalog/9780596517748).
After learning as much of those as you can, familarize yourself with Git by reading the Pro Git book by Scott Chacon (http://progit.org/), or if you choose another version control piece of software (Mercurial, Bazaar are good, SVN isn't and CVS is (I'm pretty sure) the work of demons).
Ah and before I forget, I've got The Developers Code (http://www.thedeveloperscode.com/) bookmarked for late-night reading and I'm quite enjoying it so far. Quite a lot of lessons in there that I have learned over my brief career, but ones I knew from the beginning.
One more final thing: you are new here and people will treat you like that. Be nice to them and they will be plenty nice back. Respect the fact that they have limited patience and may not wish to answer your questions eternally. They may also have other people asking them questions at the same time you are, or have other things they would like to be doing.
You will get better with practice. You show a keen want to learn, which is a great start. Never give it up. Nothing is "too hard" forever. Persist, and for the love of god, practice.
The Railscasts are a great resource as well - http://railscasts.com/episodes/archive
And a good starting resource for Ruby is the pickaxe book - http://www.amazon.com/Programming-Ruby-1-9-Pragmatic-Program...